Jul-26-2022, 10:48 AM
Hi I'm a fresh in python, could someone help me to write a code for asn1 file parser I've already generated class for such ASNdecoder, what I need is to parser a files from directory and write it from the suffix completed
I would recommend json output format
I would recommend json output format
# Auto-generated by asn1ate v.0.6.1.dev0 from source.asn1 # (last modified on 2022-07-25 22:41:01.294738) # VR from pyasn1.type import univ, char, namedtype, namedval, tag, constraint, useful class MeasType(char.PrintableString): pass MeasType.subtypeSpec = constraint.ValueSizeConstraint(1, 32) class MeasObjInstId(char.PrintableString): pass MeasObjInstId.subtypeSpec = constraint.ValueSizeConstraint(1, 64) class MeasResult(univ.Choice): pass MeasResult.componentType = namedtype.NamedTypes( namedtype.NamedType('iValue', univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(0, 4294967295)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('rValue', univ.Real().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.NamedType('noValue', univ.Null().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))) ) class MeasValue(univ.Sequence): pass MeasValue.componentType = namedtype.NamedTypes( namedtype.NamedType('measObjlnstld', MeasObjInstId().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('measResults', univ.SequenceOf(componentType=MeasResult()).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.DefaultedNamedType('suspectFlog', univ.Boolean().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2)).subtype(value=0)) ) class TimeStamp(useful.GeneralizedTime): pass class MeasInfo(univ.Sequence): pass MeasInfo.componentType = namedtype.NamedTypes( namedtype.NamedType('measStortTime', TimeStamp().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('gronularityPeriod', univ.Integer().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.NamedType('measTypes', univ.SequenceOf(componentType=MeasType()).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))), namedtype.NamedType('measValues', univ.SequenceOf(componentType=MeasValue()).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))) ) class NEId(univ.Sequence): pass NEId.componentType = namedtype.NamedTypes( namedtype.NamedType('nEUserName', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(0, 64)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('nEDistinguishedNome', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(0, 400)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) ) class MeasData(univ.Sequence): pass MeasData.componentType = namedtype.NamedTypes( namedtype.NamedType('nEId', NEId().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.NamedType('measInfo', univ.SequenceOf(componentType=MeasInfo()).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) ) class MeasFileFooter(TimeStamp): pass class SenderType(char.PrintableString): pass SenderType.subtypeSpec = constraint.ValueSizeConstraint(0, 8) class MeasFileHeader(univ.Sequence): pass MeasFileHeader.componentType = namedtype.NamedTypes( namedtype.NamedType('fileFormotVersion', univ.Integer().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('senderName', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(0, 400)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.NamedType('senderType', SenderType().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))), namedtype.NamedType('vendorName', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(0, 32)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))), namedtype.NamedType('collectionBeginTime', TimeStamp().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 4))) ) class MeasDataCollection(univ.Sequence): pass MeasDataCollection.componentType = namedtype.NamedTypes( namedtype.NamedType('measFileHeader', MeasFileHeader().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.NamedType('measData', univ.SequenceOf(componentType=MeasData()).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.NamedType('measFileFooter', MeasFileFooter().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))) )