X-Git-Url: http://www.git.cypherpunks.ru/?p=pyderasn.git;a=blobdiff_plain;f=pyderasn.py;h=0c2c2ee44d1fff5f4b664427124f8f0d41caaa81;hp=476e4e8bd7d60a1b174276fbeb99c4c3366c130d;hb=a3d3be6767ec310b97f6ae55921c76ba8894d14b;hpb=1d553e0c1bbb7639409b846fe65711ca1fb00105 diff --git a/pyderasn.py b/pyderasn.py index 476e4e8..0c2c2ee 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -717,7 +717,7 @@ class Obj(object): def decoded(self): """Is object decoded? """ - return self.llen > 0 + return (self.llen + self.vlen) > 0 def copy(self): # pragma: no cover """Make a copy of object, safe to be mutated @@ -735,6 +735,24 @@ class Obj(object): def __str__(self): # pragma: no cover return self.__bytes__() if PY2 else self.__unicode__() + def __eq__(self, their): # pragma: no cover + raise NotImplementedError() + + def __ne__(self, their): + return not(self == their) + + def __lt__(self, their): # pragma: no cover + raise NotImplementedError() + + def __gt__(self, their): # pragma: no cover + return not(self < their) + + def __le__(self, their): # pragma: no cover + return (self == their) or (self < their) + + def __ge__(self, their): # pragma: no cover + return (self == their) or (self > their) + def _encode(self): # pragma: no cover raise NotImplementedError() @@ -1327,10 +1345,7 @@ class Integer(Obj): ) def __lt__(self, their): - return self._value < their - - def __gt__(self, their): - return self._value > their + return self._value < their._value @property def named(self): @@ -1946,6 +1961,9 @@ class OctetString(Obj): self._expl == their._expl ) + def __lt__(self, their): + return self._value < their._value + def __call__( self, value=None, @@ -2313,10 +2331,7 @@ class ObjectIdentifier(Obj): ) def __lt__(self, their): - return self._value < their - - def __gt__(self, their): - return self._value > their + return self._value < their._value def __call__( self,