X-Git-Url: http://www.git.cypherpunks.ru/?p=pyderasn.git;a=blobdiff_plain;f=pyderasn.py;h=3eb10715ed1400a0bd3c55dccd71419a46e7c499;hp=82021efab0391507dfda7e3d53402d71850cc037;hb=43726ca738a6ba3f16ae484d8fa4f1a6b89cbaf1;hpb=c6cf876ed3979538eeb0f0df60512c3feedb4715 diff --git a/pyderasn.py b/pyderasn.py index 82021ef..3eb1071 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -971,12 +971,12 @@ _____________ UTCTime _______ .. autoclass:: pyderasn.UTCTime - :members: __init__, todatetime + :members: __init__, todatetime, totzdatetime GeneralizedTime _______________ .. autoclass:: pyderasn.GeneralizedTime - :members: __init__, todatetime + :members: __init__, todatetime, totzdatetime Special types ------------- @@ -1181,9 +1181,9 @@ except ImportError: # pragma: no cover return what try: - from dateutil.tz import tzutc + from dateutil.tz import UTC as tzUTC except ImportError: # pragma: no cover - tzutc = None + tzUTC = "missing" __version__ = "9.1" @@ -5038,6 +5038,8 @@ class UTCTime(VisibleString): datetime.datetime(2017, 9, 30, 22, 7, 50) >>> UTCTime(datetime(2057, 9, 30, 22, 7, 50)).todatetime() datetime.datetime(1957, 9, 30, 22, 7, 50) + >>> UTCTime(datetime(2057, 9, 30, 22, 7, 50)).totzdatetime() + datetime.datetime(1957, 9, 30, 22, 7, 50, tzinfo=tzutc()) If BER encoded value was met, then ``ber_raw`` attribute will hold its raw representation. @@ -5248,11 +5250,10 @@ class UTCTime(VisibleString): return self._value def totzdatetime(self): - if tzutc is None: - raise NotImplementedError( - "Package python-dateutil is required to use this feature", - ) - return self._value.replace(tzinfo=tzutc()) + try: + return self._value.replace(tzinfo=tzUTC) + except TypeError as err: + raise NotImplementedError("Missing dateutil.tz") from err def __repr__(self): return pp_console_row(next(self.pps()))