Source code for pcapkit.const.pcapng.hash_algorithm
# -*- coding: utf-8 -*-# pylint: disable=line-too-long,consider-using-f-string"""Hash Algorithms=====================.. module:: pcapkit.const.pcapng.hash_algorithmThis module contains the constant enumeration for **Hash Algorithms**,which is automatically generated from :class:`pcapkit.vendor.pcapng.hash_algorithm.HashAlgorithm`."""fromaenumimportIntEnum,extend_enum__all__=['HashAlgorithm']
[docs]classHashAlgorithm(IntEnum):"""[HashAlgorithm] Hash Algorithms"""two_s_complement=0XOR=1CRC32=2MD_5=3SHA_1=4Toeplitz=5@staticmethoddefget(key:'int | str',default:'int'=-1)->'HashAlgorithm':"""Backport support for original codes. Args: key: Key to get enum item. default: Default value if not found. :meta private: """ifisinstance(key,int):returnHashAlgorithm(key)ifkeynotinHashAlgorithm._member_map_:# pylint: disable=no-memberreturnextend_enum(HashAlgorithm,key,default)returnHashAlgorithm[key]# type: ignore[misc]
[docs]@classmethoddef_missing_(cls,value:'int')->'HashAlgorithm':"""Lookup function used when value is not found. Args: value: Value to get enum item. """ifnot(isinstance(value,int)and0x00<=value<=0xFF):raiseValueError('%r is not a valid %s'%(value,cls.__name__))returnextend_enum(cls,'Unassigned_%d'%value,value)