3 ^c@s|ddddddgZddlmZmZddlmZmZdd lmZGd ddZ Gd dde Z Gd ddZ Gd dde Z dS)Parser HeaderParser BytesParserBytesHeaderParser FeedParserBytesFeedParseri)StringIO TextIOWrapper)rr)compat32c@s0eZdZd edddZd ddZd dd ZdS) rNpolicycCs||_||_dSN)_classr )selfr r r$/usr/lib64/python3.6/email/parser.py__init__szParser.__init__FcCsDt|j|jd}|r|jx|jd}|s.P|j|qW|jS)Nr i )rr r Z_set_headersonlyZreadZfeedZclose)r fp headersonlyZ feedparserZdatarrrparse)s z Parser.parsecCs|jt||dS)Nr)rrr Ztextrrrrparsestr;szParser.parsestrr Fr)__name__ __module__ __qualname__rrrrrrrrrs c@ eZdZdddZdddZdS) rTcCtj||dSNT)rrr rrrrrrHzHeaderParser.parsecCrr)rrrrrrrKrzHeaderParser.parsestrNTr )rrrrrrrrrrG c@s(eZdZddZd ddZd ddZdS) rcOst|||_dSr )rparser)r ZargsZkwrrrrQszBytesParser.__init__Fc Cs,t|ddd}z|jj||S|jXdS)NZasciisurrogateescape)Zencodingerrors)rr"rZdetachrrrrrcszBytesParser.parsecCs|jddd}|jj||S)NZASCIIr#)r$)Zdecoder"rrrrr parsebytesrszBytesParser.parsebytesNrr)rrrrrr%rrrrrOs c@r) rTcCtj||ddSNTr)rrrrrrrrzBytesHeaderParser.parsecCr&r')rr%rrrrr%rzBytesHeaderParser.parsebytesNr r )rrrrr%rrrrr~r!N) Z__all__ZiorrZemail.feedparserrrZemail._policybaserrrrrrrrrZs 7/