summaryrefslogtreecommitdiffstats
path: root/pendulum/tz/zoneinfo/transition_type.py
blob: dd0a63468e4c437bf64a769824cf77a53e597fa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from datetime import timedelta

from pendulum.utils._compat import PY2
from pendulum.utils._compat import encode


class TransitionType:
    def __init__(self, offset, is_dst, abbr):
        self._offset = offset
        self._is_dst = is_dst
        self._abbr = abbr

        self._utcoffset = timedelta(seconds=offset)

    @property
    def offset(self):  # type: () -> int
        return self._offset

    @property
    def abbreviation(self):  # type: () -> str
        if PY2:
            return encode(self._abbr)

        return self._abbr

    def is_dst(self):  # type: () -> bool
        return self._is_dst

    def utcoffset(self):  # type: () -> timedelta
        return self._utcoffset

    def __repr__(self):  # type: () -> str
        return "TransitionType({}, {}, {})".format(
            self._offset, self._is_dst, self._abbr
        )