diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2002-03-18 10:43:18 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2002-03-18 10:43:18 (GMT) |
commit | 73f570ba08756c322c0b6fa070d89aa3c64b31c9 (patch) | |
tree | f8d153b16c5fca0c0b4eea775a3cbef533f5d4a8 | |
parent | d22368ffb368198320d29518264a64a87b4f9b03 (diff) | |
download | cpython-73f570ba08756c322c0b6fa070d89aa3c64b31c9.zip cpython-73f570ba08756c322c0b6fa070d89aa3c64b31c9.tar.gz cpython-73f570ba08756c322c0b6fa070d89aa3c64b31c9.tar.bz2 |
Correctly set default entry in all cases.
-rw-r--r-- | Lib/robotparser.py | 15 |
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 |