HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib64/python3.10/site-packages/pendulum/tz/zoneinfo/transition_type.py
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
        )