3 \@s|ddddddgZddlmZmZddlmZmZdd lmZGd ddZ Gd dde Z Gd ddZ Gd dde Z dS)Parser HeaderParser BytesParserBytesHeaderParser FeedParserBytesFeedParser)StringIO TextIOWrapper)rr)compat32c@s0eZdZd edddZd ddZd dd ZdS) rN)policycCs||_||_dS)N)_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)N)r i )rr r Z_set_headersonlyreadZfeedclose)r fp headersonlyZ feedparserdatarrrparse*s z Parser.parsecCs|jt||dS)N)r)rr)r textrrrrparsestr<szParser.parsestr)N)F)F)__name__ __module__ __qualname__r rrrrrrrrs c@s eZdZdddZdddZdS) rTcCstj||dS)NT)rr)r rrrrrrIszHeaderParser.parsecCstj||dS)NT)rr)r rrrrrrLszHeaderParser.parsestrN)T)T)rrrrrrrrrrHs c@s(eZdZddZd ddZd ddZdS) rcOst|||_dS)N)rparser)r argskwrrrrRszBytesParser.__init__Fc Cs,t|ddd}z|jj||S|jXdS)Nasciisurrogateescape)encodingerrors)r rrdetach)r rrrrrrdszBytesParser.parsecCs|jddd}|jj||S)NASCIIr )r")decoderr)r rrrrr parsebytessszBytesParser.parsebytesN)F)F)rrrrrr&rrrrrPs c@s eZdZdddZdddZdS) rTcCstj||ddS)NT)r)rr)r rrrrrrszBytesHeaderParser.parsecCstj||ddS)NT)r)rr&)r rrrrrr&szBytesHeaderParser.parsebytesN)T)T)rrrrr&rrrrrs N) __all__iorr Zemail.feedparserrrZemail._policybaser rrrrrrrrs 7/