bpo-31325: Fix usage of namedtuple in RobotFileParser.parse() (#4529) · python/cpython@3df02db (original) (raw)
`@@ -3,7 +3,6 @@
`
3
3
`import threading
`
4
4
`import unittest
`
5
5
`import urllib.robotparser
`
6
``
`-
from collections import namedtuple
`
7
6
`from test import support
`
8
7
`from http.server import BaseHTTPRequestHandler, HTTPServer
`
9
8
``
`@@ -87,6 +86,10 @@ def test_request_rate(self):
`
87
86
`self.parser.crawl_delay(agent), self.crawl_delay
`
88
87
` )
`
89
88
`if self.request_rate:
`
``
89
`+
self.assertIsInstance(
`
``
90
`+
self.parser.request_rate(agent),
`
``
91
`+
urllib.robotparser.RequestRate
`
``
92
`+
)
`
90
93
`self.assertEqual(
`
91
94
`self.parser.request_rate(agent).requests,
`
92
95
`self.request_rate.requests
`
`@@ -108,7 +111,7 @@ class CrawlDelayAndRequestRateTest(BaseRequestRateTest, unittest.TestCase):
`
108
111
`Disallow: /%7ejoe/index.html
`
109
112
` """
`
110
113
`agent = 'figtree'
`
111
``
`-
request_rate = namedtuple('req_rate', 'requests seconds')(9, 30)
`
``
114
`+
request_rate = urllib.robotparser.RequestRate(9, 30)
`
112
115
`crawl_delay = 3
`
113
116
`good = [('figtree', '/foo.html')]
`
114
117
`bad = ['/tmp', '/tmp.html', '/tmp/a.html', '/a%3cd.html', '/a%3Cd.html',
`
`@@ -237,7 +240,7 @@ class DefaultEntryTest(BaseRequestRateTest, unittest.TestCase):
`
237
240
`Request-rate: 3/15
`
238
241
`Disallow: /cyberworld/map/
`
239
242
` """
`
240
``
`-
request_rate = namedtuple('req_rate', 'requests seconds')(3, 15)
`
``
243
`+
request_rate = urllib.robotparser.RequestRate(3, 15)
`
241
244
`crawl_delay = 1
`
242
245
`good = ['/', '/test.html']
`
243
246
`bad = ['/cyberworld/map/index.html']
`