(root)/
Python-3.11.7/
Lib/
encodings/
quopri_codec.py
       1  """Codec for quoted-printable encoding.
       2  
       3  This codec de/encodes from bytes to bytes.
       4  """
       5  
       6  import codecs
       7  import quopri
       8  from io import BytesIO
       9  
      10  def quopri_encode(input, errors='strict'):
      11      assert errors == 'strict'
      12      f = BytesIO(input)
      13      g = BytesIO()
      14      quopri.encode(f, g, quotetabs=True)
      15      return (g.getvalue(), len(input))
      16  
      17  def quopri_decode(input, errors='strict'):
      18      assert errors == 'strict'
      19      f = BytesIO(input)
      20      g = BytesIO()
      21      quopri.decode(f, g)
      22      return (g.getvalue(), len(input))
      23  
      24  class ESC[4;38;5;81mCodec(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mCodec):
      25      def encode(self, input, errors='strict'):
      26          return quopri_encode(input, errors)
      27      def decode(self, input, errors='strict'):
      28          return quopri_decode(input, errors)
      29  
      30  class ESC[4;38;5;81mIncrementalEncoder(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mIncrementalEncoder):
      31      def encode(self, input, final=False):
      32          return quopri_encode(input, self.errors)[0]
      33  
      34  class ESC[4;38;5;81mIncrementalDecoder(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mIncrementalDecoder):
      35      def decode(self, input, final=False):
      36          return quopri_decode(input, self.errors)[0]
      37  
      38  class ESC[4;38;5;81mStreamWriter(ESC[4;38;5;149mCodec, ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mStreamWriter):
      39      charbuffertype = bytes
      40  
      41  class ESC[4;38;5;81mStreamReader(ESC[4;38;5;149mCodec, ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mStreamReader):
      42      charbuffertype = bytes
      43  
      44  # encodings module API
      45  
      46  def getregentry():
      47      return codecs.CodecInfo(
      48          name='quopri',
      49          encode=quopri_encode,
      50          decode=quopri_decode,
      51          incrementalencoder=IncrementalEncoder,
      52          incrementaldecoder=IncrementalDecoder,
      53          streamwriter=StreamWriter,
      54          streamreader=StreamReader,
      55          _is_text_encoding=False,
      56      )