X-Git-Url: http://www.git.cypherpunks.ru/?p=pyderasn.git;a=blobdiff_plain;f=pyderasn.py;h=1dbfce06b77ab0f939ade75300b0f1c5ed145637;hp=ea26eb036a4209c78b8b87921816579f2d182a54;hb=5e98515aa98abf6ad1f650078551e6543d431b99;hpb=ec180a333b81b220e5325bdba75dcbc44b4311c6 diff --git a/pyderasn.py b/pyderasn.py index ea26eb0..1dbfce0 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -690,7 +690,7 @@ except ImportError: # pragma: no cover def colored(what, *args, **kwargs): return what -__version__ = "6.1" +__version__ = "6.2" __all__ = ( "Any", @@ -765,15 +765,15 @@ EOC_LEN = len(EOC) LENINDEF = b"\x80" # length indefinite mark LENINDEF_PP_CHAR = "I" if PY2 else "∞" NAMEDTUPLE_KWARGS = {} if PY2 else {"module": __name__} -SET01 = frozenset(("0", "1")) +SET01 = frozenset("01") +DECIMALS = frozenset("0123456789") DECIMAL_SIGNS = ".," def pureint(value): - i = int(value) - if (value[0] in "+- ") or (value[-1] == " "): + if not set(value) <= DECIMALS: raise ValueError("non-pure integer") - return i + return int(value) def fractions2float(fractions_raw): pureint(fractions_raw)