File: //usr/lib/python3.5/__pycache__/quopri.cpython-35.pyc
FüƒaT ã @ sý d Z d d d d g Z d Z d Z d Z d Z y d d
l m Z m Z Wn e k
rj d Z d Z Yn Xd d
„ Z
d d „ Z d d d „ Z d d d d „ Z
d d d „ Z d d d „ Z d d „ Z d d „ Z d d „ Z e d k rù e ƒ d S)zHConversions to/from quoted-printable transport encoding as per RFC 1521.ÚencodeÚdecodeÚencodestringÚdecodestringó =éL s 0123456789ABCDEFó é )Úa2b_qpÚb2a_qpNc C s\ t | t ƒ s t ‚ | d k r% | S| d k r5 | S| t k p[ d | k oX d k n S)zìDecide whether a particular byte ordinal needs to be quoted.
The 'quotetabs' flag indicates whether embedded tabs and spaces should be
quoted. Note that line-ending tabs and spaces are always encoded, as per
RFC 1521.
s ó _ó ó ~)Ú
isinstanceÚbytesÚAssertionErrorÚESCAPE)ÚcÚ quotetabsÚheader© r ú/usr/lib/python3.5/quopri.pyÚneedsquoting s r c C sW t | t ƒ r! t | ƒ d k s' t ‚ t | ƒ } t t t | d t | d f ƒ S)zQuote a single character.é é )r r Úlenr Úordr ÚHEX)r r r r Úquote$ s 'r Fc
C s® t d k rA | j ƒ } t | d | d | ƒ} | j | ƒ d S| d d d „ } d } x2| j ƒ } | so Pg } d }
| d
d … d k r§ | d d … } d }
xj | D]b } t | f ƒ } t | | | ƒ rá t | ƒ } | r| d k r| j d
ƒ q® | j | ƒ q® W| d k r*| | ƒ t j | ƒ } xH t
| ƒ t k rƒ| | d t d … d d ƒ| t d d … } q<W| } q\ W| d k rª| | d |
ƒd S)av Read 'input', apply quoted-printable encoding, and write to 'output'.
'input' and 'output' are binary file objects. The 'quotetabs' flag
indicates whether embedded tabs and spaces should be quoted. Note that
line-ending tabs and spaces are always encoded, as per RFC 1521.
The 'header' flag indicates whether we are encoding spaces as _ as per RFC
1522.Nr r s
c S s‰ | rN | d d … d k rN | j | d d … t | d d … ƒ | ƒ n7 | d k rt | j t | ƒ | ƒ n | j | | ƒ d S)Nr s ó .éÿÿÿÿr r )Úwriter )ÚsÚoutputÚlineEndr r r r ; s
2zencode.<locals>.writer r r r r# s =
r r )r
Úreadr Úreadliner r r ÚappendÚEMPTYSTRINGÚjoinr ÚMAXLINESIZE)
Úinputr"