MCPcopy Create free account
hub / github.com/PierreGode/Ragnar / ChoiceEncoder

Class ChoiceEncoder

pager_lib/pyasn1/codec/ber/encoder.py:715–730  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

713
714
715class ChoiceEncoder(AbstractItemEncoder):
716 def encodeValue(self, value, asn1Spec, encodeFun, **options):
717 if asn1Spec is None:
718 component = value.getComponent()
719 else:
720 names = [namedType.name for namedType in asn1Spec.componentType.namedTypes
721 if namedType.name in value]
722 if len(names) != 1:
723 raise error.PyAsn1Error('%s components for Choice at %r' % (len(names) and 'Multiple ' or 'None ', value))
724
725 name = names[0]
726
727 component = value[name]
728 asn1Spec = asn1Spec[name]
729
730 return encodeFun(component, asn1Spec, **options), True, True
731
732
733class AnyEncoder(OctetStringEncoder):

Callers 1

encoder.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected