summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2002-03-18 10:43:18 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2002-03-18 10:43:18 (GMT)
commit73f570ba08756c322c0b6fa070d89aa3c64b31c9 (patch)
treef8d153b16c5fca0c0b4eea775a3cbef533f5d4a8
parentd22368ffb368198320d29518264a64a87b4f9b03 (diff)
downloadcpython-73f570ba08756c322c0b6fa070d89aa3c64b31c9.zip
cpython-73f570ba08756c322c0b6fa070d89aa3c64b31c9.tar.gz
cpython-73f570ba08756c322c0b6fa070d89aa3c64b31c9.tar.bz2
Correctly set default entry in all cases.
-rw-r--r--Lib/robotparser.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/Lib/robotparser.py b/Lib/robotparser.py
index aace3a4..5b759d4 100644
--- a/Lib/robotparser.py
+++ b/Lib/robotparser.py
@@ -58,6 +58,13 @@ class RobotFileParser:
_debug("parse lines")
self.parse(lines)
+ def _add_entry(self, entry):
+ if "*" in entry.useragents:
+ # the default entry is considered last
+ self.default_entry = entry
+ else:
+ self.entries.append(entry)
+
def parse(self, lines):
"""parse the input lines from a robot.txt file.
We allow that a user-agent: line is not preceded by
@@ -76,11 +83,7 @@ class RobotFileParser:
entry = Entry()
state = 0
elif state==2:
- if "*" in entry.useragents:
- # the default entry is considered last
- self.default_entry = entry
- else:
- self.entries.append(entry)
+ self._add_entry(entry)
entry = Entry()
state = 0
# remove optional comment and strip line
@@ -99,7 +102,7 @@ class RobotFileParser:
_debug("line %d: warning: you should insert a blank"
" line before any user-agent"
" directive" % linenumber)
- self.entries.append(entry)
+ self._add_entry(entry)
entry = Entry()
entry.useragents.append(line[1])
state = 1