from functools import cached_property
from . import _support as test_support
-from ._support import (
- OS_ENV_LOCK,
- TZPATH_LOCK,
- TZPATH_TEST_LOCK,
- ZoneInfoTestBase,
-)
+from ._support import OS_ENV_LOCK, TZPATH_TEST_LOCK, ZoneInfoTestBase
py_zoneinfo, c_zoneinfo = test_support.get_modules()
self.assertEqual(dt.dst(), offset.dst, dt)
def test_folds_from_utc(self):
- tests = []
for key in self.zones():
zi = self.zone_from_key(key)
with self.subTest(key=key):
# the Version 2+ file. In this case, we have no transitions, just
# the tzstr in the footer, so up to the footer, the files are
# identical and we can just write the same file twice in a row.
- for i in range(2):
+ for _ in range(2):
out += b"TZif" # Magic value
out += b"3" # Version
out += b" " * 15 # Reserved
return self.klass.from_file(zonefile, key=tzstr)
def test_tzstr_localized(self):
- i = 0
for tzstr, cases in self.test_cases.items():
with self.subTest(tzstr=tzstr):
zi = self.zone_from_tzstr(tzstr)
# not by position in the array but by position in the unsplit
# abbreviation string. I suppose this makes more sense in C, which uses
# null to terminate the strings, but it's inconvenient here...
- char_total = 0
abbr_vals = {}
abbr_chars = fobj.read(charcnt)
f"tzpaths must be a list or tuple, "
+ f"not {type(tzpaths)}: {tzpaths!r}"
)
- elif not all(map(os.path.isabs, tzpaths)):
+
+ if not all(map(os.path.isabs, tzpaths)):
raise ValueError(_get_invalid_paths_message(tzpaths))
base_tzpath = tzpaths
else:
import functools
import re
import weakref
-from datetime import datetime, timedelta, timezone, tzinfo
+from datetime import datetime, timedelta, tzinfo
from . import _common, _tzpath