a àMÒe| ã@s„dZddlZddlZddlZddlZddlZddlZejjGdd„dej j ƒƒZ ejjGdd„de ƒƒZ ejjGdd„de ƒƒZ dS) zMX-like base classes.éNcsleZdZdZddgZ‡fdd„Zddd „Zedd d „ƒZdd d„Z eddd„ƒZ dd„Z edd„ƒZ ‡Z S)ÚMXBasez/Base class for rdata that is like an MX record.Ú preferenceÚexchangecs*tƒ ||¡| |¡|_| |¡|_dS©N)ÚsuperÚ__init__Z _as_uint16rZ_as_namer)ÚselfÚrdclassÚrdtyperr©Ú __class__©ú6/usr/lib/python3.9/site-packages/dns/rdtypes/mxbase.pyr#s zMXBase.__init__NTcKs|j ||¡}d|j|fS)Nz%d %s)rZchoose_relativityr)rÚoriginÚ relativizeÚkwrr r rÚto_text(szMXBase.to_textc Cs$| ¡}| |||¡}|||||ƒSr©Z get_uint16Zget_name) Úclsr r ÚtokrrZ relativize_torrr r rÚ from_text,szMXBase.from_textFcCs.t d|j¡}| |¡|j ||||¡dS)Nz!H)ÚstructÚpackrÚwriterZto_wire)rÚfileÚcompressrÚ canonicalizeZprefr r rÚ_to_wire4s zMXBase._to_wirecCs | ¡}| |¡}|||||ƒSrr)rr r Úparserrrrr r rÚfrom_wire_parser9s zMXBase.from_wire_parsercCs|jSr)r)rr r rÚ_processing_priority?szMXBase._processing_prioritycCstjj |¡Sr)ÚdnsZrdtypesÚutilZpriority_processing_order)rÚiterabler r rÚ_processing_orderBszMXBase._processing_order)NT)NTN)NNF)N)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú __slots__rrÚ classmethodrrrr r$Ú __classcell__r r r rrs  ÿ   rcs"eZdZdZd‡fdd„ Z‡ZS)ÚUncompressedMXz§Base class for rdata that is like an MX record, but whose name is not compressed when converted to DNS wire format, and whose digestable form is not downcased.NFcstƒ |d|d¡dS)NF©rr©rrrrrr r rrMszUncompressedMX._to_wire)NNF©r%r&r'r(rr+r r r rr,Gsr,cs"eZdZdZd‡fdd„ Z‡ZS)ÚUncompressedDowncasingMXzuBase class for rdata that is like an MX record, but whose name is not compressed when convert to DNS wire format.NFcstƒ |d||¡dSrr-r.r r rrVsz!UncompressedDowncasingMX._to_wire)NNFr/r r r rr0Qsr0)r(rZ dns.exceptionr!Z dns.immutableZdns.nameZ dns.rdataZdns.rdtypes.utilZ immutableZrdataZRdatarr,r0r r r rÚs)