| 54 | |
| 55 | |
| 56 | class ChoicePayloadDecoder(object): |
| 57 | def __call__(self, pyObject, asn1Spec, decodeFun=None, **options): |
| 58 | asn1Value = asn1Spec.clone() |
| 59 | |
| 60 | componentsTypes = asn1Spec.componentType |
| 61 | |
| 62 | for field in pyObject: |
| 63 | if field in componentsTypes: |
| 64 | asn1Value[field] = decodeFun(pyObject[field], componentsTypes[field].asn1Object, **options) |
| 65 | break |
| 66 | |
| 67 | return asn1Value |
| 68 | |
| 69 | |
| 70 | TAG_MAP = { |