U mf@sLddgZddlmZmZddlZddlZGdddeZGdddeZdS)Reader ReaderError) YAMLErrorMarkNc@seZdZddZddZdS)rcCs"||_||_||_||_||_dSN)name characterpositionencodingreason)selfrr r r r r;/opt/hc_python/lib64/python3.8/site-packages/yaml/reader.py__init__s zReaderError.__init__cCsHt|jtr,d|jt|j|j|j|jfSd|j|j|j|jfSdS)Nz>'%s' codec can't decode byte #x%02x: %s in "%s", position %dz8unacceptable character #x%04x: %s in "%s", position %d) isinstancer bytesr ordr rr r rrr__str__!s zReaderError.__str__N)__name__ __module__ __qualname__rrrrrrrsc@sfeZdZddZdddZdddZdd d Zd d Zd dZe dZ ddZ ddZ dddZdS)rcCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ t |t rnd|_|||d|_nHt |trd|_||_|n(||_t|dd|_d |_d|_|dS) NrTzz rzF)rstreamstream_pointereofbufferpointer raw_buffer raw_decoder indexlinecolumnrstrcheck_printablerdetermine_encodinggetattr)r rrrrr;s2     zReader.__init__rcCsJz|j|j|WStk rD||d|j|j|YSXdS)Nr)rr IndexErrorupdate)r r"rrrpeekWs z Reader.peekrcCs4|j|t|jkr|||j|j|j|Sr)rlenrr*)r lengthrrrprefix^s z Reader.prefixcCs|j|dt|jkr&||d|r|j|j}|jd7_|jd7_|dksr|dkr|j|jdkr|jd7_d|_n|dkr|jd7_|d8}q&dS)Nru …

  ru)rr,rr*r"r#r$)r r-chrrrforwardcs  zReader.forwardcCsF|jdkr(t|j|j|j|j|j|jSt|j|j|j|jddSdSr)rrrr"r#r$rrrrrrget_markrs zReader.get_markcCs|js(|jdkst|jdkr(|qt|jtr~|jtjrRtj |_ d|_ n,|jtj rptj |_ d|_ ntj|_ d|_ |ddS)Nz utf-16-lez utf-16-bezutf-8r)rr r, update_rawrr startswithcodecs BOM_UTF16_LEutf_16_le_decoder!r BOM_UTF16_BEutf_16_be_decode utf_8_decoder*rrrrr'zs  zReader.determine_encodingu![^ -~… -퟿-�𐀀-􏿿]cCsP|j|}|rL|}|jt|j|j|}t|j |t |dddS)Nunicodez"special characters are not allowed) NON_PRINTABLEsearchgroupr"r,rrstartrrr)r datamatchr r rrrr&s zReader.check_printablec Cs2|jdkrdS|j|jd|_d|_t|j|kr.|jsD||jdk rz||jd|j\}}Wqtk r}zN|j|j}|j dk r|j t|j|j}n|j}t |j |||j |jW5d}~XYqXn|j}t|}|||j|7_|j|d|_|jr&|jd7_d|_q.q&dS)Nrstrictr)r rrr,rr5r!UnicodeDecodeErrorrArrrrr r r&)r r-rBZ convertedexcr r rrrr*s>       z Reader.updatecCsL|j|}|jdkr||_n|j|7_|jt|7_|sHd|_dS)NT)rreadr rr,r)r sizerBrrrr5s  zReader.update_rawN)r)r)r)rG)rrrrr+r.r2r3r'recompiler>r&r*r5rrrrr-s    ) __all__errorrrr7rJrobjectrrrrrs