| 109 | |
| 110 | |
| 111 | class DSTAwareTimezone(datetime.tzinfo): |
| 112 | def __init__(self, offset, name, dst_start_month, dst_end_month): |
| 113 | self.__offset = offset |
| 114 | self.__dst_start_month = dst_start_month |
| 115 | self.__dst_end_month = dst_end_month |
| 116 | self.__name = name |
| 117 | |
| 118 | def _is_dst(self, dt): |
| 119 | return self.__dst_start_month <= dt.month <= self.__dst_end_month |
| 120 | |
| 121 | def utcoffset(self, dt): |
| 122 | return datetime.timedelta(minutes=self.__offset) + self.dst(dt) |
| 123 | |
| 124 | def dst(self, dt): |
| 125 | if self._is_dst(dt): |
| 126 | return datetime.timedelta(hours=1) |
| 127 | return datetime.timedelta(0) |
| 128 | |
| 129 | def tzname(self, dt): |
| 130 | return self.__name |
| 131 | |
| 132 | |
| 133 | class TestBSON(unittest.TestCase): |
no outgoing calls