3 Õì2aŽSã @sxddlZddlZdddgZdjZdjZdjZdd „ZGd d„deƒZ ej ej d Z e d Z d d„eedƒƒeeee ƒƒDƒZejedƒdedƒdiƒejdeje ƒƒjZdd„ZejdƒZejdƒZdd„Zdddddd d!gZdd"d#d$d%d&d'd(d)d*d+d,d-g Zdeefd.d/„ZGd0d1„d1eƒZ d2Z!e!d3Z"ejd4e!d5e"d6ej#ej$BƒZ%Gd7d„deƒZ&Gd8d„de&ƒZ'dS)9éNÚ CookieErrorÚ BaseCookieÚ SimpleCookieÚz; ú cCs$ddl}d|}|j|tdd�dS)NrzvThe .%s setter is deprecated. The attribute will be read-only in future releases. Please use the set() method instead.é)Ú stacklevel)ÚwarningsÚwarnÚDeprecationWarning)Úsetterr Úmsg©rú,/opt/alt/python36/lib64/python3.6/cookies.pyÚ_warn_deprecated_setter�src@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__rrrrr–sz!#$%&'*+-.^_`|~:z ()/<=>?@[]{}cCsi|]}d||“qS)z\%03or)Ú.0Únrrrú ªsréú"z\"ú\z\\z[%s]+cCs*|dkst|ƒr|Sd|jtƒdSdS)Nr)Ú _is_legal_keyÚ translateÚ _Translator)ÚstrrrrÚ_quote³srz\\[0-3][0-7][0-7]z[\\].cCsT|dkst|ƒdkr|S|ddks0|ddkr4|S|dd…}d}t|ƒ}g}xúd|kod|kn�rJtj||ƒ}tj||ƒ}| r¤| r¤|j||d…ƒPd }}|rº|jdƒ}|rÈ|jdƒ}|oØ| sÜ||k�r |j|||…ƒ|j||dƒ|d}qR|j|||…ƒ|jtt||d|d…dƒƒƒ|d}qRWt|ƒS) Nérrééééÿÿÿÿr#r#) ÚlenÚ _OctalPattÚsearchÚ _QuotePattÚappendÚstartÚchrÚintÚ _nulljoin)rÚirÚresZo_matchZq_matchÚjÚkrrrÚ_unquoteÃs6       $ r1ZMonZTueZWedZThuZFriZSatZSunZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecc CsRddlm}m}|ƒ}|||ƒ\ }}}} } } } } }d|| ||||| | | fS)Nr)ÚgmtimeÚtimez#%s, %02d %3s %4d %02d:%02d:%02d GMT)r3r2)ZfutureZ weekdaynameZ monthnamer2r3ZnowZyearZmonthZdayZhhZmmÚssZwdÚyÚzrrrÚ_getdateûs r7c @sþeZdZddddddddd œZd d hZd d „Zedd„ƒZejdd„ƒZedd„ƒZ e jdd„ƒZ edd„ƒZ e jdd„ƒZ dd„Z d3dd„Z dd„Z ejZdd„Zd d!„Zd"d#„Zefd$d%„Zd&d'„Zd(d)„Zd4d+d,„ZeZd-d.„Zd5d/d0„Zd6d1d2„ZdS)7ÚMorselÚexpiresZPathÚCommentZDomainzMax-AgeZSecureZHttpOnlyZVersion)r9ÚpathÚcommentÚdomainzmax-ageÚsecureÚhttponlyÚversionr>r?cCs4d|_|_|_x|jD]}tj||dƒqWdS)Nr)Ú_keyÚ_valueÚ _coded_valueÚ _reservedÚdictÚ __setitem__)ÚselfÚkeyrrrÚ__init__&s zMorsel.__init__cCs|jS)N)rA)rGrrrrH.sz Morsel.keycCstdƒ||_dS)NrH)rrA)rGrHrrrrH2scCs|jS)N)rB)rGrrrÚvalue7sz Morsel.valuecCstdƒ||_dS)NrJ)rrB)rGrJrrrrJ;scCs|jS)N)rC)rGrrrÚ coded_value@szMorsel.coded_valuecCstdƒ||_dS)NrK)rrC)rGrKrrrrKDscCs2|jƒ}||jkr td|fƒ‚tj|||ƒdS)NzInvalid attribute %r)ÚlowerrDrrErF)rGÚKÚVrrrrFIs zMorsel.__setitem__NcCs.|jƒ}||jkr td|fƒ‚tj|||ƒS)NzInvalid attribute %r)rLrDrrEÚ setdefault)rGrHÚvalrrrrOOs zMorsel.setdefaultcCs>t|tƒstStj||ƒo<|j|jko<|j|jko<|j|jkS)N)Ú isinstancer8ÚNotImplementedrEÚ__eq__rBrArC)rGÚmorselrrrrSUs     z Morsel.__eq__cCs$tƒ}tj||ƒ|jj|jƒ|S)N)r8rEÚupdateÚ__dict__)rGrTrrrÚcopy_s z Morsel.copycCsVi}x@t|ƒjƒD]0\}}|jƒ}||jkr:td|fƒ‚|||<qWtj||ƒdS)NzInvalid attribute %r)rEÚitemsrLrDrrU)rGÚvaluesÚdatarHrPrrrrUes  z Morsel.updatecCs|jƒ|jkS)N)rLrD)rGrMrrrÚ isReservedKeynszMorsel.isReservedKeycCsh|tkr ddl}|jdtdd�|jƒ|jkr)Ú __class__rrb)rGrrrÚ__repr__”szMorsel.__repr__cCsd|j|ƒjddƒS)Nz— rz\")rbÚreplace)rGrcrrrÚ js_output—szMorsel.js_outputcCs(g}|j}|d|j|jfƒ|dkr,|j}t|jƒƒ}xæ|D]Þ\}}|dkrPq>||krZq>|dkrˆt|tƒrˆ|d|j|t|ƒfƒq>|dkr²t|tƒr²|d|j||fƒq>|dkràt|t ƒrà|d|j|t |ƒfƒq>||j k�r|�r|t |j|ƒƒq>|d|j||fƒq>Wt |ƒS)Nz%s=%srr9zmax-agez%s=%dr<) r(rHrKrDÚsortedrXrQr+r7rrÚ_flagsÚ_semispacejoin)rGrcÚresultr(rXrHrJrrrrb¡s,  zMorsel.OutputString)N)Nra)N)N)rrrrDrkrIÚpropertyrHr rJrKrFrOrSÚobjectÚ__ne__rWrUr[r\r]r^r`reÚ__str__rgrirbrrrrr8s>        r8z,\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=z\[\]zŒ \s* # Optional whitespace at start of cookie (?P # 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 # 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@sjeZdZdd„Zdd„Zddd„Zdd „Zd d „Zddd„ZeZ dd„Z ddd„Z dd„Z e fdd„ZdS)rcCs||fS)Nr)rGrPrrrÚ value_decodeèszBaseCookie.value_decodecCst|ƒ}||fS)N)r)rGrPÚstrvalrrrÚ value_encodeñszBaseCookie.value_encodeNcCs|r|j|ƒdS)N)Úload)rGÚinputrrrrIúszBaseCookie.__init__cCs.|j|tƒƒ}|j|||ƒtj|||ƒdS)N)Úgetr8r]rErF)rGrHZ real_valuerKÚMrrrZ__setþszBaseCookie.__setcCs:t|tƒrtj|||ƒn|j|ƒ\}}|j|||ƒdS)N)rQr8rErFrtÚ_BaseCookie__set)rGrHrJÚrvalÚcvalrrrrFs zBaseCookie.__setitem__ú Set-Cookie:ú cCs>g}t|jƒƒ}x"|D]\}}|j|j||ƒƒqW|j|ƒS)N)rjrXr(reÚjoin)rGrcrdÚseprmrXrHrJrrrre s  zBaseCookie.outputcCsNg}t|jƒƒ}x(|D] \}}|jd|t|jƒfƒqWd|jjt|ƒfS)Nz%s=%sz<%s: %s>)rjrXr(ÚreprrJrfrÚ _spacejoin)rGÚlrXrHrJrrrrgs  zBaseCookie.__repr__cCs:g}t|jƒƒ}x |D]\}}|j|j|ƒƒqWt|ƒS)N)rjrXr(rir,)rGrcrmrXrHrJrrrris  zBaseCookie.js_outputcCs8t|tƒr|j|ƒnx|jƒD]\}}|||<q WdS)N)rQrÚ_BaseCookie__parse_stringrX)rGZrawdatarHrJrrrru&s    zBaseCookie.loadcCspd}t|ƒ}g}d}d}d}�xd|ko2|kn�r|j||ƒ} | sLP| jdƒ| jdƒ} } | jdƒ}| ddkr˜|s~q |j|| dd…| fƒq | jƒtjkrò|s®dS| dkrÜ| jƒtjkrÖ|j|| dfƒqðdSn|j|| t | ƒfƒq | dk �r|j|| |j | ƒfƒd}q dSq Wd} xF|D]>\} } } | |k�rH| | | <n| \}}|j | ||ƒ|| } �q*WdS) NrFr rrHrPú$T) r$ÚmatchÚgroupÚendr(rLr8rDrkr1rrry)rGrZpattr-rZ parsed_itemsZ morsel_seenZTYPE_ATTRIBUTEZ TYPE_KEYVALUEr…rHrJrxÚtprzr{rrrZ__parse_string4sF      zBaseCookie.__parse_string)N)Nr|r})N)rrrrrrtrIryrFrerqrgriruÚ_CookiePatternrƒrrrrrås    c@seZdZdd„Zdd„ZdS)rcCs t|ƒ|fS)N)r1)rGrPrrrrrxszSimpleCookie.value_decodecCst|ƒ}|t|ƒfS)N)rr)rGrPrsrrrrt{szSimpleCookie.value_encodeN)rrrrrrtrrrrrqs)(ÚreÚstringÚ__all__r~r,rlr�rÚ ExceptionrZ ascii_lettersÚdigitsr\Z_UnescapedCharsr]ÚrangeÚmapÚordrrUÚcompileÚescapeÚ fullmatchrrr%r'r1Z _weekdaynameZ _monthnamer7rEr8Z_LegalKeyCharsZ_LegalValueCharsÚASCIIÚVERBOSEr‰rrrrrrÚ„sD    2 J