/opt/alt/python-internal/lib64/python3.11/urllib/__pycache__
NameSizeModeActions
error.cpython-311.opt-1.pyc39040644editdlrm
error.cpython-311.opt-2.pyc32300644editdlrm
error.cpython-311.pyc39040644editdlrm
parse.cpython-311.opt-1.pyc555520644editdlrm
parse.cpython-311.opt-2.pyc449650644editdlrm
parse.cpython-311.pyc555520644editdlrm
request.cpython-311.opt-1.pyc1263490644editdlrm
request.cpython-311.opt-2.pyc1143550644editdlrm
request.cpython-311.pyc1265680644editdlrm
response.cpython-311.opt-1.pyc52120644editdlrm
response.cpython-311.opt-2.pyc46360644editdlrm
response.cpython-311.pyc52120644editdlrm
robotparser.cpython-311.opt-1.pyc133530644editdlrm
robotparser.cpython-311.opt-2.pyc120290644editdlrm
robotparser.cpython-311.pyc133530644editdlrm
__init__.cpython-311.opt-1.pyc1690644editdlrm
__init__.cpython-311.opt-2.pyc1690644editdlrm
__init__.cpython-311.pyc1690644editdlrm
Edit: /opt/alt/python-internal/lib64/python3.11/urllib/__pycache__/robotparser.cpython-311.pyc (13353B)
§ ñ§OÕ ùýpãó˜—dZddlZddlZddlZdgZejdd¦«ZGd„d¦«ZGd„d¦«Z Gd „d ¦«Z dS) a% robotparser.py Copyright (C) 2000 Bastian Kleineidam You can choose between two licenses when using this package: 1) GNU GPLv2 2) PSF license for Python 2.2 The robots.txt Exclusion Protocol is implemented as specified in http://www.robotstxt.org/norobots-rfc.txt éNÚRobotFileParserÚ RequestRatezrequests secondscó\—eZdZdZdd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„ZdS)rzs This class provides a set of methods to read, parse and answer questions about a single robots.txt file. Úcó„—g|_g|_d|_d|_d|_| |¦«d|_dS)NFr)ÚentriesÚsitemapsÚ default_entryÚ disallow_allÚ allow_allÚset_urlÚ last_checked©ÚselfÚurls ú?/opt/alt/python-internal/lib64/python3.11/urllib/robotparser.pyÚ__init__zRobotFileParser.__init__sG€ØˆŒ ؈Œ Ø!ˆÔØ!ˆÔ؈ŒØ � Š �SÑÔÐØˆÔÐÐócó—|jS)z·Returns the time the robots.txt file was last fetched. This is useful for long-running web spiders that need to check for new robots.txt files periodically. )r©rs rÚmtimezRobotFileParser.mtime%s €ðÔ Ð rcó@—ddl}| ¦«|_dS)zYSets the time the robots.txt file was last fetched to the current time. rN)Útimer)rrs rÚmodifiedzRobotFileParser.modified.s#€ð ˆ ˆ ˆ Ø ŸIšI™KœKˆÔÐÐrcó|—||_tj |¦«dd…\|_|_dS)z,Sets the URL referring to a robots.txt file.ééN)rÚurllibÚparseÚurlparseÚhostÚpathrs rr zRobotFileParser.set_url6s4€àˆŒÝ%œ|×4Ò4°SÑ9Ô9¸!¸A¸#Ô>шŒ �4”9�9�9rcó°— tj |j¦«}| ¦«}| | d¦« ¦«¦«dS#tjj $rK}|j dvrd|_ n)|j dkr|j dkrd|_ Yd}~dSYd}~dSYd}~dSYd}~dSd}~wwxYw)z4Reads the robots.txt URL and feeds it to the parser.zutf-8)i‘i“Ti�iôN) rÚrequestÚurlopenrÚreadrÚdecodeÚ splitlinesÚerrorÚ HTTPErrorÚcoder r )rÚfÚrawÚerrs rr&zRobotFileParser.read;só€ð 9Ý”×&Ò& t¤xÑ0Ô0ˆAð—&’&‘(”(ˆCØ �JŠJ�s—z’z 'Ñ*Ô*×5Ò5Ñ7Ô7Ñ 8Ô 8Ð 8Ð 8Ð 8øõŒ|Ô%ð &ð &ð &ØŒx˜:Ð%Ð%Ø$(�Ô!Ð!Ø”˜S’� S¤X°¢^ ^Ø!%�”������ð!�����ð"Ð!Ð!Ð!Ð!Ð!Ø%3 ^ ^ ^ ^ ^øøøøð &øøøs‚$A6Á6C .CÃCcóp—d|jvr|j€ ||_dSdS|j |¦«dS©NÚ*)Ú useragentsr rÚappend)rÚentrys rÚ _add_entryzRobotFileParser._add_entryHsM€Ø �%Ô"Ð "Ð "àÔ!Ð)à%*�Ô"Ð"Ð"ð*Ð)ð ŒL× Ò  Ñ &Ô &Ð &Ð &Ð &rcó<—d}t¦«}| ¦«|D�]V}|sB|dkrt¦«}d}n+|dkr%| |¦«t¦«}d}| d¦«}|dkr |d|…}| ¦«}|sŒƒ| dd¦«}t |¦«dk�r©|d ¦« ¦«|d<tj   |d ¦«¦«|d<|ddkrM|dkr#| |¦«t¦«}|j   |d¦«d}�Œo|ddkr8|dkr0|j   t|dd ¦«¦«d}�Œ³|dd kr8|dkr0|j   t|dd ¦«¦«d}�Œ÷|dd krP|dkrH|d ¦« ¦«rt!|d¦«|_d}�ŒS|dd krË|dkrÃ|d d¦«}t |¦«dkr“|d ¦« ¦«rg|d ¦« ¦«r;t%t!|d¦«t!|d¦«¦«|_d}�Œ*|ddkr |j  |d¦«�ŒX|dkr| |¦«dSdS)z”Parse the input lines from a robots.txt file. We allow that a user-agent: line is not preceded by one or more blank lines. rréú#Nú:z user-agentÚdisallowFÚallowTz crawl-delayz request-rateú/Úsitemap)ÚEntryrr5ÚfindÚstripÚsplitÚlenÚlowerrrÚunquoter2r3Ú rulelinesÚRuleLineÚisdigitÚintÚdelayrÚreq_rater )rÚlinesÚstater4ÚlineÚiÚnumberss rrzRobotFileParser.parseQsJ€ðˆÝ‘”ˆà � Š ‰ŒˆØð7 2ñ7 2ˆDØð ؘA’:�:Ý!™GœG�EØ�E�Eؘa’Z�ZØ—O’O EÑ*Ô*Ð*Ý!™GœG�EØ�Eà— ’ ˜#‘”ˆAØ�AŠvˆvؘB˜Q˜B”x�Ø—:’:‘<”<ˆDØð ØØ—:’:˜c 1Ñ%Ô%ˆDÝ�4‰yŒy˜AŠ~‰~ؘqœ'Ÿ-š-™/œ/×/Ò/Ñ1Ô1��Q‘Ý œ,×.Ò.¨t°A¬w¯}ª}©¬Ñ?Ô?��Q‘ؘ”7˜lÒ*Ð*Ø ’z�zØŸš¨Ñ.Ô.Ð.Ý %¡¤˜ØÔ$×+Ò+¨D°¬GÑ4Ô4Ð4Ø�E‘Eؘ!”W  Ò*Ð*Ø ’z�zØœ×.Ò.­x¸¸Q¼ÀÑ/GÔ/GÑHÔHÐHØ !˜ùؘ!”W Ò'Ð'Ø ’z�zØœ×.Ò.­x¸¸Q¼ÀÑ/FÔ/FÑGÔGÐGØ !˜ùؘ!”W  Ò-Ð-Ø ’z�zð  œ7Ÿ=š=™?œ?×2Ò2Ñ4Ô4ð7Ý*-¨d°1¬g©,¬,˜EœKØ !˜ùؘ!”W Ò.Ð.Ø ’z�zØ"& q¤'§-¢-°Ñ"4Ô"4˜å ™LœL¨AÒ-Ð-°'¸!´*×2BÒ2BÑ2DÔ2D×2LÒ2LÑ2NÔ2NÐ-Ø '¨¤ × 0Ò 0Ñ 2Ô 2× :Ò :Ñ <Ô <ð.å-8½¸WÀQ¼Z¹¼Í#ÈgÐVWÌjÉ/Ì/Ñ-ZÔ-Z˜EœNØ !˜ùؘ!”W  Ò)Ð)ð ”M×(Ò(¨¨a¬Ñ1Ô1Ð1ùØ �AŠ:ˆ:Ø �OŠO˜EÑ "Ô "Ð "Ð "Ð "ð ˆ:rcó—|jrdS|jrdS|jsdStj tj |¦«¦«}tj dd|j|j |j |j f¦«}tj  |¦«}|sd}|j D].}| |¦«r| |¦«cSŒ/|jr|j |¦«SdS)z=using the parsed robots.txt decide if useragent can fetch urlFTrr<)r r rrrr rDÚ urlunparser"ÚparamsÚqueryÚfragmentÚquoterÚ applies_toÚ allowancer )rÚ useragentrÚ parsed_urlr4s rÚ can_fetchzRobotFileParser.can_fetchšs €à Ô ð Ø�5Ø Œ>ð Ø�4ð Ô ð Ø�5õ”\×*Ò*­6¬<×+?Ò+?ÀÑ+DÔ+DÑEÔEˆ ÝŒl×%Ò% r¨"¨Z¬_Ø Ô ˜jÔ.° Ô0Cð'EñFôFˆåŒl× Ò  Ñ%Ô%ˆØð ؈CØ”\ð ,ð ,ˆEØ×Ò  Ñ*Ô*ð ,Ø—’ sÑ+Ô+Ð+Ð+Ð+ð ,ð Ô ð 5ØÔ%×/Ò/°Ñ4Ô4Ð 4àˆtrcó¨—| ¦«sdS|jD] }| |¦«r |jcSŒ!|jr |jjSdS©N)rrrVrIr ©rrXr4s rÚ crawl_delayzRobotFileParser.crawl_delay·sm€Ø�zŠz‰|Œ|ð Ø�4Ø”\ð #ð #ˆEØ×Ò  Ñ*Ô*ð #Ø”{Ð"Ð"Ð"ð #à Ô ð ,ØÔ%Ô+Ð +؈trcó¨—| ¦«sdS|jD] }| |¦«r |jcSŒ!|jr |jjSdSr\)rrrVrJr r]s rÚ request_ratezRobotFileParser.request_rateÁsm€Ø�zŠz‰|Œ|ð Ø�4Ø”\ð &ð &ˆEØ×Ò  Ñ*Ô*ð &Ø”~Ð%Ð%Ð%ð &à Ô ð /ØÔ%Ô.Ð .؈trcó"—|jsdS|jSr\)r rs rÚ site_mapszRobotFileParser.site_mapsËs€ØŒ}ð Ø�4ØŒ}Ðrcó„—|j}|j� ||jgz}d tt|¦«¦«S)Nz )rr ÚjoinÚmapÚstr)rrs rÚ__str__zRobotFileParser.__str__Ðs>€Ø”,ˆØ Ô Ð )Ø Ô!3Ð 4Ñ4ˆGØ�{Š{�3�s GÑ,Ô,Ñ-Ô-Ð-rN)r)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrr r&r5rrZr^r`rbrg©rrrrsÛ€€€€€ððð ðððð!ð!ð!ð(ð(ð(ð?ð?ð?ð 9ð 9ð 9ð'ð'ð'ðG#ðG#ðG#ðRððð:ððððððððð .ð.ð.ð.ð.rcó$—eZdZdZd„Zd„Zd„ZdS)rFzoA rule line is a single "Allow:" (allowance==True) or "Disallow:" (allowance==False) followed by a path.cóè—|dkr|sd}tj tj |¦«¦«}tj |¦«|_||_dS)NrT)rrrQr rUr"rW)rr"rWs rrzRuleLine.__init__Ús[€Ø �2Š:ˆ:˜iˆ:àˆIÝŒ|×&Ò&¥v¤|×'<Ò'<¸TÑ'BÔ'BÑCÔCˆÝ”L×&Ò& tÑ,Ô,ˆŒ Ø"ˆŒˆˆrcóL—|jdkp| |j¦«Sr0)r"Ú startswith)rÚfilenames rrVzRuleLine.applies_toâs$€ØŒy˜CÒÐA 8×#6Ò#6°t´yÑ#AÔ#AÐArcó.—|jrdnddz|jzS)NÚAllowÚDisallowz: )rWr"rs rrgzRuleLine.__str__ås€Øœ>Ð9��¨z¸TÑAÀDÄIÑMÐMrN)rhrirjrkrrVrgrlrrrFrF×sS€€€€€ð1ð1ð#ð#ð#ðBðBðBðNðNðNðNðNrrFcó*—eZdZdZd„Zd„Zd„Zd„ZdS)r>z?An entry has one or more user-agents and zero or more rulelinescó>—g|_g|_d|_d|_dSr\)r2rErIrJrs rrzEntry.__init__ës"€ØˆŒØˆŒØˆŒ ؈Œ ˆ ˆ rcó|—g}|jD]}| d|›�¦«Œ|j�| d|j›�¦«|j�,|j}| d|j›d|j›�¦«| tt|j ¦«¦«d  |¦«S)Nz User-agent: z Crawl-delay: zRequest-rate: r<ú ) r2r3rIrJÚrequestsÚsecondsÚextendrerfrErd)rÚretÚagentÚrates rrgz Entry.__str__ñs¿€ØˆØ”_ð /ð /ˆEØ �JŠJÐ- eÐ-Ð-Ñ .Ô .Ð .Ð .Ø Œ:Ð !Ø �JŠJÐ3 t¤zÐ3Ð3Ñ 4Ô 4Ð 4Ø Œ=Ð $Ø”=ˆDØ �JŠJÐF¨¬ ÐFÐF¸¼ ÐFÐFÑ GÔ GÐ GØ � Š •3•s˜DœNÑ+Ô+Ñ,Ô,Ð,Ø�yŠy˜‰~Œ~Ðrcó¼—| d¦«d ¦«}|jD]&}|dkrdS| ¦«}||vrdSŒ'dS)z2check if this entry applies to the specified agentr<rr1TF)rArCr2)rrXr}s rrVzEntry.applies_toýsp€ð—O’O CÑ(Ô(¨Ô+×1Ò1Ñ3Ô3ˆ Ø”_ð ð ˆEؘŠ|ˆ|à�t�tØ—K’K‘M”MˆEؘ Ð!Ð!Ø�t�tð"àˆurcóV—|jD] }| |¦«r |jcSŒ!dS)zZPreconditions: - our agent applies to this entry - filename is URL decodedT)rErVrW)rrqrMs rrWzEntry.allowance sA€ð”Nð &ð &ˆDØ�Š˜xÑ(Ô(ð &Ø”~Ð%Ð%Ð%ð &àˆtrN)rhrirjrkrrgrVrWrlrrr>r>ésV€€€€€ØIÐIðððð ð ð ð ð ð ðððððrr>) rkÚ collectionsÚ urllib.parserÚurllib.requestÚ__all__Ú namedtuplerrrFr>rlrrúr†såðð ð ðÐÐÐØÐÐÐØÐÐÐà Ð €à$ˆkÔ$ ]Ð4FÑGÔG€ ð~.ð~.ð~.ð~.ð~.ñ~.ô~.ð~.ðBNðNðNðNðNñNôNðNð$(ð(ð(ð(ð(ñ(ô(ð(ð(ð(r