o ?Og<@s ddlZddlmZddlmZddlmZgdZGdddZdd Z d d Z Gd d d eej dZ e Gddde Z e ZdS)N)header)charset)_has_surrogates)PolicyCompat32compat32cs>eZdZ fddZddZddZddZd d ZZS) _PolicyBasec sH |D]\}}t||rtt|||qtd||jjdSNz*{!r} is an invalid keyword argument for {}) itemshasattrsuperr __setattr__ TypeErrorformat __class____name__)selfkwnamevaluer8/opt/alt/python310/lib64/python3.10/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__cKst |j|j}|jD] \}}t|||q |D]\}}t||s0td||jj t|||q|Sr ) r__new__rr objectr r rrr)rrZ newpolicyattrrrrrclone<s z_PolicyBase.clonecCs(t||rd}nd}t||jj|)Nz'{!r} object attribute {!r} is read-onlyz!{!r} object has no attribute {!r})r AttributeErrorrrr)rrrmsgrrrr Ns z_PolicyBase.__setattr__cCs |jdi|jS)Nr)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^s r0cCs|jr|jdrt|jdj|j|_|jD]+\}}|jrD|jdrDdd|jDD]}tt||d}|rCt||j|_nq.q|S)N+rcss"|] }|D]}|VqqdSN)mro)rbasecrrr hs z%_extend_docstrings..__doc__)r7 startswithr0 __bases__rr getattr)clsrr"r5r/rrr_extend_docstringscsr<c@seZdZ dZdZdZdZdZdZdZ ddZ d d Z d d Z e jd dZe jddZe jddZe jddZe jddZdS)rFr+Z8bitNNTcCs |jr||||dSr2)raise_on_defectregister_defectrobjZdefectrrr handle_defectszPolicy.handle_defectcCs |j|dSr2)Zdefectsappendr@rrrr?s zPolicy.register_defectcCs dSr2r)rrrrrheader_max_countszPolicy.header_max_countcC tr2NotImplementedError)r sourcelinesrrrheader_source_parsezPolicy.header_source_parsecCrEr2rFrrrrrrheader_store_parseszPolicy.header_store_parsecCrEr2rFrKrrrheader_fetch_parseszPolicy.header_fetch_parsecCrEr2rFrKrrrfoldsz Policy.foldcCrEr2rFrKrrr fold_binary rJzPolicy.fold_binary)rr(r)r>linesepcte_typemax_line_length mangle_from_Zmessage_factoryZverify_generated_headersrBr?rDabcabstractmethodrIrLrMrNrOrrrrrps,7      r) metaclassc@sJeZdZ dZddZddZddZdd Zd d Zd d Z ddZ dS)rTcCs,t|ts|St|rtj|tj|dS|S)Nr header_name) isinstancestrrrHeader_charset UNKNOWN8BITrKrrr_sanitize_header!s  zCompat32._sanitize_headercCs@ |ddd\}}|dd|dd}||dfS)Nr:r,z z )r.lstriprrstrip)rrHrrrrrrI-szCompat32.header_source_parsecCs ||fSr2rrKrrrrL9szCompat32.header_store_parsecCs |||Sr2)r^rKrrrrM?s zCompat32.header_fetch_parsecCs |j||ddS)NTsanitize)_foldrKrrrrNFsz Compat32.foldcCs$ |j|||jdkd}|ddS)NZ7bitrcasciisurrogateescape)rerQencode)rrrZfoldedrrrrOPs zCompat32.fold_binarycCsg}|d|t|tr.t|r&|rtj|tj|d}n||d}n tj||d}n|}|durId}|jdur>|j}||j |j |d||j d |S)Nz%s: rW)rXr)rP maxlinelenr`) rCrYrZrrr[r\r]rRrhrPr)rrrrdpartshrirrrre\s(     zCompat32._foldN) rr(r)rSr^rIrLrMrNrOrerrrrrs   r)rTZemailrrr\Z email.utilsr__all__rr0r<ABCMetarrrrrrrs   L ( f