관리-도구
편집 파일: quopri.cpython-310.opt-1.pyc
o 6��fq � @ s� d Z g d�ZdZdZdZdZz ddlmZmZ W n e y% dZdZY nw d d � Z dd� Zddd�Zddd�Z ddd�Zddd�Zdd� Zdd� Zdd� ZedkrWe� dS dS )zHConversions to/from quoted-printable transport encoding as per RFC 1521.)�encode�decode�encodestring�decodestring� =�L s 0123456789ABCDEF� � )�a2b_qp�b2a_qpNc C s: | dv r|S | dkr|S | t kpd| kodkn 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. � � _� � ~)�ESCAPE)�c� quotetabs�header� r �-/opt/alt/python310/lib64/python3.10/quopri.py�needsquoting s "r c C s( t | �} ttt| d t| d f� S )zQuote a single character.� )�ordr �bytes�HEX�r r r r �quote$ s r Fc C s< t dur| �� }t |||d�}|�|� dS |dfdd�}d} | �� }|s'nig } d} |dd� dkr;|dd� }d} |D ]"}t|f�}t|||�rNt|�}|rZ|d krZ| �d � q=| �|� q=|durh||� t� | �}t |�tkr�||dtd � dd� |td d� }t |�tkss|}q |dur�||| d� dS dS ) 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.N�r r � c S sn | r| dd � dv r|� | d d� t| dd � � | � d S | dkr.|� t| �| � d S |� | | � d S )N���r � .)�writer )�s�output�lineEndr r r r ; s *zencode.<locals>.write� r r r r s = )r# )r �readr �readliner r r �append�EMPTYSTRING�join�len�MAXLINESIZE) �inputr"