]> Cypherpunks.ru repositories - pyderasn.git/blobdiff - pyderasn.py
Announcement template
[pyderasn.git] / pyderasn.py
index 476e4e8bd7d60a1b174276fbeb99c4c3366c130d..acf5fbe8174b3007e9399783dc3c996d4e505d00 100755 (executable)
@@ -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,18 @@ class Obj(object):
     def __str__(self):  # pragma: no cover
         return self.__bytes__() if PY2 else self.__unicode__()
 
+    def __ne__(self, their):
+        return not(self == their)
+
+    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 +1339,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 +1955,9 @@ class OctetString(Obj):
             self._expl == their._expl
         )
 
+    def __lt__(self, their):
+        return self._value < their._value
+
     def __call__(
             self,
             value=None,
@@ -2313,10 +2325,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,