bgdZddlmZddlmZddlmZgdZddlZddlmZm Z ddl m Z m Z dd l mZdd lmZGd d eZGd deZGddeZGddeZdS)z-A parser of RFC 2822 and MIME email messages.)unicode_literals)division)absolute_import)Parser HeaderParser BytesParserBytesHeaderParserN)StringIO TextIOWrapper) FeedParserBytesFeedParser)Message)compat32c(eZdZefdZddZddZdS)rc Pd|vr |d}|d=nt}||_||_dS)aParser 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. policyN)r_classr)selfr _3to2kwargsrs n/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/future/backports/email/parser.py__init__zParser.__init__s:* { " "[-BF T\H]H]f  Fct|j|j}|r| |d}|sn||.|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. )rTi )r rr_set_headersonlyreadfeedclose)rfp headersonly feedparserdatas rparsez Parser.parse/s~  DK@@@  *  ' ' ) ) ) "774==D  OOD ! ! !  " !!!rcJ|t||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)r"r rtextrs rparsestrzParser.parsestrAs zz(4..kzBBBrNF)__name__ __module__ __qualname__rrr"r'rrrrsY%4""""$CCCCCCrrceZdZddZddZdS)rTc:t||dSNT)rr"rrrs rr"zHeaderParser.parseNs||D"d+++rc:t||dSr/)rr'r%s rr'zHeaderParser.parsestrQstT4000rNT)r)r*r+r"r'r,rrrrMs<,,,,111111rrc$eZdZdZddZddZdS)rc(t|i||_dS)aParser 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)rparser)rargskws rrzBytesParser.__init__Ws d)b)) rFct|dd}|5|j||cdddS#1swxYwYdS)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. asciisurrogateescape)encodingerrorsN)r r5r"r0s rr"zBytesParser.parseis28I J J J  6 6;$$R55 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s=AAcf|dd}|j||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<)decoder5r'r%s r parsebyteszBytesParser.parsebytesvs2{{7+<{=={##D+666rNr()r)r*r+rr"r@r,rrrrUsK***$ 6 6 6 6 7 7 7 7 7 7rrceZdZddZddZdS)r Tc<t||dSNTr$)rr"r0s rr"zBytesHeaderParser.parses  rt <<rNsq 43''''''&&&&&& H H H&&&&&&&&IIIIIIII2222227777775C5C5C5C5CV5C5C5Cr111116111*7*7*7*7*7&*7*7*7ZDDDDD DDDDDr