Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_robotparser.cpython-38.opt-2.pyc
U

>��g�*�@sddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
Gdd�d�ZGdd�deej�Z
Gdd	�d	eej�ZGd
d�deej�ZGdd
�d
eej�ZGdd�de�ZGdd�deej�ZGdd�deej�ZGdd�de�ZGdd�deej�ZGdd�deej�ZGdd�deej�ZGdd�deej�ZGdd�de�ZGd d!�d!eej�ZGd"d#�d#eej�ZGd$d%�d%eej�ZGd&d'�d'eej�ZGd(d)�d)eej�ZGd*d+�d+eej�ZGd,d-�d-e	�Z Gd.d/�d/ej�Z!Gd0d1�d1ej�Z"e#d2k�re�$�dS)3�N)�support)�BaseHTTPRequestHandler�
HTTPServerc@sHeZdZdZdZgZgZdZdd�Zdd�Z	dd	�Z
d
d�Zdd
�ZdS)�
BaseRobotTest�Ztest_robotparserNcCs,t�|j���}tj��|_|j�|�dS�N)	�io�StringIO�
robots_txt�	readlines�urllib�robotparser�RobotFileParser�parser�parse)�self�lines�r�4/opt/cppython/lib/python3.8/test/test_robotparser.py�setUpszBaseRobotTest.setUpcCs$t|t�r|\}}||fS|j|fSr)�
isinstance�tuple�agent�r�urlrrrr�get_agent_and_urls
zBaseRobotTest.get_agent_and_urlc
CsL|jD]@}|�|�\}}|j||d��|�|j�||��W5QRXqdS�N)rr)�goodr�subTest�
assertTruer�	can_fetchrrrr�test_good_urlss
zBaseRobotTest.test_good_urlsc
CsL|jD]@}|�|�\}}|j||d��|�|j�||��W5QRXqdSr)�badrr�assertFalserr rrrr�
test_bad_urls"s
zBaseRobotTest.test_bad_urlscCs|�|j��|j�dSr)�assertEqualr�	site_maps�rrrr�test_site_maps(szBaseRobotTest.test_site_maps)
�__name__�
__module__�__qualname__r
rrr"r&rrr!r$r(rrrrr
src@s"eZdZdZddgZdddgZdS)�UserAgentWildcardTestz�User-agent: *
Disallow: /cyberworld/map/ # This is an infinite virtual URL space
Disallow: /tmp/ # these will soon disappear
Disallow: /foo.html
    �/�
/test.html�/cyberworld/map/index.htmlz/tmp/xxx�	/foo.htmlN�r)r*r+r
rr"rrrrr,,sr,c@s eZdZdZdddgZdgZdS)�CrawlDelayAndCustomAgentTestz�# robots.txt for http://www.example.com/

User-agent: *
Crawl-delay: 1
Request-rate: 3/15
Disallow: /cyberworld/map/ # This is an infinite virtual URL space

# Cybermapper knows where to go.
User-agent: cybermapper
Disallow:
    r-r.)Zcybermapperr/r/Nr1rrrrr27s
r2c@s&eZdZdZddgZdgZddgZdS)�SitemapTesta# robots.txt for http://www.example.com/

User-agent: *
Sitemap: http://www.gstatic.com/s2/sitemaps/profiles-sitemap.xml
Sitemap: http://www.google.com/hostednews/sitemap_index.xml
Request-rate: 3/15
Disallow: /cyberworld/map/ # This is an infinite virtual URL space

    r-r.r/z7http://www.gstatic.com/s2/sitemaps/profiles-sitemap.xmlz2http://www.google.com/hostednews/sitemap_index.xmlN)r)r*r+r
rr"r&rrrrr3Hs
�r3c@seZdZdZgZdddgZdS)�RejectAllRobotsTestz(# go away
User-agent: *
Disallow: /
    r/r-�/tmp/Nr1rrrrr4Ysr4c@seZdZdZdZdd�ZdS)�BaseRequestRateTestNc
Cs�|j}|j|jD]�}|�|�\}}|j||d��p|�|�|�|j�|�|�}|�||j�|jdk	r�|�|t	j
j�|�|j|jj�|�|j
|jj
�W5QRXqdSr)rrr"rrr%�crawl_delay�request_rateZassertIsInstancerr
�RequestRateZrequestsZseconds)rrrrZparsed_request_raterrr�test_request_rategs(

���z%BaseRequestRateTest.test_request_rate)r)r*r+r8r7r:rrrrr6csr6c@seZdZdZdgZdS)�
EmptyFileTestrz/fooN)r)r*r+r
rrrrrr;sr;c@s>eZdZdZdZej�dd�ZdZ	dgZ
ddd	d
ddd
gZdS)�CrawlDelayAndRequestRateTestz�User-agent: figtree
Crawl-delay: 3
Request-rate: 9/30
Disallow: /tmp
Disallow: /a%3cd.html
Disallow: /a%2fb.html
Disallow: /%7ejoe/index.html
    �figtree�	��)r=r0�/tmpz	/tmp.html�/tmp/a.html�/a%3cd.html�/a%3Cd.htmlz/a%2fb.htmlz/~joe/index.htmlN)r)r*r+r
rrr
r9r8r7rr"rrrrr<�s	
�r<c@seZdZdZdS)�DifferentAgentTestzFigTree Robot libwww-perl/5.04N�r)r*r+rrrrrrE�srEc@s*eZdZdZdgZddddddgZd	Zd
S)�InvalidRequestRateTestz�User-agent: *
Disallow: /tmp/
Disallow: /a%3Cd.html
Disallow: /a/b.html
Disallow: /%7ejoe/index.html
Crawl-delay: 3
Request-rate: 9/banana
    rAr5rBrCrDz	/a/b.htmlz/%7Ejoe/index.htmlr@N)r)r*r+r
rr"r7rrrrrG�s	
�rGc@seZdZdZdgZgZdS)�InvalidCrawlDelayTestz2User-Agent: *
Disallow: /.
Crawl-delay: pears
    r0Nr1rrrrrH�srHc@s eZdZdZdZdgZdgZdS)�AnotherInvalidRequestRateTestzeUser-agent: Googlebot
Allow: /folder1/myfile.html
Disallow: /folder1/
Request-rate: whale/banana
    �	Googlebot�/folder1/myfile.html�/folder1/anotherfile.htmlN�r)r*r+r
rrr"rrrrrI�srIc@seZdZdZdZdgZdS)�UserAgentOrderingTestzMUser-agent: Googlebot
Disallow: /

User-agent: Googlebot-Mobile
Allow: /
    rJz/something.jpgN)r)r*r+r
rr"rrrrrN�srNc@seZdZdZdS)�UserAgentGoogleMobileTestzGooglebot-MobileNrFrrrrrO�srOc@s eZdZdZdZdgZdgZdS)�GoogleURLOrderingTestzJUser-agent: Googlebot
Allow: /folder1/myfile.html
Disallow: /folder1/
    Z	googlebotrKrLNrMrrrrrP�srPc@seZdZdZdgZdgZdS)�DisallowQueryStringTestz2User-agent: *
Disallow: /some/path?name=value
    �
/some/pathz/some/path?name=valueNr1rrrrrQ�srQc@seZdZdZdgZdgZdS)�UseFirstUserAgentWildcardTestzNUser-agent: *
Disallow: /some/path

User-agent: *
Disallow: /another/path
    z
/another/pathrRNr1rrrrrS�srSc@seZdZdZdgZdgZdS)�EmptyQueryStringTestz>User-agent: *
Allow: /some/path?
Disallow: /another/path?
    z/some/path?z/another/path?Nr1rrrrrT�srTc@s0eZdZdZej�dd�ZdZddgZ	dgZ
dS)	�DefaultEntryTestzOUser-agent: *
Crawl-delay: 1
Request-rate: 3/15
Disallow: /cyberworld/map/
    r@��r-r.r/N)r)r*r+r
rr
r9r8r7rr"rrrrrUs
rUc@seZdZdZdZdd�ZdS)�StringFormattingTestz�User-agent: *
Crawl-delay: 1
Request-rate: 3/15
Disallow: /cyberworld/map/ # This is an infinite virtual URL space

# Cybermapper knows where to go.
User-agent: cybermapper
Disallow: /some/path
    zxUser-agent: cybermapper
Disallow: /some/path

User-agent: *
Crawl-delay: 1
Request-rate: 3/15
Disallow: /cyberworld/map/cCs|�t|j�|j�dSr)r%�strr�expected_outputr'rrr�test_string_formatting(sz+StringFormattingTest.test_string_formattingN)r)r*r+r
rZr[rrrrrXs
rXc@seZdZdd�Zdd�ZdS)�RobotHandlercCs|�dd�dS)Ni�zForbidden access)Z
send_errorr'rrr�do_GET.szRobotHandler.do_GETcGsdSrr)r�format�argsrrr�log_message1szRobotHandler.log_messageN)r)r*r+r]r`rrrrr\,sr\c@s*eZdZdd�Zdd�Zejdd��ZdS)�PasswordProtectedSiteTestCasecCsBttjdft�|_tjd|jjddid�|_d|j_	|j�
�dS)NrzHTTPServer servingZ
poll_intervalg{�G�z�?)�name�target�kwargsT)rr�HOSTr\�server�	threading�ThreadZ
serve_forever�t�daemon�startr'rrrr7s�z#PasswordProtectedSiteTestCase.setUpcCs"|j��|j��|j��dSr)rf�shutdownri�joinZserver_closer'rrr�tearDownDs

z&PasswordProtectedSiteTestCase.tearDowncCs\|jj}dtjdt|d�}|d}tj��}|�|�|�	�|�
|�d|��dS)Nzhttp://�:rWz/robots.txt�*)rfZserver_addressrrerYrr
rZset_url�readr#r )r�addrrZ
robots_urlrrrr�testPasswordProtectedSiteIs

z7PasswordProtectedSiteTestCase.testPasswordProtectedSiteN)r)r*r+rrnrZreap_threadsrsrrrrra5s
rac@sFeZdZdZd�e�Zedd��Zdd�Zdd�Z	d	d
�Z
dd�Zd
S)�NetworkTestCasezhttp://www.pythontest.net/z{}elsewhere/robots.txtc	Cs@t�d�t�|j�� tj�|j�|_|j�	�W5QRXdS)NZnetwork)
rZrequiresZtransient_internet�base_urlrr
rr
rrq)�clsrrr�
setUpClassYs
zNetworkTestCase.setUpClasscCs$d�|j|tj�|�dsdnd�S)Nz{}{}{}rWr-r)r^ru�os�path�splitext)rryrrrr`s
�zNetworkTestCase.urlcCsV|�|jj�|�|jj�|�|j��d�|�|j�d��|�|j�d��dS)Nrrp)r#r�disallow_all�	allow_allZ
assertGreater�mtimer7r8r'rrr�
test_basices
zNetworkTestCase.test_basiccCs�|�|j�d|�d���|�|j�d|j��|�|j�d|�d���|�|j�d|�d���|�|j�d|�d���|�|j�d|j��dS)NrpZ	elsewhereZNutchZbrianZwebstats)rrr rr#rur'rrr�test_can_fetchlszNetworkTestCase.test_can_fetchcCsftj�|�d��}|��|�|j�|�|j�|�	|�
�d�|�|�d��|�|�
d��dS)Nzi-robot.txtrrp)rr
rrrqrr|r#r{r%r}ZassertIsNoner7r8)rrrrr�
test_read_404tszNetworkTestCase.test_read_404N)r)r*r+rur^r
�classmethodrwrr~rr�rrrrrtTs

rt�__main__)%rrxrgZunittestZurllib.robotparserr�testrZhttp.serverrrrZTestCaser,r2r3r4r6r;r<rErGrHrIrNrOrPrQrSrTrUrXr\rartr)�mainrrrr�<module>s>"





	)


F1le Man4ger