File: //usr/lib/python3.5/encodings/__pycache__/utf_8_sig.cpython-35.pyc
Füƒa% ã @ s¤ d Z d d l Z d d d „ Z d d d „ Z Gd d „ d e j ƒ Z Gd
d „ d e j ƒ Z Gd d
„ d
e j ƒ Z Gd d „ d e j ƒ Z d d „ Z d S)a Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:
* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
first three bytes.
* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
bytes will be skipped.
é NÚstrictc C s' t j t j | | ƒ d t | ƒ f S)Nr )ÚcodecsÚBOM_UTF8Úutf_8_encodeÚlen)ÚinputÚerrors© r ú)/usr/lib/python3.5/encodings/utf_8_sig.pyÚencode s r c C s^ d } | d d … t j k r5 | d d … } d } t j | | d ƒ \ } } | | | f S)Nr é T)r r Úutf_8_decode)r r ÚprefixÚoutputÚconsumedr r r
Údecode s r c @ sR e Z d Z d d d „ Z d d d „ Z d d „ Z d d
„ Z d d „ Z d
S)ÚIncrementalEncoderr c C s t j j | | ƒ d | _ d S)Né )r r Ú__init__Úfirst)Úselfr r r r
r s zIncrementalEncoder.__init__Fc C sK | j r0 d | _ t j t j | | j ƒ d St j | | j ƒ d Sd S)Nr )r r r r r )r r Úfinalr r r
r s
zIncrementalEncoder.encodec C s t j j | ƒ d | _ d S)Nr )r r Úresetr )r r r r
r ' s zIncrementalEncoder.resetc C s | j S)N)r )r r r r
Úgetstate+ s zIncrementalEncoder.getstatec C s
| | _ d S)N)r )r Ústater r r
Úsetstate. s zIncrementalEncoder.setstateN)Ú__name__Ú
__module__Ú__qualname__r r r r r r r r r
r s
r c @ sO e Z d Z d d d „ Z d d „ Z d d „ Z d d „ Z d
d „ Z d S)
ÚIncrementalDecoderr c C s t j j | | ƒ d | _ d S)Nr )r ÚBufferedIncrementalDecoderr r )r r r r r
r 2 s zIncrementalDecoder.__init__c C s¥ | j r’ t | ƒ d k r= t j j | ƒ r1 d Sd | _ nU d | _ | d d … t j k r’ t j | d d … | | ƒ \ } } | | d f St j | | | ƒ S)Nr Ú r )r! r )r r r r Ú
startswithr
)r r r r r r r r r
Ú_buffer_decode6 s %z!IncrementalDecoder._buffer_decodec C s t j j | ƒ d | _ d S)Nr )r r r r )r r r r
r G s zIncrementalDecoder.resetc C s# t j j | ƒ } | d | j f S)Nr )r r r r )r r r r r
r K s zIncrementalDecoder.getstatec C s$ t j j | | ƒ | d | _ d S)Nr )r r r r )r r r r r
r P s zIncrementalDecoder.setstateN)r r r r r# r r r r r r r
r 1 s
r c @ s+ e Z d Z d d „ Z d d d „ Z d S)ÚStreamWriterc C s3 t j j | ƒ y
| ` Wn t k
r. Yn Xd S)N)r r$ r r ÚAttributeError)r r r r
r V s
zStreamWriter.resetr c C s t j | _ t | | ƒ S)N)r r r )r r r r r r
r ] s zStreamWriter.encodeN)r r r r r r r r r
r$ U s r$ c @ s+ e Z d Z d d „ Z d d d „ Z d S)ÚStreamReaderc C s3 t j j | ƒ y
| ` Wn t k
r. Yn Xd S)N)r r&