ž oyMa%c@sĪdZddlZddd„Zddd„ZGdd „d ejƒZGd d „d ejƒZGd d „d ejƒZGdd„dejƒZdd„Z dS(u 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. iNustrictcCs'tjtj||ƒdt|ƒfS(Ni(ucodecsuBOM_UTF8u utf_8_encodeulen(uinputuerrors((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyuencodesuencodecCsad}|dd…tjkr8|dd…}d}ntj||dƒ\}}|||fS(NiiT(ucodecsuBOM_UTF8u utf_8_decodeuTrue(uinputuerrorsuprefixuoutputuconsumed((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyudecodes  udecodecBsV|EeZdZddd„Zd dd„Zdd„Zdd „Zd d „Zd S(uIncrementalEncoderustrictcCs tjj||ƒd|_dS(Ni(ucodecsuIncrementalEncoderu__init__ufirst(uselfuerrors((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyu__init__suIncrementalEncoder.__init__cCsK|jr0d|_tjtj||jƒdStj||jƒdSdS(Ni(ufirstucodecsuBOM_UTF8u utf_8_encodeuerrors(uselfuinputufinal((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyuencodes   uIncrementalEncoder.encodecCstjj|ƒd|_dS(Ni(ucodecsuIncrementalEncoderuresetufirst(uself((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyureset'suIncrementalEncoder.resetcCs|jS(N(ufirst(uself((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyugetstate+suIncrementalEncoder.getstatecCs ||_dS(N(ufirst(uselfustate((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyusetstate.suIncrementalEncoder.setstateNF( u__name__u __module__u __qualname__u__init__uFalseuencodeuresetugetstateusetstate(u __locals__((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyuIncrementalEncoders   uIncrementalEncodercBsS|EeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd S( uIncrementalDecoderustrictcCs tjj||ƒd|_dS(Ni(ucodecsuBufferedIncrementalDecoderu__init__ufirst(uselfuerrors((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyu__init__2suIncrementalDecoder.__init__cCsĻ|jr•t|ƒdkr=tjj|ƒr1dSd|_q•d|_|dd…tjkr•tj|dd…||ƒ\}}||dfSntj|||ƒS(Niui(ui(ufirstulenucodecsuBOM_UTF8u startswithu utf_8_decode(uselfuinputuerrorsufinaluoutputuconsumed((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyu_buffer_decode6s   %u!IncrementalDecoder._buffer_decodecCstjj|ƒd|_dS(Ni(ucodecsuBufferedIncrementalDecoderuresetufirst(uself((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyuresetGsuIncrementalDecoder.resetcCs#tjj|ƒ}|d|jfS(Ni(ucodecsuBufferedIncrementalDecoderugetstateufirst(uselfustate((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyugetstateKsuIncrementalDecoder.getstatecCs$tjj||ƒ|d|_dS(Ni(ucodecsuBufferedIncrementalDecoderusetstateufirst(uselfustate((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyusetstatePsuIncrementalDecoder.setstateN(u__name__u __module__u __qualname__u__init__u_buffer_decodeuresetugetstateusetstate(u __locals__((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyuIncrementalDecoder1s    uIncrementalDecodercBs/|EeZdZdd„Zddd„ZdS(u StreamWriterc Cs3tjj|ƒy |`Wntk r.YnXdS(N(ucodecsu StreamWriteruresetuencodeuAttributeError(uself((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyuresetVs   uStreamWriter.resetustrictcCstj|_t||ƒS(N(ucodecsu utf_8_encodeuencode(uselfuinputuerrors((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyuencode]s uStreamWriter.encodeN(u__name__u __module__u __qualname__uresetuencode(u __locals__((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyu StreamWriterUs u StreamWritercBs/|EeZdZdd„Zddd„ZdS(u StreamReaderc Cs3tjj|ƒy |`Wntk r.YnXdS(N(ucodecsu StreamReaderuresetudecodeuAttributeError(uself((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyuresetbs   uStreamReader.resetustrictcCsœt|ƒdkr+tjj|ƒr€dSnU|dd…tjkr€tj|_tj|dd…|ƒ\}}||dfStj|_tj||ƒS(Niui(ui(ulenucodecsuBOM_UTF8u startswithu utf_8_decodeudecode(uselfuinputuerrorsuoutputuconsumed((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyudecodeis " uStreamReader.decodeN(u__name__u __module__u __qualname__uresetudecode(u __locals__((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyu StreamReaderas u StreamReadercCs4tjdddtdtdtdtdtdtƒS( Nunameu utf-8-siguencodeudecodeuincrementalencoderuincrementaldecoderu streamreaderu streamwriter(ucodecsu CodecInfouencodeudecodeuIncrementalEncoderuIncrementalDecoderu StreamReaderu StreamWriter(((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyu getregentryys u getregentry( u__doc__ucodecsuencodeudecodeuIncrementalEncoderuBufferedIncrementalDecoderuIncrementalDecoderu StreamWriteru StreamReaderu getregentry(((u8/opt/alt/python33/lib64/python3.3/encodings/utf_8_sig.pyu s $