summaryrefslogtreecommitdiff
path: root/pyasn1/type/base.py
diff options
context:
space:
mode:
authorelie <elie>2015-06-06 08:37:12 +0000
committerelie <elie>2015-06-06 08:37:12 +0000
commitfe784bc6e56bcd75d613b01f9d2d912a32f2dce2 (patch)
treecdfc0b8d3ba553b9b790b1171e58448fbbd10d02 /pyasn1/type/base.py
parent17b8d1d5f880d959a47f562238a91a7bf6a040af (diff)
downloadpyasn1-fe784bc6e56bcd75d613b01f9d2d912a32f2dce2.tar.gz
Asn1Item.hasValue() added to easily distinguish initalized ASN.1 objects
from uninitialized ones (e.g. pure pyasn1 types)
Diffstat (limited to 'pyasn1/type/base.py')
-rw-r--r--pyasn1/type/base.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/pyasn1/type/base.py b/pyasn1/type/base.py
index 600ae98..155ed74 100644
--- a/pyasn1/type/base.py
+++ b/pyasn1/type/base.py
@@ -101,6 +101,9 @@ class AbstractSimpleAsn1Item(Asn1ItemBase):
def __bool__(self): return bool(self._value)
def __hash__(self): return self.__hashedValue
+ def hasValue(self):
+ return not isinstance(self._value, NoValue)
+
def clone(self, value=None, tagSet=None, subtypeSpec=None):
if value is None and tagSet is None and subtypeSpec is None:
return self
@@ -132,10 +135,10 @@ class AbstractSimpleAsn1Item(Asn1ItemBase):
def prettyOut(self, value): return str(value)
def prettyPrint(self, scope=0):
- if self._value is noValue:
- return '<no value>'
- else:
+ if self.hasValue():
return self.prettyOut(self._value)
+ else:
+ return '<no value>'
# XXX Compatibility stub
def prettyPrinter(self, scope=0): return self.prettyPrint(scope)