î e fµã@s°dZddddddgZddlmZmZdd lmZmZdd lm Z Gd d„dƒZ Gd d„de ƒZ Gd d„dƒZ Gdd„de ƒZ dS)z-A parser of RFC 2822 and MIME email messages.ÚParserÚ HeaderParserÚ BytesParserÚBytesHeaderParserÚ FeedParserÚBytesFeedParseré)ÚStringIOÚ TextIOWrapper)rr)Úcompat32c@sCeZdZddedd„Zddd„Zddd „ZdS) rNÚpolicycCs||_||_dS)a†Parser of RFC 2822 and MIME email messages. Creates an in-memory object tree representing the email message, which can then be manipulated and turned over to a Generator to return the textual representation of the message. The string must be formatted as a block of RFC 2822 headers and header continuation lines, optionally preceeded by a `Unix-from' header. The header block is terminated either by the end of the string or by a blank line. _class is the class to instantiate for new message objects when they must be created. This class must have a constructor that can take zero arguments. Default is Message.Message. The policy keyword specifies a policy object that controls a number of aspects of the parser's operation. The default policy maintains backward compatibility. N)Ú_classr )Úselfr r ©rú1/opt/alt/python34/lib64/python3.4/email/parser.pyÚ__init__s zParser.__init__FcCsbt|jd|jƒ}|r+|jƒnx*|jdƒ}|sGPn|j|ƒq.W|jƒS)a\Create a message structure from the data in a file. Reads all the data from the file and returns the root of the message structure. Optional headersonly is a flag specifying whether to stop parsing after reading the headers or not. The default is False, meaning it parses the entire contents of the file. r i )rr r Z_set_headersonlyÚreadZfeedÚclose)r ÚfpÚ headersonlyZ feedparserÚdatarrrÚparse*s z Parser.parsecCs|jt|ƒd|ƒS)a-Create a message structure from a string. Returns the root of the message structure. Optional headersonly is a flag specifying whether to stop parsing after reading the headers or not. The default is False, meaning it parses the entire contents of the file. r)rr)r ÚtextrrrrÚparsestr<szParser.parsestr)Ú__name__Ú __module__Ú __qualname__r rrrrrrrrs c@s.eZdZddd„Zddd„ZdS)rTcCstj||dƒS)NT)rr)r rrrrrrIszHeaderParser.parsecCstj||dƒS)NT)rr)r rrrrrrLszHeaderParser.parsestrN)rrrrrrrrrrHs c@s:eZdZdd„Zddd„Zddd„ZdS) rcOst||Ž|_dS)aÑParser of binary RFC 2822 and MIME email messages. Creates an in-memory object tree representing the email message, which can then be manipulated and turned over to a Generator to return the textual representation of the message. The input must be formatted as a block of RFC 2822 headers and header continuation lines, optionally preceeded by a `Unix-from' header. The header block is terminated either by the end of the input or by a blank line. _class is the class to instantiate for new message objects when they must be created. This class must have a constructor that can take zero arguments. Default is Message.Message. N)rÚparser)r ÚargsÚkwrrrrRszBytesParser.__init__Fc CsAt|ddddƒ}z|jj||ƒSWd|jƒXdS)acCreate a message structure from the data in a binary file. Reads all the data from the file and returns the root of the message structure. Optional headersonly is a flag specifying whether to stop parsing after reading the headers or not. The default is False, meaning it parses the entire contents of the file. ÚencodingÚasciiÚerrorsÚsurrogateescapeN)r rrÚdetach)r rrrrrrdszBytesParser.parsecCs(|jdddƒ}|jj||ƒS)a2Create a message structure from a byte string. Returns the root of the message structure. Optional headersonly is a flag specifying whether to stop parsing after reading the headers or not. The default is False, meaning it parses the entire contents of the file. ÚASCIIr!r")Údecoderr)r rrrrrÚ parsebytessszBytesParser.parsebytesN)rrrrrr&rrrrrPs  c@s.eZdZddd„Zddd„ZdS)rTcCstj||ddƒS)NrT)rr)r rrrrrr€szBytesHeaderParser.parsecCstj||ddƒS)NrT)rr&)r rrrrrr&ƒszBytesHeaderParser.parsebytesN)rrrrr&rrrrrs N)Ú__doc__Ú__all__Úiorr Zemail.feedparserrrZemail._policybaser rrrrrrrrÚs  7/