KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /usr/lib64/python2.4/email/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib64/python2.4/email/_parseaddr.pyc
mò
‚=5Dc@s_dZdkZdZdZdZddddd	d
ddd
dddddddd	dddddddgZddddd d!d"gZhd#d$<d%d$<d&d$<d'd$<d(d)<d*d+<d,d-<d.d)<d/d0<d1d-<d2d3<d4d0<d5d6<d7d3<Zd8„Zd9„Z	d:„Z
d;„Zd<fd=„ƒYZd>efd?„ƒYZ
dS(@scEmail address parsing code.

Lifted directly from rfc822.py.  This should eventually be rewritten.
Nt ts, tjantfebtmartaprtmaytjuntjultaugtseptocttnovtdectjanuarytfebruarytmarchtapriltjunetjulytaugustt	septembertoctobertnovembertdecembertmonttuetwedtthutfritsattsuntUTitUTCtGMTtZtASTipþÿÿtADTiÔþÿÿtESTiþÿÿtEDTtCSTi¨ýÿÿtCDTtMSTiDýÿÿtMDTtPSTiàüÿÿtPDTc
Cs|iƒ}|didƒp|diƒtjo|d=n;|didƒ}|djo|d|d|d<nt|ƒdjo<|didƒ}
t|
ƒdjo|
|d}qËnt|ƒdjoW|d}	|	i
dƒ}|djo |	| |	|dg|d)q5|idƒnt|ƒd	jodSn|d	 }|\}}}}}|iƒ}|tjo,||iƒ}}|tjodSq´nti|ƒd}|d
jo|d
8}n|ddjo|d }n|i
dƒ}|djo||}}n|ddjo|d }n|diƒp||}}n|ddjo|d }n|idƒ}t|ƒd
jo|\}}d}n+t|ƒdjo|\}}}ndSy@t|ƒ}t|ƒ}t|ƒ}t|ƒ}t|ƒ}Wntj
odSnXd}
|iƒ}ti|ƒot|}
n'yt|ƒ}
Wntj
onX|
oF|
djod}|
}
nd}||
dd|
dd}
n||||||ddd|
f
S(sQConvert a date string to a time tuple.

    Accounts for military timezones.
    it,iit-it+Riiiÿÿÿÿt:it0idii<N(tdatatsplittendswithtlowert	_daynamestrfindtitlentstufftstfindtappendtNonetddtmmtyyttmttzt_monthnamestindextisdigittthhttmmttsstintt
ValueErrorttzoffsettuppert
_timezonesthas_keyttzsign(R3RCRQRDR9R@RJRBRAR<R;RHRIRM((t(/usr/lib64/python2.4/email/_parseaddr.pytparsedate_tz&sŒ+


 





	
"cCs0t|ƒ}t|tƒo|d Sn|SdS(s&Convert a time string to a time tuple.i	N(RSR3ttt
isinstancettuple(R3RT((RRt	parsedate{s
cCsX|ddjoti|d dƒSn+ti|d dƒ}||dtiSdS(sCTurn a 10-tuple as returned by parsedate_tz() into a UTC timestamp.i	iiÿÿÿÿiN(iÿÿÿÿ(i(R3R?ttimetmktimeRTttimezone(R3RT((RRt	mktime_tz„s
cCs|iddƒiddƒS(sAdd quotes around a string.s\s\\t"s\"N(tstrtreplace(R]((RRtquoteŽst
AddrlistClasscBs‰tZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	e
d„Zd	„Zd
„Z
d„Zed„Zd
„ZRS(sþAddress parser class by Ben Escoto.

    To understand what this class does, it helps to have a copy of RFC 2822 in
    front of you.

    Note: this class interface is deprecated and may be removed in the future.
    Use rfc822.AddressList instead.
    cCsld|_d|_d|_d|_|i|i|i|_|iiddƒ|_||_g|_	dS(sƒInitialize a new instance.

        `field' is an unparsed address header field, containing
        one or more addresses.
        s()<>@,:;."[]is 	s
t.RN(
tselftspecialstpostLWStCRtatomendsR^t
phraseendstfieldtcommentlist(RbRi((RRt__init__s					cCsˆx|it|iƒjog|i|i|idjo|id7_q|i|idjo|ii|iƒƒqPqWdS(s*Parse up to the start of the next address.s

it(N(RbRdR:RiReRjR>t
getcomment(Rb((RRtgotonext¯scCsYg}xL|it|iƒjo2|iƒ}|o||7}q	|idƒq	W|S(sVParse all addresses.

        Returns a list containing all of the addresses.
        RN(RR(tresultRbRdR:Rit
getaddresstadR>(RbRoRq((RRtgetaddrlist¹scCs¶g|_|iƒ|i}|i}|iƒ}|iƒg}|it	|i
ƒjo.|o#ti|iƒ|dfg}qenÞ|i
|idjo=||_||_|i
ƒ}ti|iƒ|fg}nŠ|i
|idjožg}t	|i
ƒ}|id7_xK|it	|i
ƒjoY|iƒ|i|jo+|i
|idjo|id7_Pn||iƒ}qWnÕ|i
|idjof|iƒ}|io4ti|ƒddi|iƒd	|fg}qeti|ƒ|fg}nX|o#ti|iƒ|dfg}n.|i
|i|ijo|id7_n|iƒ|it	|i
ƒjo*|i
|id
jo|id7_n|S(sParse the next address.is.@R1it;t<s (Rt)R.N(RbRjRnRdtoldpostoldclt
getphraselisttplistt
returnlistR:RitSPACEtjointgetaddrspectaddrspectfieldlenRptgetrouteaddrt	routeaddrRc(RbR~RwRvRRRzRy((RRRpÇsP	
		
'		
'
4#
0cCs/|i|idjodSnt}|id7_|iƒd}xä|it|iƒjoÊ|o|iƒt}n¢|i|idjo|id7_Pnw|i|idjo|id7_t	}nG|i|idjo|id7_n|i
ƒ}|id7_P|iƒqGW|S(sParse a route address (Return-path value).

        This method just skips all the route stuff and returns the addrspec.
        RtNiRt>t@R1(RbRiRdtFalsetexpectrouteRntadlistR:t	getdomaintTrueR}(RbR†R…((RRR€s2



cCsTg}|iƒxÃ|it|iƒjo©|i|idjo |idƒ|id7_ne|i|idjo|id|iƒƒn3|i|i|ijoPn|i|i	ƒƒ|iƒqW|it|iƒjp|i|idjot
i|ƒSn|idƒ|id7_|iƒt
i|ƒ|iƒS(sParse an RFC 2822 addr-spec.RaiR\s"%s"RƒN(
taslistRbRnRdR:RiR>tgetquoteRgtgetatomtEMPTYSTRINGR|R‡(RbR‰((RRR}"s(

0

cCs)g}x|it|iƒjoù|i|i|ijo|id7_q	|i|idjo|ii|iƒƒq	|i|idjo|i|i	ƒƒq	|i|idjo |id7_|idƒq	|i|i|i
joPq	|i|iƒƒq	Wti
|ƒS(s-Get the complete domain name from an address.iRlt[RaN(tsdlistRbRdR:RiReRjR>RmtgetdomainliteralRgR‹RŒR|(RbRŽ((RRR‡;s"cCs:|i|i|jodSndg}t}|id7_xí|it|iƒjoÓ|o!|i|i|iƒt}n™|i|i|jo|id7_Pnn|o.|i|idjo|i|iƒƒn9|i|idjo
t}n|i|i|iƒ|id7_q@Wt
i|ƒS(sæParse a header fragment delimited by special characters.

        `beginchar' is the start character for the fragment.
        If self is not looking at an instance of `beginchar' then
        getdelimited returns the empty string.

        `endchars' is a sequence of allowable end-delimiting characters.
        Parsing stops when one of these is encountered.

        If `allowcomments' is non-zero, embedded RFC 2822 comments are allowed
        within the parsed fragment.
        RiRls\N(RbRiRdt	beginchartslistR„R_R:R>tendcharst
allowcommentsRmRˆRŒR|(RbRR’R“R‘R_((RRtgetdelimitedNs*	

cCs|iddtƒS(s1Get a quote-delimited fragment from self's field.R\s"
N(RbR”R„(Rb((RRRŠrscCs|iddtƒS(s7Get a parenthesis-delimited fragment from self's field.Rls)
N(RbR”Rˆ(Rb((RRRmvscCsd|iddtƒS(s!Parse an RFC 2822 domain-literal.s[%s]Rs]
N(RbR”R„(Rb((RRRzscCs“dg}|djo
|i}nx`|it|iƒjoF|i|i|joPn|i|i|iƒ|id7_q&Wti	|ƒS(sParse an RFC 2822 atom.

        Optional atomends specifies a different set of end token delimiters
        (the default is to use self.atomends).  This is used e.g. in
        getphraselist() since phrase endings must not include the `.' (which
        is legal in phrases).RiN(
tatomlistRgR?RbRdR:RiR>RŒR|(RbRgR•((RRR‹~s	

cCsïg}xâ|it|iƒjoÈ|i|i|ijo|id7_q	|i|idjo|i|iƒƒq	|i|idjo|ii|i	ƒƒq	|i|i|i
joPq	|i|i|i
ƒƒq	W|S(sýParse a sequence of RFC 2822 phrases.

        A phrase is a sequence of words, which are in turn either RFC 2822
        atoms or quoted-strings.  Phrases are canonicalized by squeezing all
        runs of continuous whitespace into one space.
        iR\RlN(RyRbRdR:RiReR>RŠRjRmRhR‹(RbRy((RRRx’s(t__name__t
__module__t__doc__RkRnRrRpR€R}R‡RˆR”RŠRmRR?R‹Rx(((RRR`“s		
		;	 		$			tAddressListcBsMtZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	RS(s@An AddressList encapsulates a list of parsed RFC 2822 addresses.cCs7ti||ƒ|o|iƒ|_n
g|_dS(N(R`RkRbRiRrtaddresslist(RbRi((RRRk«scCs
t|iƒS(N(R:RbRš(Rb((RRt__len__²scCsUtdƒ}|i|_x5|iD]*}||ijo|ii|ƒq#q#W|S(N(R™R?tnewaddrRbRštothertxR>(RbRRœRž((RRt__add__µs

cCs<x5|iD]*}||ijo|ii|ƒq
q
W|S(N(RRšRžRbR>(RbRRž((RRt__iadd__¾s

cCsHtdƒ}x5|iD]*}||ijo|ii|ƒqqW|S(N(R™R?RœRbRšRžRR>(RbRRœRž((RRt__sub__Ås
cCs<x5|iD]*}||ijo|ii|ƒq
q
W|S(N(RRšRžRbtremove(RbRRž((RRt__isub__Ís

cCs|i|S(N(RbRšRF(RbRF((RRt__getitem__Ôs(
R–R—R˜RkR›RŸR R¡R£R¤(((RRR™©s							(R˜RXR{RŒt
COMMASPACERER7RORSRWR[R_R`R™(
RWR™R`R{R_R7RŒRORERXR[RSR¥((RRt?s	N„		U			
	ÿ

Anon7 - 2021