o ca@sdZddlmZzedZWn eydZYnwes0ddlmZddZdd Z d d Z dSdd lm Z d dZdd Z dd Z dS)zTTools for reading and writing PKG-INFO / METADATA without caring about the encoding.)ParserFT) GeneratorcCs t|S)N)rparsestr)bytestrr//usr/lib/python3/dist-packages/wheel/pkginfo.pyread_pkg_info_bytess rcCs<t|d}t|}Wd|S1swY|S)Nropenrparsepathheadersmessagerrr read_pkg_infos  rcCDt|d}t|ddd|WddS1swYdS)NwFr mangle_from_ maxheaderlen)r rflatten)rrmetadatarrrwrite_pkg_info "r)BytesGeneratorcCs|jddd}t|}|S)Nasciisurrogateescapeencodingerrors)decoderr)rrrrrrrs cCsBt|dddd}t|}Wd|S1swY|S)Nr rrrr r rrrr"s cCr)NwbFrr)r rr)rroutrrrr)rN) __doc__ email.parserrunicode_PY3 NameErroremail.generatorrrrrrrrrrs"