Viewing File: /opt/alt/python35/lib64/python3.5/http/__pycache__/cookies.cpython-35.opt-2.pyc



]>S
@sddlZddlZdddgZdjZdjZdjZdd	ZGd
ddeZ	ej
ejdZedZ
d
deedeeee
DZejeddeddiejdejejZddZejdZejdZddZdddddd d!gZdd"d#d$d%d&d'd(d)d*d+d,d-g
Zdeed.d/ZGd0d1d1eZ d2Z!e!d3Z"ejd4e!d5e"d6ej#Z$Gd7ddeZ%Gd8dde%Z&dS)9NCookieError
BaseCookieSimpleCookiez;  cCs0ddl}d|}|j|tdddS)NrzvThe .%s setter is deprecated. The attribute will be read-only in future releases. Please use the set() method instead.
stacklevel)warningswarnDeprecationWarning)setterr	msgr,/opt/alt/python35/lib64/python3.5/cookies.py_warn_deprecated_settersrc@seZdZdS)rN)__name__
__module____qualname__rrrrrsz!#$%&'*+-.^_`|~:z
 ()/<=>?@[]{}cCsi|]}d||qS)z\%03or).0nrrr
<dictcomp>s	r"z\"\z\\z[%s]+cCs5|dkst|r|Sd|jtdSdS)Nr)
_is_legal_key	translate_Translator)strrrr_quotesrz\\[0-3][0-7][0-7]z[\\].cCs|dkst|dkr"|S|ddksB|ddkrF|S|dd}d}t|}g}x?d|ko|knrtj||}tj||}|r|r|j||dPd	}}|r|jd}|r|jd}|r]|s$||kr]|j||||j||d|d}qq|j||||jtt||d|dd|d}qqWt|S)
Nrrr#r#)	len
_OctalPattsearch
_QuotePattappendstartchrint	_nulljoin)rirresZo_matchZq_matchjkrrr_unquotes6 

.r1ZMonZTueZWedZThuZFriZSatZSunZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecc	Csoddlm}m}|}|||\	}}}}	}
}}}
}d|||||||	|
|fS)Nr)gmtimetimez#%s, %02d %3s %4d %02d:%02d:%02d GMT)r3r2)futureZweekdaynameZ	monthnamer2r3ZnowZyearZmonthZdayZhhZmmssZwdyzrrr_getdates
	+r8c@seZdZdddddddddd	d
ddd
ddiZd
dhZddZeddZejddZeddZ	e	jddZ	eddZ
e
jddZ
ddZdddZd d!Z
ejZd"d#Zd$d%Zd&d'Zed(d)Zd*d+Zd,d-Zdd.d/d0ZeZd1d2Zdd3d4Zdd5d6ZdS)7MorselexpirespathZPathZcommentCommentdomainZDomainzmax-agezMax-AgeZsecureZSecureZhttponlyZHttpOnlyversionZVersioncCsBd|_|_|_x$|jD]}tj||dq!WdS)Nr)_key_value_coded_value	_reserveddict__setitem__)selfkeyrrr__init__&szMorsel.__init__cCs|jS)N)r?)rErrrrF.sz
Morsel.keycCstd||_dS)NrF)rr?)rErFrrrrF2s
cCs|jS)N)r@)rErrrvalue7szMorsel.valuecCstd||_dS)NrH)rr@)rErHrrrrH;s
cCs|jS)N)rA)rErrrcoded_value@szMorsel.coded_valuecCstd||_dS)NrI)rrA)rErIrrrrIDs
cCsE|j}||jkr.td|ftj|||dS)NzInvalid attribute %r)lowerrBrrCrD)rEKVrrrrDIszMorsel.__setitem__NcCsA|j}||jkr.td|ftj|||S)NzInvalid attribute %r)rJrBrrC
setdefault)rErFvalrrrrMOszMorsel.setdefaultcCsYt|tstStj||oX|j|jkoX|j|jkoX|j|jkS)N)
isinstancer9NotImplementedrC__eq__r@r?rA)rEmorselrrrrQUsz
Morsel.__eq__cCs0t}tj|||jj|j|S)N)r9rCupdate__dict__)rErRrrrcopy_s	zMorsel.copycCsui}xXt|jD]D\}}|j}||jkrStd|f|||<qWtj||dS)NzInvalid attribute %r)rCitemsrJrBrrS)rEvaluesdatarFrNrrrrSesz
Morsel.updatecCs|j|jkS)N)rJrB)rErKrrr
isReservedKeynszMorsel.isReservedKeycCs|tkr.ddl}|jdtdd|j|jkrVtd|ft|sutd|f||_||_	||_
dS)NrzSLegalChars parameter is deprecated, ignored and will be removed in future versions.rrz Attempt to set a reserved key %rzIllegal key %r)_LegalCharsr	r
rrJrBrrr?r@rA)rErFrNZ	coded_valZ
LegalCharsr	rrrsetqs		z
Morsel.setcCsd|jd|jd|jiS)NrFrHrI)r?r@rA)rErrr__getstate__s		zMorsel.__getstate__cCs+|d|_|d|_|d|_dS)NrFrHrI)r?r@rA)rEstaterrr__setstate__s

zMorsel.__setstate__zSet-Cookie:cCsd||j|fS)Nz%s %s)OutputString)rEattrsheaderrrroutputsz
Morsel.outputcCsd|jj|jfS)Nz<%s: %s>)	__class__rr_)rErrr__repr__szMorsel.__repr__cCsd|j|jddS)Nz
        <script type="text/javascript">
        <!-- begin hiding
        document.cookie = "%s";
        // end hiding -->
        </script>
        rz\")r_replace)rEr`rrr	js_outputszMorsel.js_outputcCsQg}|j}|d|j|jf|dkr>|j}t|j}x|D]\}}|dkrrqW||krqW|dkrt|tr|d|j|t|fqW|dkrt|tr|d|j||fqW||j	kr(|rC|t
|j|qW|d|j||fqWWt|S)Nz%s=%srr:zmax-agez%s=%d)r(rFrIrBsortedrVrOr+r8_flagsr_semispacejoin)rEr`resultr(rVrFrHrrrr_s(		$zMorsel.OutputString)rrrrBrhrGpropertyrFrrHrIrDrMrQobject__ne__rUrSrYrZr[r\r^rb__str__rdrfr_rrrrr9s>		
r9z,\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=z\[\]z
    (?x)                           # This is a verbose pattern
    \s*                            # Optional whitespace at start of cookie
    (?P<key>                       # Start of group 'key'
    [a	]+?   # Any word of at least one letter
    )                              # End of group 'key'
    (                              # Optional group: there may not be a value.
    \s*=\s*                          # Equal Sign
    (?P<val>                         # Start of group 'val'
    "(?:[^\\"]|\\.)*"                  # Any doublequoted string
    |                                  # or
    \w{3},\s[\w\d\s-]{9,11}\s[\d:]{8}\sGMT  # Special case for "expires" attr
    |                                  # or
    [a-]*      # Any word or empty string
    )                                # End of group 'val'
    )?                             # End of optional value group
    \s*                            # Any number of spaces.
    (\s+|;|$)                      # Ending either at space, semicolon, or EOS.
    c@seZdZddZddZdddZdd	Zd
dZddd
ddZeZ	ddZ
dddZddZe
ddZdS)rcCs
||fS)Nr)rErNrrrvalue_decodeszBaseCookie.value_decodecCst|}||fS)N)r)rErNstrvalrrrvalue_encodeszBaseCookie.value_encodeNcCs|r|j|dS)N)load)rEinputrrrrGszBaseCookie.__init__cCs?|j|t}|j|||tj|||dS)N)getr9r[rCrD)rErFZ
real_valuerIMrrrZ__setszBaseCookie.__setcCsQt|tr%tj|||n(|j|\}}|j|||dS)N)rOr9rCrDrq_BaseCookie__set)rErFrHrvalcvalrrrrDszBaseCookie.__setitem__zSet-Cookie:z
cCsUg}t|j}x-|D]%\}}|j|j||qW|j|S)N)rgrVr(rbjoin)rEr`raseprjrVrFrHrrrrbs
zBaseCookie.outputcCsig}t|j}x4|D],\}}|jd|t|jfqWd|jjt|fS)Nz%s=%sz<%s: %s>)rgrVr(reprrHrcr
_spacejoin)rElrVrFrHrrrrds
$zBaseCookie.__repr__cCsOg}t|j}x*|D]"\}}|j|j|qWt|S)N)rgrVr(rfr,)rEr`rjrVrFrHrrrrfs
zBaseCookie.js_outputcCsJt|tr|j|n'x$|jD]\}}|||<q,WdS)N)rOr_BaseCookie__parse_stringrV)rEZrawdatarFrHrrrrr%s
zBaseCookie.loadcCsd}t|}g}d}d}d}xZd|koD|knr|j||}	|	sbP|	jd|	jd}
}|	jd}|
ddkr|sq-|j||
dd|fq-|
jtjkrK|sdS|dkr,|
jtjkr%|j||
dfqHdSq|j||
t	|fq-|dk	r|j||
|j
|fd}q-dSq-Wd}xY|D]Q\}
}
}|
|kr|||
<q|\}}|j|
||||
}qWdS)	NrFr rrFrN$T)r$matchgroupendr(rJr9rBrhr1rorv)rErZpattr-rZparsed_itemsZmorsel_seenZTYPE_ATTRIBUTEZ
TYPE_KEYVALUErrFrHrutprwrxrrrZ__parse_string3sF#	
zBaseCookie.__parse_string)rrrrorqrGrvrDrbrnrdrfrr_CookiePatternr~rrrrrs			c@s(eZdZddZddZdS)rcCst||fS)N)r1)rErNrrrrowszSimpleCookie.value_decodecCst|}|t|fS)N)rr)rErNrprrrrqzszSimpleCookie.value_encodeN)rrrrorqrrrrrps)'restring__all__ryr,rir|r	Exceptionr
ascii_lettersdigitsrZZ_UnescapedCharsr[rangemapordrrScompileescape	fullmatchrrr%r'r1Z_weekdaynameZ
_monthnamer8rCr9Z_LegalKeyCharsZ_LegalValueCharsASCIIrrrrrrr<module>s@				
	)
2


Back to Directory File Manager