| from datetime import tzinfo, timedelta |
| |
| |
| class TomlTz(tzinfo): |
| def __init__(self, toml_offset): |
| if toml_offset == "Z": |
| self._raw_offset = "+00:00" |
| else: |
| self._raw_offset = toml_offset |
| self._sign = -1 if self._raw_offset[0] == '-' else 1 |
| self._hours = int(self._raw_offset[1:3]) |
| self._minutes = int(self._raw_offset[4:6]) |
| |
| def tzname(self, dt): |
| return "UTC" + self._raw_offset |
| |
| def utcoffset(self, dt): |
| return self._sign * timedelta(hours=self._hours, minutes=self._minutes) |
| |
| def dst(self, dt): |
| return timedelta(0) |