bpo-31325: Fix usage of namedtuple in RobotFileParser.parse() (GH-452… · python/cpython@ff847d1 (original) (raw)

`@@ -2,7 +2,6 @@

`

2

2

`import os

`

3

3

`import unittest

`

4

4

`import urllib.robotparser

`

5

``

`-

from collections import namedtuple

`

6

5

`from test import support

`

7

6

`from http.server import BaseHTTPRequestHandler, HTTPServer

`

8

7

`try:

`

`@@ -90,6 +89,10 @@ def test_request_rate(self):

`

90

89

`self.parser.crawl_delay(agent), self.crawl_delay

`

91

90

` )

`

92

91

`if self.request_rate:

`

``

92

`+

self.assertIsInstance(

`

``

93

`+

self.parser.request_rate(agent),

`

``

94

`+

urllib.robotparser.RequestRate

`

``

95

`+

)

`

93

96

`self.assertEqual(

`

94

97

`self.parser.request_rate(agent).requests,

`

95

98

`self.request_rate.requests

`

`@@ -111,7 +114,7 @@ class CrawlDelayAndRequestRateTest(BaseRequestRateTest, unittest.TestCase):

`

111

114

`Disallow: /%7ejoe/index.html

`

112

115

` """

`

113

116

`agent = 'figtree'

`

114

``

`-

request_rate = namedtuple('req_rate', 'requests seconds')(9, 30)

`

``

117

`+

request_rate = urllib.robotparser.RequestRate(9, 30)

`

115

118

`crawl_delay = 3

`

116

119

`good = [('figtree', '/foo.html')]

`

117

120

`bad = ['/tmp', '/tmp.html', '/tmp/a.html', '/a%3cd.html', '/a%3Cd.html',

`

`@@ -240,7 +243,7 @@ class DefaultEntryTest(BaseRequestRateTest, unittest.TestCase):

`

240

243

`Request-rate: 3/15

`

241

244

`Disallow: /cyberworld/map/

`

242

245

` """

`

243

``

`-

request_rate = namedtuple('req_rate', 'requests seconds')(3, 15)

`

``

246

`+

request_rate = urllib.robotparser.RequestRate(3, 15)

`

244

247

`crawl_delay = 1

`

245

248

`good = ['/', '/test.html']

`

246

249

`bad = ['/cyberworld/map/index.html']

`