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

jsons.deserializers.default_zone_info   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 10
dl 0
loc 19
rs 10
c 0
b 0
f 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A default_zone_info_deserializer() 0 9 2
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