/usr/lib64/python3.9/http/__pycache__
NameSizeModeActions
client.cpython-39.opt-1.pyc354660644editdlrm
client.cpython-39.opt-2.pyc259380644editdlrm
client.cpython-39.pyc355390644editdlrm
cookiejar.cpython-39.opt-1.pyc533480644editdlrm
cookiejar.cpython-39.opt-2.pyc377110644editdlrm
cookiejar.cpython-39.pyc535050644editdlrm
cookies.cpython-39.opt-1.pyc150290644editdlrm
cookies.cpython-39.opt-2.pyc106320644editdlrm
cookies.cpython-39.pyc150610644editdlrm
server.cpython-39.opt-1.pyc350320644editdlrm
server.cpython-39.opt-2.pyc229860644editdlrm
server.cpython-39.pyc350320644editdlrm
__init__.cpython-39.opt-1.pyc64130644editdlrm
__init__.cpython-39.opt-2.pyc55540644editdlrm
__init__.cpython-39.pyc64130644editdlrm
Edit: /usr/lib64/python3.9/http/__pycache__/cookiejar.cpython-39.opt-2.pyc (37711B)
a ´i#,ã@sÞgd¢ZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl mZdZdadd„Zee jjƒZdZdd „Zd Zd d „Zgd ¢Zgd¢ZgZeD]Ze e ¡¡q¨dddd„Z dedd„Z!dddddœZ"e #dej$¡Z%dd„Z&dd„Z'e #dej$¡Z(e #dej)ej$B¡Z*e #dej+ej$B¡Z,dd„Z-e #dej+ej$B¡Z.dd „Z/d!d"„Z0e #d#¡Z1e #d$¡Z2e #d%¡Z3e #d&¡Z4d'd(„Z5e #d)¡Z6d*d+„Z7d,d-„Z8d.d/„Z9e #d0ej$¡Z:d1d2„Z;d3d4„Ze #d9ej$¡Z?d:d;„Z@dd?„ZBd@dA„ZCdBZDe #dC¡ZEdDdE„ZFdFdG„ZGdHdI„ZHdJdK„ZIGdLdM„dMƒZJGdNdO„dOƒZKGdPdQ„dQeKƒZLdRdS„ZMdTdU„ZNGdVdW„dWƒZOGdXdY„dYƒZPGdZd[„d[eQƒZRGd\d]„d]ePƒZSd^d_„ZTGd`da„daeSƒZUGdbdc„dceSƒZVdS)f)ÚCookieÚ CookieJarÚ CookiePolicyÚDefaultCookiePolicyÚ FileCookieJarÚ LWPCookieJarÚ LoadErrorÚMozillaCookieJaréN)ÚtimegmFcGs(tsdStsddl}| d¡atj|ŽS)Nr zhttp.cookiejar)ÚdebugÚloggerÚloggingÚ getLogger)Úargsr ©rú&/usr/lib64/python3.9/http/cookiejar.pyÚ_debug,s  rzQa filename was not supplied (nor was the CookieJar instance initialised with one)cCsJddl}ddl}ddl}| ¡}| d|¡| ¡}|jd|dd�dS)Nr zhttp.cookiejar bug! %sé)Ú stacklevel)ÚioÚwarningsÚ tracebackÚStringIOÚ print_excÚgetvalueÚwarn)rrrÚfÚmsgrrrÚ_warn_unhandled_exception:s  ri²cCs¨|dd…\}}}}}}|tkr d|kr4dkr nnhd|krLdkr nnPd|krddkr nn8d|kr|dkr nn d|kr”dkr nnt|ƒSdSdS) Nééé ér éé;é=)Ú EPOCH_YEARr )ÚttÚyearÚmonthZmdayÚhourÚminÚsecrrrÚ_timegmIs 8ÿÿ ÿÿ ÿÿ r-)ZMonZTueZWedZThuZFriZSatZSun) ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDeccCs@|durtj ¡}n tj |¡}d|j|j|j|j|j|jfS)Nz%04d-%02d-%02d %02d:%02d:%02dZ) ÚdatetimeÚutcnowÚutcfromtimestampr(r)Údayr*ÚminuteÚsecond©ÚtZdtrrrÚ time2isozWs   ÿr6cCsR|durtj ¡}n tj |¡}dt| ¡|jt|jd|j|j |j |j fS)Nz#%s, %02d-%s-%04d %02d:%02d:%02d GMTr ) r.r/r0ÚDAYSZweekdayr1ÚMONTHSr)r(r*r2r3r4rrrÚ time2netscapejs   þr9)ZGMTÚUTCZUTÚZz^([-+])?(\d\d?):?(\d\d)?$cCsjd}|tvrd}nTt |¡}|rfdt| d¡ƒ}| d¡rR|dt| d¡ƒ}| d¡dkrf| }|S)Nr iréé<r ú-)Ú UTC_ZONESÚ TIMEZONE_REÚsearchÚintÚgroup)ÚtzÚoffsetÚmrrrÚoffset_from_tz_string�s  rGc CsŠt|ƒ}|tjkrdSzt | ¡¡d}WnZty†z t|ƒ}Wnty\YYdS0d|krrdkr|nn|}nYdSYn0|dur”d}|dur d}|dur¬d}t|ƒ}t|ƒ}t|ƒ}t|ƒ}|dk�r2t t ¡¡d}|d} |} ||| }| | } t | ƒdk�r2| dk�r*|d}n|d}t |||||||fƒ} | du�r†|du�r`d}|  ¡}t |ƒ} | du�r~dS| | } | S)Nr r!r ièédé2r:) rBr.ZMAXYEARÚ MONTHS_LOWERÚindexÚlowerÚ ValueErrorÚtimeÚ localtimeÚabsr-ÚupperrG) r1ÚmonÚyrÚhrr+r,rDZimonZcur_yrrFÚtmpr5rErrrÚ _str2time�sN              rVzV^[SMTWF][a-z][a-z], (\d\d) ([JFMASOND][a-z][a-z]) (\d\d\d\d) (\d\d):(\d\d):(\d\d) GMT$z+^(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)[a-z]*,?\s*aò^ (\d\d?) # day (?:\s+|[-\/]) (\w+) # month (?:\s+|[-\/]) (\d+) # year (?: (?:\s+|:) # separator before clock (\d\d?):(\d\d) # hour:min (?::(\d\d))? # optional seconds )? # optional clock \s* (?: ([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+) # timezone \s* )? (?: \(\w+\) # ASCII representation of timezone in parens. \s* )?$c CsÜt |¡}|rl| ¡}t |d ¡¡d}t|dƒ|t|dƒt|dƒt|dƒt|dƒf}t|ƒS|  ¡}t   d|d¡}dgd\}}}}}} } t  |¡}|durÄ| ¡\}}}}}} } ndSt |||||| | ƒS) Nr rr r<ééÚé)ÚSTRICT_DATE_RErAÚgroupsrJrKrLrBÚfloatr-ÚlstripÚ WEEKDAY_REÚsubÚLOOSE_HTTP_DATE_RErV) ÚtextrFÚgrRr'r1rSrTr+r,rDrrrÚ http2timeás  ÿ rdaÖ^ (\d{4}) # year [-\/]? (\d\d?) # numerical month [-\/]? (\d\d?) # day (?: (?:\s+|[-:Tt]) # separator before clock (\d\d?):?(\d\d) # hour:min (?::?(\d\d(?:\.\d*)?))? # optional seconds (and fractional) )? # optional clock \s* (?: ([-+]?\d\d?:?(:?\d\d)? |Z|z) # timezone (Z is "zero meridian", i.e. GMT) \s* )?$c Csd| ¡}dgd\}}}}}}}t |¡}|durL| ¡\}}}}}}}} ndSt|||||||ƒS)NrZ)r^Ú ISO_DATE_RErAr\rV) rbr1rRrSrTr+r,rDrFÚ_rrrÚiso2time+s  rgcCs*| d¡\}}|jd|…|j|d…S)Nr )ÚspanÚstring)ÚmatchÚstartÚendrrrÚ unmatchedLsrmz^\s*([^=\s;,]+)z&^\s*=\s*\"([^\"\\]*(?:\\.[^\"\\]*)*)\"z^\s*=\s*([^\s;,]*)z\\(.)c Csg}|D]ô}|}g}|rît |¡}|r¤t|ƒ}| d¡}t |¡}|rft|ƒ}| d¡}t d|¡}n.t |¡}|r�t|ƒ}| d¡}| ¡}nd}|  ||f¡q|  ¡  d¡rÖ|  ¡dd…}|rÐ|  |¡g}qt   dd|¡\}} |}q|r|  |¡q|S)Nr z\1ú,z^[=\s;]*rY)ÚHEADER_TOKEN_RErArmrCÚHEADER_QUOTED_VALUE_REÚHEADER_ESCAPE_REr`ÚHEADER_VALUE_REÚrstripÚappendr^Ú startswithÚreÚsubn) Z header_valuesÚresultrbZ orig_textÚpairsrFÚnameÚvalueZnon_junkZ nr_junk_charsrrrÚsplit_header_wordsUs:.       r|ú([\"\\])cCs|g}|D]h}g}|D]F\}}|durPt d|¡sDt d|¡}d|}d||f}| |¡q|r| d |¡¡qd |¡S)Nz^\w+$ú\\\1z"%s"ú%s=%sú; ú, )rvrAÚHEADER_JOIN_ESCAPE_REr`rtÚjoin)ZlistsÚheadersryÚattrÚkÚvrrrÚjoin_header_words«s      rˆcCs0| d¡r|dd…}| d¡r,|dd…}|S)Nú"r éÿÿÿÿ)ruÚendswith©rbrrrÚ strip_quotesÄs     r�c Csúd}g}|D]è}g}d}t| d¡ƒD]°\}}| ¡}| d¡\}} } | ¡}|sb|dkr&qØnq&| rn|  ¡nd} |dkrÈ| ¡} | |vrŽ| }|dkr¬| dur¦t| ƒ} d}n|dkrÈ| durÈtt| ƒƒ} | || f¡q&|r |sê| d ¡| |¡q |S) N)ÚexpiresÚdomainÚpathÚsecureÚversionÚportúmax-ageFú;ú=r r’TrŽ)r’Ú0)Ú enumerateÚsplitÚstripÚ partitionrLr�rdrt) Z ns_headersZ known_attrsrxZ ns_headerryÚ version_setÚiiZparamÚkeyÚsepÚvalÚlcrrrÚparse_ns_headersËs>   r¢z\.\d+$cCs:t |¡rdS|dkrdS|ddks2|ddkr6dSdS)NFrYr Ú.rŠT©ÚIPV4_RErArŒrrrÚis_HDNs r¦cCsl| ¡}| ¡}||krdSt|ƒs(dS| |¡}|dksB|dkrFdS| d¡sTdSt|dd…ƒshdSdS)NTFrŠr r£r )rLr¦Úrfindru)ÚAÚBÚirrrÚ domain_matchs  r«cCst |¡rdSdS©NFTr¤rŒrrrÚliberal_is_HDNFs r­cCs`| ¡}| ¡}t|ƒr t|ƒs0||kr,dSdS| d¡}|rL| |¡rLdS|s\||kr\dSdS)NTFr£)rLr­rur‹)r¨r©Ú initial_dotrrrÚuser_domain_matchPs  r¯z:\d+$cCsB| ¡}tj |¡d}|dkr,| dd¡}t d|d¡}| ¡S)Nr rYZHost)Ú get_full_urlÚurllibÚparseÚurlparseZ get_headerÚ cut_port_rer`rL)ÚrequestÚurlÚhostrrrÚ request_hostes  r¸cCs4t|ƒ}}| d¡dkr,t |¡s,|d}||fS)Nr£rŠú.local)r¸Úfindr¥rA)rµÚerhnÚreq_hostrrrÚeff_request_hostus r½cCs4| ¡}tj |¡}t|jƒ}| d¡s0d|}|S)Nú/)r°r±r²ÚurlsplitÚ escape_pathr�ru)rµr¶Úpartsr�rrrÚ request_path€s    rÂcCs^|j}| d¡}|dkrV||dd…}z t|ƒWqZtyRtd|ƒYdS0nt}|S)Nú:r r znonnumeric port: '%s')r·rºrBrMrÚDEFAULT_HTTP_PORT)rµr·rªr“rrrÚ request_portŠs     rÅz%/;:@&=+$,!~*'()z%([0-9a-fA-F][0-9a-fA-F])cCsd| d¡ ¡S)Nz%%%sr )rCrQ)rjrrrÚuppercase_escaped_charœsrÆcCstj |t¡}t t|¡}|S©N)r±r²ÚquoteÚHTTP_PATH_SAFEÚESCAPED_CHAR_REr`rÆ)r�rrrrÀžs  rÀcCsP| d¡}|dkrL||dd…}| d¡}t|ƒrL|dksD|dkrLd|S|S)Nr£r r Úlocal)rºr¦)ÚhrªÚbrrrÚreach¬s  rÎcCs$t|ƒ}t|t|jƒƒsdSdSdS©NTF)r¸r«rÎZorigin_req_host)rµr¼rrrÚis_third_partyÏs rÐc@sJeZdZddd„Zdd„Zddd„Zd d „Zdd d „Zd d„Zdd„Z dS)rFcCs°|durt|ƒ}| dur$tt| ƒƒ} |dur<|dur)r“r�r�r{rz)rÛÚpÚlimitZ namevaluerrrÚ__str__)s  zCookie.__str__cCslg}dD]$}t||ƒ}| d|t|ƒf¡q| dt|jƒ¡| dt|jƒ¡d|jjd |¡fS)N)r’rzr{r“rÑr�rÒrÓr�rÔr‘rŽrÕrÖr×rzrest=%sz rfc2109=%sz%s(%s)r�)ÚgetattrrtÚreprrÚrØÚ __class__Ú__name__rƒ)rÛrrzr…rrrÚ__repr__3s zCookie.__repr__)F)N)N) rìÚ __module__Ú __qualname__rÝrßrârãrårèrírrrrràsö *   rc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) rcCs tƒ‚dSrÇ©ÚNotImplementedError©rÛÚcookierµrrrÚset_okKszCookiePolicy.set_okcCs tƒ‚dSrÇrðròrrrÚ return_okTszCookiePolicy.return_okcCsdS©NTr)rÛr�rµrrrÚdomain_return_okXszCookiePolicy.domain_return_okcCsdSrör)rÛr�rµrrrÚpath_return_ok]szCookiePolicy.path_return_okN)rìrîrïrôrõr÷rørrrrrBs  rc @søeZdZdZdZdZdZeeBZdddddddddedddf d d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„ZdS)7rr rrWr NTF)ÚhttpsÚwsscCsv||_||_||_||_||_||_| |_| |_| |_| |_ | |_ |durVt |ƒ|_ nd|_ |durlt |ƒ}||_ dS)Nr)ÚnetscapeÚrfc2965Úrfc2109_as_netscapeÚ hide_cookie2Ú strict_domainÚstrict_rfc2965_unverifiableÚstrict_ns_unverifiableÚstrict_ns_domainÚstrict_ns_set_initial_dollarÚstrict_ns_set_pathÚsecure_protocolsÚtupleÚ_blocked_domainsÚ_allowed_domains)rÛÚblocked_domainsÚallowed_domainsrûrürýrþrÿrrrrrrrrrrÝms" zDefaultCookiePolicy.__init__cCs|jSrÇ)r©rÛrrrr �sz#DefaultCookiePolicy.blocked_domainscCst|ƒ|_dSrÇ)rr)rÛr rrrÚset_blocked_domains“sz'DefaultCookiePolicy.set_blocked_domainscCs |jD]}t||ƒrdSqdSrÏ)rr¯)rÛr�Zblocked_domainrrrÚ is_blocked—s  zDefaultCookiePolicy.is_blockedcCs|jSrÇ)rr rrrr �sz#DefaultCookiePolicy.allowed_domainscCs|durt|ƒ}||_dSrÇ)rr)rÛr rrrÚset_allowed_domains sz'DefaultCookiePolicy.set_allowed_domainscCs.|jdurdS|jD]}t||ƒrdSqdSr¬)rr¯)rÛr�Zallowed_domainrrrÚis_not_allowed¦s    z"DefaultCookiePolicy.is_not_allowedcCs@td|j|jƒdD]&}d|}t||ƒ}|||ƒsdSqdS)Nú - checking cookie %s=%s)r’Ú verifiabilityrzr�r�r“Zset_ok_FT©rrzr{ré©rÛrórµÚnZfn_nameÚfnrrrrô®s  zDefaultCookiePolicy.set_okcCsZ|jdurtd|j|jƒdS|jdkr:|js:tdƒdS|jdkrV|jsVtdƒdSdS)Nz0 Set-Cookie2 without version attribute (%s=%s)Fr ú$ RFC 2965 cookies are switched offú$ Netscape cookies are switched offT)r’rrzr{rürûròrrrÚset_ok_versionÁs ÿz"DefaultCookiePolicy.set_ok_versioncCsJ|jrFt|ƒrF|jdkr*|jr*tdƒdS|jdkrF|jrFtdƒdSdS©Nr z> third-party RFC 2965 cookie during unverifiable transactionFz> third-party Netscape cookie during unverifiable transactionT©Z unverifiablerÐr’rrrròrrrÚset_ok_verifiabilityÐsz(DefaultCookiePolicy.set_ok_verifiabilitycCs0|jdkr,|jr,|j d¡r,td|jƒdSdS)Nr ú$z' illegal name (starts with '$'): '%s'FT)r’rrzrurròrrrÚ set_ok_nameÜs  ÿ zDefaultCookiePolicy.set_ok_namecCsL|jrHt|ƒ}|jdks(|jdkrH|jrH| |j|¡sHtd|j|ƒdSdS)Nr z7 path attribute %s is not a prefix of request path %sFT)rÔrÂr’rrør�r)rÛrórµÚreq_pathrrrÚ set_ok_pathås ÿÿ þÿzDefaultCookiePolicy.set_ok_pathc Csê| |j¡rtd|jƒdS| |j¡r8td|jƒdS|j�ræt|ƒ\}}|j}|jrÌ| d¡dkrÌ| d¡}| dd|¡}|dkrÌ||dd…}||d|…} |   ¡dvrÌt |ƒdkrÌtd |ƒdS|  d¡rä|dd…} n|} |   d¡dk} | �s|d k�rtd |ƒdS|j dk�rX| |¡�sX|  d¡�sXd| |¡�sXtd ||ƒdS|j dk�sr|j|j@�rŽt||ƒ�sŽtd ||ƒdS|j dk�s¨|j|j@�ræ|dt |ƒ …} |   d¡dk�ræt |¡�sætd| |ƒdSdS)Nú" domain %s is in user block-listFú& domain %s is not in user allow-listr£rr r )ÚcoZacZcomZeduZorgÚnetZgovZmilrBZaeroZbizÚcatZcoopÚinfoZjobsZmobiZmuseumrzZproZtravelÚeuz& country-code second level domain %sr¹z/ non-local domain %s contains no embedded dotzO effective request-host %s (even with added initial dot) does not end with %sz5 effective request-host %s does not domain-match %sz. host prefix %s for domain %s contains a dotT)r r�rrrÒr½rÿÚcountr§rLÚlenrurºr’r‹rÚDomainRFC2965Matchr«ÚDomainStrictNoDotsr¥rA) rÛrórµr¼r»r�rªÚjZtldZsldZundotted_domainZ embedded_dotsZ host_prefixrrrÚ set_ok_domainðsv        ý  ÿ  ÿ þþ  ÿ ÿ  ÿÿÿz!DefaultCookiePolicy.set_ok_domainc Cs†|jr‚t|ƒ}|durd}nt|ƒ}|j d¡D]>}z t|ƒWn ty`td|ƒYdS0||kr0q‚q0td||jƒdSdS)NÚ80rnz bad port %s (not numeric)Fz$ request port (%s) not found in %sT)rÑrÅÚstrr“r™rBrMr©rÛrórµZreq_portrærrrÚ set_ok_port+s$    ÿzDefaultCookiePolicy.set_ok_portcCs@td|j|jƒdD]&}d|}t||ƒ}|||ƒsdSqdS)Nr)r’rr‘rŽr“r�Z return_ok_FTrrrrrrõ@s   zDefaultCookiePolicy.return_okcCs<|jdkr|jstdƒdS|jdkr8|js8tdƒdSdS)Nr rFrT)r’rürrûròrrrÚreturn_ok_versionRsz%DefaultCookiePolicy.return_ok_versioncCsJ|jrFt|ƒrF|jdkr*|jr*tdƒdS|jdkrF|jrFtdƒdSdSrrròrrrÚreturn_ok_verifiability[sz+DefaultCookiePolicy.return_ok_verifiabilitycCs"|jr|j|jvrtdƒdSdS)Nz( secure cookie with non-secure requestFT)r‘ÚtyperrròrrrÚreturn_ok_securegsz$DefaultCookiePolicy.return_ok_securecCs| |j¡rtdƒdSdS)Nz cookie expiredFT)råÚ_nowrròrrrÚreturn_ok_expiresms z%DefaultCookiePolicy.return_ok_expirescCsN|jrJt|ƒ}|durd}|j d¡D]}||kr&qJq&td||jƒdSdS)Nr-rnz0 request port %s does not match cookie port %sFT)r“rÅr™rr/rrrÚreturn_ok_portssÿz"DefaultCookiePolicy.return_ok_portcCs®t|ƒ\}}|j}|r*| d¡s*d|}n|}|jdkr^|j|j@r^|js^||kr^tdƒdS|jdkr‚t||ƒs‚td||ƒdS|jdkrªd|  |¡sªtd||ƒdSdS)Nr£r zQ cookie with unspecified domain does not string-compare equal to request domainFzQ effective request-host name %s does not domain-match RFC 2965 cookie domain %sz; request-host %s does not match Netscape cookie domain %sT) r½r�rur’rÚDomainStrictNonDomainrÒrr«r‹)rÛrórµr¼r»r�Ú dotdomainrrrÚreturn_ok_domain�s2    ÿþþÿÿz$DefaultCookiePolicy.return_ok_domaincCs˜t|ƒ\}}| d¡sd|}| d¡s0d|}|rH| d¡sHd|}n|}| |¡sd| |¡sddS| |¡r|td|ƒdS| |¡r”td|ƒdSdS)Nr£Fr r!T)r½rur‹r rr)rÛr�rµr¼r»r9rrrr÷œs"        z$DefaultCookiePolicy.domain_return_okcCsbtd|ƒt|ƒ}t|ƒ}||kr&dS| |¡rR| d¡sN|||d…dkrRdStd||ƒdS)Nz- checking cookie path=%sTr¾r z %s does not path-match %sF)rrÂr(rur‹)rÛr�rµrZpathlenrrrrø¶s  ÿÿ z"DefaultCookiePolicy.path_return_ok)rìrîrïr*r8r)Z DomainLiberalZ DomainStrictrÝr r r r rrrôrrrrr,r0rõr1r2r4r6r7r:r÷rørrrrrcsNõ #   ;  rcCst| ¡ƒ}t|j|ƒSrÇ)ÚsortedÚkeysÚmaprà)Zadictr<rrrÚvals_sorted_by_keyÃs r>c csTt|ƒ}|D]B}d}z |jWnty0Yn0d}t|ƒEdH|s |Vq dSr¬)r>ÚitemsÚAttributeErrorÚ deepvalues)ÚmappingÚvaluesÚobjrrrrAÇs  rAc@s eZdZdS)ÚAbsentN©rìrîrïrrrrrEÙórEc@søeZdZe d¡Ze d¡Ze d¡Ze d¡Ze d¡Z e dej ¡Z d2dd „Z d d „Z d d „Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd3d$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Z dS)4rz\Wr}z\.?[^.]*z[^.]*z^\.+z^\#LWP-Cookies-(\d+\.\d+)NcCs(|durtƒ}||_t ¡|_i|_dSrÇ)rÚ_policyÚ _threadingÚRLockÚ _cookies_lockÚ_cookies©rÛÚpolicyrrrrÝês  zCookieJar.__init__cCs ||_dSrÇ)rHrMrrrÚ set_policyòszCookieJar.set_policycCsŒg}|j ||¡sgStd|ƒ|j|}| ¡D]T}|j ||¡sFq2||}| ¡D].}|j ||¡srtdƒqVtdƒ| |¡qVq2|S)Nz!Checking %s for cookies to returnz not returning cookiez it's a match) rHr÷rrLr<rørCrõrt)rÛr�rµÚcookiesZcookies_by_pathr�Zcookies_by_namerórrrÚ_cookies_for_domainõs     zCookieJar._cookies_for_domaincCs*g}|j ¡D]}| | ||¡¡q|SrÇ)rLr<ÚextendrQ)rÛrµrPr�rrrÚ_cookies_for_requestszCookieJar._cookies_for_requestc Cs<|jdd„dd�d}g}|D�]}|j}|sHd}|dkrH| d|¡|jdurz|j |j¡rz|dkrz|j d|j¡}n|j}|jdur˜| |j¡n| d |j|f¡|dkr|j rÊ| d |j ¡|j   d ¡�r|j }|j sú|  d ¡rú|d d…}| d |¡|jdurd}|j�r,|d|j}| |¡q|S)NcSs t|jƒSrÇ)r(r�)ÚarrrÚrGz)CookieJar._cookie_attrs..T)ržÚreverseFr z $Version=%sr~rz $Path="%s"r£r z $Domain="%s"z$Portz="%s")Úsortr’rtr{Ú non_word_rerAÚquote_rer`rzrÔr�r�rurÓr“rÑ) rÛrPrœÚattrsrór’r{r�rærrrÚ _cookie_attrssF    ÿÿ ÿ   zCookieJar._cookie_attrscCsÂtdƒ|j ¡z–tt ¡ƒ|j_|_| |¡}| |¡}|r^|  d¡s^|  dd  |¡¡|jj rœ|jj sœ|  d¡sœ|D]}|jdkr||  dd¡qœq|W|j ¡n |j ¡0| ¡dS)NÚadd_cookie_headerrr€ZCookie2r z $Version="1")rrKÚacquirerBrNrHr5rSr[Z has_headerZadd_unredirected_headerrƒrürþr’ÚreleaseÚclear_expired_cookies)rÛrµrPrZrórrrr\Is(     ÿÿ  zCookieJar.add_cookie_headerc Cs�g}d}d}|D�]x}|d\}}d}d} i} i} |dd…D�].\} } |  ¡}||vs`||vrd|} | |vrx| durxd} | | vr‚q>| dkr¬| dur¤tdƒd} �qp|  ¡} | d krÌ|rºq>| durÌtd ƒq>| d k�rd}z t| ƒ} Wn(t�ytd ƒd} Y�qpYn0d } |j| } | |v�s2| |v�rf| du�r\| d v�r\td| ƒd} �qp| | | <q>| | | <q>| �rxq| ||| | f¡q|S)N)rÕr‘)r’rŽr”r�r�r“rÖÚ commenturlr Fr Tr�z% missing value for domain attributerŽzM missing or invalid value for expires attribute: treating as session cookier”z? missing or invalid (non-numeric) value for max-age attribute)r“rÖr`z! missing value for %s attribute)rLrrBrMr5rt)rÛÚ attrs_setÚ cookie_tuplesÚ boolean_attrsÚ value_attrsZ cookie_attrsrzr{Z max_age_setZ bad_cookieÚstandardrÜr†r‡r¡rrrÚ_normalized_cookie_tuplesjsh       ÿ   z#CookieJar._normalized_cookie_tuplescCs"|\}}}}| dt¡}| dt¡}| dt¡} | dt¡} | dd¡} | durrz t| ƒ} WntypYdS0| dd¡} | dd¡} | d d¡}| d d¡}|turÀ|d krÀd }t|ƒ}nXd}t|ƒ}| d ¡}|dk�r| dkrö|d|…}n|d|d…}t|ƒdk�rd }|tu}d}|�r8t|  d¡ƒ}|tu�rTt |ƒ\}}|}n|  d¡�shd|}d}| tu�rž| du�rŠt |ƒ} nd }t   dd | ¡} nd} | tu�r¶d} d } nF| |jk�rüz| |||¡Wnt�yèYn0td|||ƒdSt| ||| ||||||| | | |||ƒS)Nr�r�r“rŽr’r‘FrÕrÖr`rYTr¾rŠr r r£z\s+z2Expiring cookie, domain='%s', path='%s', name='%s')ràrErBrMrÀrÂr§r(Úboolrur½rÅrvr`r5ÚclearÚKeyErrorrr)rÛÚtuprµrzr{rerÜr�r�r“rŽr’r‘rÕrÖr×rÔrªrÒrÓr¼r»rÑrrrÚ_cookie_from_cookie_tupleËs„                       ÿöz#CookieJar._cookie_from_cookie_tuplecCs6| |¡}g}|D]}| ||¡}|r| |¡q|SrÇ)rfrkrt)rÛrarµrbrPrjrórrrÚ_cookies_from_attrs_set's   z!CookieJar._cookies_from_attrs_setcCsHt|jddƒ}|dur |jj }|D]}|jdkr$d|_|r$d|_q$dS)Nrýr Tr )rérHrür’rØ)rÛrPZ rfc2109_as_nsrórrrÚ_process_rfc2109_cookies0s  z"CookieJar._process_rfc2109_cookiesc Cs6| ¡}| dg¡}| dg¡}tt ¡ƒ|j_|_|jj}|jj}|sN|rf|sV|rf|s^|rf|sj|sjgSz| t |ƒ|¡}Wnt yšt ƒg}Yn0|�r2|�r2z| t |ƒ|¡} Wnt yØt ƒg} Yn0|  | ¡|�r"i} |D]} d| | j| j| jf<qò| fdd„} t| | ƒ} | �r2| | ¡|S)Nz Set-Cookie2z Set-CookiecSs|j|j|jf}||vSrÇ)r�r�rz)Z ns_cookieÚlookupržrrrÚno_matching_rfc2965isz3CookieJar.make_cookies..no_matching_rfc2965)r%Zget_allrBrNrHr5rürûrlr|Ú Exceptionrr¢rmr�r�rzÚfilterrR) rÛÚresponserµr„Z rfc2965_hdrsZns_hdrsrürûrPZ ns_cookiesrnrórorrrÚ make_cookies<sZ  ÿÿþþýýÿ   ÿ      zCookieJar.make_cookiescCsX|j ¡z|durX|durJtdƒ‚|j||=n|durj|j|=ni|_dS)Nz8domain and path must be given to remove a cookie by namez.domain must be given to remove cookies by path)rMrL)rÛr�r�rzrrrrh™s ÿÿ zCookieJar.clearcCsN|j ¡z2|D]}|jr| |j|j|j¡qW|j ¡n |j ¡0dSrÇ)rKr]rÕrhr�r�rzr^)rÛrórrrÚclear_session_cookies´s  zCookieJar.clear_session_cookiescCsZ|j ¡z>t ¡}|D]"}| |¡r| |j|j|j¡qW|j ¡n |j ¡0dSrÇ) rKr]rNrårhr�r�rzr^)rÛrärórrrr_Ãs  zCookieJar.clear_expired_cookiescCs t|jƒSrÇ)rArLr rrrÚ__iter__ÖszCookieJar.__iter__cCsd}|D] }|d}q|S)Nr r r)rÛrªrórrrÚ__len__ÙszCookieJar.__len__cCs2g}|D]}| t|ƒ¡qd|jjd |¡fS©Nz<%s[%s]>r�)rtrêrërìrƒ©rÛÚrrórrrríßszCookieJar.__repr__cCs2g}|D]}| t|ƒ¡qd|jjd |¡fSr|)rtr.rërìrƒr}rrrrèäszCookieJar.__str__)N)NNN)!rìrîrïrvÚcompilerXrYZstrict_domain_reZ domain_reZdots_reÚASCIIÚmagic_rerÝrOrQrSr[r\rfrkrlrmrsrurtrxrhryr_rzr{rírèrrrrrÛs6      ;!a\  7   rc@s eZdZdS)rNrFrrrrrërGrc@s4eZdZd dd„Zd dd„Zd dd„Zdd d „ZdS)rNFcCs2t ||¡|durt |¡}||_t|ƒ|_dSrÇ)rrÝÚosÚfspathÚfilenamergÚ delayload)rÛr„r…rNrrrrÝðs   zFileCookieJar.__init__cCs tƒ‚dSrÇrð)rÛr„Úignore_discardÚignore_expiresrrrÚsaveüszFileCookieJar.savecCs^|dur"|jdur|j}nttƒ‚t|ƒ� }| ||||¡Wdƒn1sP0YdSrÇ)r„rMÚMISSING_FILENAME_TEXTÚopenÚ _really_load©rÛr„r†r‡rrrrÚloads  zFileCookieJar.loadcCsŒ|dur"|jdur|j}nttƒ‚|j ¡zNt |j¡}i|_z| |||¡Wnt yl||_‚Yn0W|j  ¡n |j  ¡0dSrÇ) r„rMr‰rKr]rÙÚdeepcopyrLr�ÚOSErrorr^)rÛr„r†r‡Z old_staterrrÚrevert s    zFileCookieJar.revert)NFN)NFF)NFF)NFF)rìrîrïrÝrˆr�r�rrrrrís   ÿrcCs |j|jfd|jfd|jfg}|jdur8| d|jf¡|jrH| d¡|jrX| d¡|jrh| d¡|j rx| d¡|j r–| dt t |j ƒƒf¡|j r¦| d ¡|jr¼| d |jf¡|jrÒ| d |jf¡t|j ¡ƒ}|D]}| |t|j|ƒf¡qä| d t|jƒf¡t|gƒS) Nr�r�r“)Ú path_specN)Ú port_specN)Ú domain_dotN)r‘NrŽ)rÕNrÖr`r’)rzr{r�r�r“rtrÔrÑrÓr‘rŽr6r]rÕrÖr×r;rÚr<r.r’rˆ)rórÌr<r†rrrÚlwp_cookie_str$s( þ  ÿr”c@s(eZdZd dd„Zd dd„Zdd „ZdS) rTcCsTt ¡}g}|D]2}|s |jr q|s0| |¡r0q| dt|ƒ¡qd |dg¡S)NzSet-Cookie3: %sÚ rY)rNrÕrårtr”rƒ)rÛr†r‡rär~rórrrÚ as_lwp_strMs zLWPCookieJar.as_lwp_strNFcCsl|dur"|jdur|j}nttƒ‚t|dƒ�,}| d¡| | ||¡¡Wdƒn1s^0YdS)NÚwz#LWP-Cookies-2.0 )r„rMr‰rŠÚwriter–rŒrrrrˆ]s   zLWPCookieJar.savecCs,| ¡}|j |¡s$d|}t|ƒ‚t ¡}d}d} d} �z®| ¡} | dkrP�qæ|  |¡s\q<| t|ƒd… ¡} t| gƒD�]f} | d\} }i}i}| D] }d||<q˜| dd…D]n\}}|durÌ|  ¡}nd}|| vsà|| vrä|}|| v�r|durúd }|||<q²|| v�r|||<q²|||<q²|j }|d ƒ}|d ƒ}|du�rJt |ƒ}|du�rXd }|d ƒ}| d ¡}t |dƒ| ||dƒ|dƒ|||dƒ|dƒ|dƒ|dƒ|||dƒ|dƒ|ƒ}|�sÄ|j �rÄqz|�sØ| |¡�rØqz| |¡qzqt�yþ‚Yn*t�y&tƒtd|| fƒ‚Yn0dS)Nz5%r does not look like a Set-Cookie3 (LWP) format filez Set-Cookie3:)r’r‘r“r‘rÕ)r’r“r�r�rŽrÖr`rYr Fr TrŽrÕr�r£r’r“r’r“r�r‘r‘rÖr`z&invalid Set-Cookie3 format file %r: %r)Úreadliner�rArrNrur(ršr|rLràrgrrÕrårtr�rpr)rÛrr„r†r‡ÚmagicrräÚheaderrcrdÚlineÚdatarzr{rerÜr†r‡r¡rÌrŽrÕr�rÒrvrrrr‹is„ ÿ                  ÷ ÿzLWPCookieJar._really_load)TT)NFF)rìrîrïr–rˆr‹rrrrr@s  rc@s,eZdZe d¡ZdZdd„Zd dd„ZdS) rz#( Netscape)? HTTP Cookie Filezr# Netscape HTTP Cookie File # http://curl.haxx.se/rfc/cookie_spec.html # This is a generated file! Do not edit. cCs^t ¡}| ¡}|j |¡s(td|ƒ‚zò| ¡}|dkr>�q| d¡rT|dd…}| ¡ d¡s*| ¡dkrpq*| d¡\}} } } } } }| dk} | dk} | dkr¨|} d}| d¡}d }| dkrÆd} d }t d | |dd || || d | | |ddiƒ}|sø|j røq*|�s |  |¡�r q*|  |¡q*Wn>t �y0‚Yn*t�yXtƒtd ||fƒ‚Yn0dS) Nz4%r does not look like a Netscape format cookies filerYr•rŠ)ú#rú ÚTRUEr£FTr z+invalid Netscape format cookies file %r: %r)rNr™r�rArr‹ršrur™rrÕrårtr�rpr)rÛrr„r†r‡räršrœr�rÒr�r‘rŽrzr{r®rÕrvrrrr‹ßsf ÿÿ  ÿÿ ÷ ÿzMozillaCookieJar._really_loadNFc Cs|dur"|jdur|j}nttƒ‚t|dƒ�Ò}| |j¡t ¡}|D]¨}|sV|jrVqF|sf| |¡rfqF|j rrd}nd}|j   d¡rˆd}nd}|j dur¢t |j ƒ} nd} |jdur¼d} |j} n |j} |j} | d |j ||j|| | | g¡d¡qFWdƒn1�s0YdS)Nr—r ÚFALSEr£rYrŸr•)r„rMr‰rŠr˜r›rNrÕrår‘r�rurŽr.r{rzrƒr�) rÛr„r†r‡rrärór‘r®rŽrzr{rrrrˆ s<       ÿþÿzMozillaCookieJar.save)NFF) rìrîrïrvrr�r›r‹rˆrrrrr¸s Ar)N)N)WÚ__all__r‚rÙr.rvrNÚ urllib.parser±Zurllib.requestÚ threadingrIZ http.clientÚhttpZcalendarr r r rr.ÚclientZ HTTP_PORTrÄr‰rr&r-r7r8rJr)rtrLr6r9r?rr€r@rGrVr[ÚIr_ÚXrardrergrmrorprrrqr|r‚rˆr�r¢r¥r¦r«r­r¯r´r¸r½rÂrÅrÉrÊrÆrÀrÎrÐrrrr>rArErr�rrr”rrrrrrÚs°    8þ ÿ ì8 ï!    U D'    #b!b7x