Python Forum

Full Version: small code for sampel asn1ate
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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

# 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)))
)