a DOg<@sddlZddlmZddlmZddlmZgdZGdddZdd Z d d Z Gd d d eej dZ e Gddde Z e ZdS)N)header)charset)_has_surrogates)PolicyCompat32compat32cs<eZdZfddZddZddZddZd d ZZS) _PolicyBasec sH|D]:\}}t||r.tt|||qtd||jjqdSNz*{!r} is an invalid keyword argument for {}) itemshasattrsuperr __setattr__ TypeErrorformat __class____name__)selfkwnamevaluer6/opt/alt/python39/lib64/python3.9/email/_policybase.py__init__)s z_PolicyBase.__init__cCs*dd|jD}d|jjd|S)NcSsg|]\}}d||qS)z{}={!r})r).0rrrrr 8sz(_PolicyBase.__repr__..z{}({})z, )__dict__r rrrjoin)rargsrrr__repr__7sz_PolicyBase.__repr__cKsr|j|j}|jD]\}}t|||q|D]4\}}t||s^td||jj t|||q8|Sr ) r__new__rr objectr r rrr)rrZ newpolicyattrrrrrclone<s z_PolicyBase.clonecCs,t||rd}nd}t||jj|dS)Nz'{!r} object attribute {!r} is read-onlyz!{!r} object has no attribute {!r})r AttributeErrorrrr)rrrmsgrrrr Ns z_PolicyBase.__setattr__cCs|jfi|jSN)r#r)rotherrrr__add__Usz_PolicyBase.__add__) r __module__ __qualname__rrr#r r( __classcell__rrrrrs  rcCs,|ddd}|ddd}|d|S)N r)rsplitsplit)docZ added_docrrr _append_doc^sr1cCs|jr(|jdr(t|jdj|j|_|jD]V\}}|jr2|jdr2dd|jDD]*}tt||d}|r\t||j|_q2q\q2|S)N+rcss |]}|D] }|VqqdSr&)mro)rbasecrrr hz%_extend_docstrings..__doc__)r8 startswithr1 __bases__rr getattr)clsrr"r5r0rrr_extend_docstringscsr=c@seZdZdZdZdZdZdZdZdZ ddZ d d Z d d Z e jd dZe jddZe jddZe jddZe jddZdS)rFr,Z8bitNNTcCs|jr ||||dSr&)raise_on_defectregister_defectrobjZdefectrrr handle_defectszPolicy.handle_defectcCs|j|dSr&)ZdefectsappendrArrrr@s zPolicy.register_defectcCsdSr&r)rrrrrheader_max_countszPolicy.header_max_countcCstdSr&NotImplementedError)r sourcelinesrrrheader_source_parseszPolicy.header_source_parsecCstdSr&rFrrrrrrheader_store_parseszPolicy.header_store_parsecCstdSr&rFrJrrrheader_fetch_parses zPolicy.header_fetch_parsecCstdSr&rFrJrrrfolds z Policy.foldcCstdSr&rFrJrrr fold_binary szPolicy.fold_binary)rr)r*r?linesepcte_typemax_line_length mangle_from_Zmessage_factoryZverify_generated_headersrCr@rEabcabstractmethodrIrKrLrMrNrrrrrps(9     r) metaclassc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS)rTcCs0t|ts|St|r(tj|tj|dS|SdS)Nr header_name) isinstancestrrrHeader_charset UNKNOWN8BITrJrrr_sanitize_header!s  zCompat32._sanitize_headercCs>|ddd\}}|dd|dd}||dfS)Nr:r-z z )r/lstriprrstrip)rrHrrrrrrI-szCompat32.header_source_parsecCs||fSr&rrJrrrrK9szCompat32.header_store_parsecCs |||Sr&)r]rJrrrrL?szCompat32.header_fetch_parsecCs|j||ddS)NTsanitize)_foldrJrrrrMFsz Compat32.foldcCs"|j|||jdkd}|ddS)NZ7bitrbasciisurrogateescape)rdrPencode)rrrZfoldedrrrrNPs zCompat32.fold_binarycCsg}|d|t|tr\t|rL|rs   L (f