aboutsummaryrefslogtreecommitdiff
path: root/pyasn1/type/base.py
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2017-03-01 02:13:07 +0100
committerIlya Etingof <etingof@gmail.com>2017-03-01 02:13:07 +0100
commit01ae2f2183c5ba882849060a68e28715ffb2ae48 (patch)
treee053e803e04a7fc01196125db186b9faabb0ff00 /pyasn1/type/base.py
parent3636cfab0407307cd8707af106776cc954499db4 (diff)
downloadpyasn1-01ae2f2183c5ba882849060a68e28715ffb2ae48.tar.gz
more efficient constrains computation
Diffstat (limited to 'pyasn1/type/base.py')
-rw-r--r--pyasn1/type/base.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/pyasn1/type/base.py b/pyasn1/type/base.py
index f65db7e..f1fdb8b 100644
--- a/pyasn1/type/base.py
+++ b/pyasn1/type/base.py
@@ -37,13 +37,6 @@ class Asn1ItemBase(Asn1Item):
else:
self._subtypeSpec = subtypeSpec
- def _verifySubtypeSpec(self, value, idx=None):
- try:
- self._subtypeSpec(value, idx)
- except error.PyAsn1Error:
- c, i, t = sys.exc_info()
- raise c('%s at %s' % (i, self.__class__.__name__))
-
def getSubtypeSpec(self):
return self._subtypeSpec
@@ -172,7 +165,13 @@ class AbstractSimpleAsn1Item(Asn1ItemBase):
value = self.defaultValue
else:
value = self.prettyIn(value)
- self._verifySubtypeSpec(value)
+ try:
+ self._subtypeSpec(value)
+
+ except error.PyAsn1Error:
+ exType, exValue, exTb = sys.exc_info()
+ raise exType('%s at %s' % (exValue, self.__class__.__name__))
+
self.__hashedValue = None
self._value = value
self._len = None