MCPcopy Create free account
hub / github.com/dateutil/dateutil / __init__

Method __init__

src/dateutil/zoneinfo/__init__.py:31–52  ·  view source on GitHub ↗
(self, zonefile_stream=None)

Source from the content-addressed store, hash-verified

29
30class ZoneInfoFile(object):
31 def __init__(self, zonefile_stream=None):
32 if zonefile_stream is not None:
33 with TarFile.open(fileobj=zonefile_stream) as tf:
34 self.zones = {zf.name: tzfile(tf.extractfile(zf), filename=zf.name)
35 for zf in tf.getmembers()
36 if zf.isfile() and zf.name != METADATA_FN}
37 # deal with links: They'll point to their parent object. Less
38 # waste of memory
39 links = {zl.name: self.zones[zl.linkname]
40 for zl in tf.getmembers() if
41 zl.islnk() or zl.issym()}
42 self.zones.update(links)
43 try:
44 metadata_json = tf.extractfile(tf.getmember(METADATA_FN))
45 metadata_str = metadata_json.read().decode('UTF-8')
46 self.metadata = json.loads(metadata_str)
47 except KeyError:
48 # no metadata in tar file
49 self.metadata = None
50 else:
51 self.zones = {}
52 self.metadata = None
53
54 def get(self, name, default=None):
55 """

Callers

nothing calls this directly

Calls 2

readMethod · 0.80
tzfileClass · 0.70

Tested by

no test coverage detected