summaryrefslogtreecommitdiff
path: root/pyasn1/codec/ber/encoder.py
diff options
context:
space:
mode:
authorelie <elie>2011-02-17 17:24:49 +0000
committerelie <elie>2011-02-17 17:24:49 +0000
commit3360cd60f9bcc04bf80894aa9826d8670484b9f5 (patch)
tree1e21a0120858a17260619fae7b8ec48f33556dc2 /pyasn1/codec/ber/encoder.py
parentd4dcc2f2670eaaa75a4c0347d5171bddeed3cdb9 (diff)
downloadpyasn1-3360cd60f9bcc04bf80894aa9826d8670484b9f5.tar.gz
a bunch of changes related to Any type support re-implementation
* the typeMap term replaced with tagMap to better distinguish tags from types * tagMap concept is now implemented as a specialized, dictionary-like, object rather than pure dictionary * decodeValue() methods now have access to original substrate (to be able to embed full encoding)
Diffstat (limited to 'pyasn1/codec/ber/encoder.py')
-rw-r--r--pyasn1/codec/ber/encoder.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/pyasn1/codec/ber/encoder.py b/pyasn1/codec/ber/encoder.py
index d7c749a..d2a55d0 100644
--- a/pyasn1/codec/ber/encoder.py
+++ b/pyasn1/codec/ber/encoder.py
@@ -157,7 +157,7 @@ class ObjectIdentifierEncoder(AbstractItemEncoder):
index = 0
subid = oid[index] * 40
subid = subid + oid[index+1]
- if 0 > subid > 0xff:
+ if subid < 0 or subid > 0xff:
raise error.PyAsn1Error(
'Initial sub-ID overflow %s in OID %s' % (oid[index:], value)
)
@@ -218,7 +218,9 @@ class ChoiceEncoder(AbstractItemEncoder):
def encodeValue(self, encodeFun, value, defMode, maxChunkSize):
return encodeFun(value.getComponent(), defMode, maxChunkSize), 1
-class AnyEncoder(OctetStringEncoder): pass
+class AnyEncoder(OctetStringEncoder):
+ def encodeValue(self, encodeFun, value, defMode, maxChunkSize):
+ return str(value), defMode == 0
tagMap = {
eoo.endOfOctets.tagSet: EndOfOctetsEncoder(),