33import threading
44import unittest
55import urllib .robotparser
6- from collections import namedtuple
76from test import support
87from http .server import BaseHTTPRequestHandler , HTTPServer
98
@@ -87,6 +86,10 @@ def test_request_rate(self):
8786 self .parser .crawl_delay (agent ), self .crawl_delay
8887 )
8988 if self .request_rate :
89+ self .assertIsInstance (
90+ self .parser .request_rate (agent ),
91+ urllib .robotparser .RequestRate
92+ )
9093 self .assertEqual (
9194 self .parser .request_rate (agent ).requests ,
9295 self .request_rate .requests
@@ -108,7 +111,7 @@ class CrawlDelayAndRequestRateTest(BaseRequestRateTest, unittest.TestCase):
108111Disallow: /%7ejoe/index.html
109112 """
110113 agent = 'figtree'
111- request_rate = namedtuple ( 'req_rate' , 'requests seconds' ) (9 , 30 )
114+ request_rate = urllib . robotparser . RequestRate (9 , 30 )
112115 crawl_delay = 3
113116 good = [('figtree' , '/foo.html' )]
114117 bad = ['/tmp' , '/tmp.html' , '/tmp/a.html' , '/a%3cd.html' , '/a%3Cd.html' ,
@@ -237,7 +240,7 @@ class DefaultEntryTest(BaseRequestRateTest, unittest.TestCase):
237240Request-rate: 3/15
238241Disallow: /cyberworld/map/
239242 """
240- request_rate = namedtuple ( 'req_rate' , 'requests seconds' ) (3 , 15 )
243+ request_rate = urllib . robotparser . RequestRate (3 , 15 )
241244 crawl_delay = 1
242245 good = ['/' , '/test.html' ]
243246 bad = ['/cyberworld/map/index.html' ]
0 commit comments