# -*- coding: utf-8 -*-# pylint: disable=line-too-long,consider-using-f-string"""Mobile Node Identifier Option Subtypes============================================.. module:: pcapkit.const.mh.mn_id_subtypeThis module contains the constant enumeration for **Mobile Node Identifier Option Subtypes**,which is automatically generated from :class:`pcapkit.vendor.mh.mn_id_subtype.MNIDSubtype`."""fromaenumimportIntEnum,extend_enum__all__=['MNIDSubtype']
[docs]classMNIDSubtype(IntEnum):"""[MNIDSubtype] Mobile Node Identifier Option Subtypes"""#: NAI [:rfc:`4283`]NAI=1#: IPv6 Address [:rfc:`8371`]IPv6_Address=2#: IMSI [:rfc:`8371`]IMSI=3#: P-TMSI [:rfc:`8371`]P_TMSI=4#: EUI-48 address [:rfc:`8371`]EUI_48_address=5#: EUI-64 address [:rfc:`8371`]EUI_64_address=6#: GUTI [:rfc:`8371`]GUTI=7#: DUID [:rfc:`8371`]DUID=8@staticmethoddefget(key:'int | str',default:'int'=-1)->'MNIDSubtype':"""Backport support for original codes. Args: key: Key to get enum item. default: Default value if not found. :meta private: """ifisinstance(key,int):returnMNIDSubtype(key)ifkeynotinMNIDSubtype._member_map_:# pylint: disable=no-memberreturnextend_enum(MNIDSubtype,key,default)returnMNIDSubtype[key]# type: ignore[misc]
[docs]@classmethoddef_missing_(cls,value:'int')->'MNIDSubtype':"""Lookup function used when value is not found. Args: value: Value to get enum item. """ifnot(isinstance(value,int)and0<=value<=255):raiseValueError('%r is not a valid %s'%(value,cls.__name__))if9<=value<=15:#: Reserved [:rfc:`8371`]returnextend_enum(cls,'Reserved_%d'%value,value)if16<=value<=255:#: Unassignedreturnextend_enum(cls,'Unassigned_%d'%value,value)returnsuper()._missing_(value)