]> granicus.if.org Git - python/commitdiff
Correctly set default entry in all cases.
authorMartin v. Löwis <martin@v.loewis.de>
Mon, 18 Mar 2002 10:43:18 +0000 (10:43 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Mon, 18 Mar 2002 10:43:18 +0000 (10:43 +0000)
Lib/robotparser.py

index aace3a43f43ce9f5939febe86c0cdb524066223f..5b759d4968d892efe0673097ce50191a7bb2c779 100644 (file)
@@ -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