Completed
Push — master ( bf8671...1ef08e )
by Ramon
28s queued 12s
created

default_zone_info_deserializer()   A

Complexity

Conditions 2

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 9
rs 10
c 0
b 0
f 0
cc 2
nop 3
1
from jsons.exceptions import JsonsError
2
3
try:
4
    from zoneinfo import ZoneInfo
5
6
7
    def default_zone_info_deserializer(obj: ZoneInfo, *_, **__) -> ZoneInfo:
8
        """
9
        Deserialize a ZoneInfo.
10
        :param obj: a serialized ZoneInfo object.
11
        :return: an instance of ZoneInfo.
12
        """
13
        if not ZoneInfo:
14
            raise JsonsError('ZoneInfo is not available.')
15
        return ZoneInfo(obj['key'])
16
17
except ImportError:
18
    default_zone_info_deserializer = None
19