@@ -81,7 +81,6 @@ def _add_entry(self, entry):
8181 self .groups [agent ] = entry
8282 else :
8383 self .groups [agent ] = merge_entries (self .groups [agent ], entry )
84- sort_rulelines (self .groups [agent ].rulelines )
8584
8685 def parse (self , lines ):
8786 """Parse the input lines from a robots.txt file.
@@ -306,9 +305,6 @@ def allowance(self, filename):
306305 """Preconditions:
307306 - our agent applies to this entry
308307 - filename is URL encoded
309- - rules are sorted:
310- - wildcards before literal paths
311- - literal paths from longest to shortest, "Allow" before "Disallow"
312308 """
313309 best_match = - 1
314310 allowance = True
@@ -320,9 +316,6 @@ def allowance(self, filename):
320316 allowance = line .allowance
321317 elif m == best_match and not allowance :
322318 allowance = line .allowance
323- # Optimization. Requires rules to be sorted.
324- if line .matcher is None and (m or len (line .path ) + 1 < best_match ):
325- break
326319 return allowance
327320
328321
@@ -360,11 +353,3 @@ def merge_entries(e1, e2):
360353 entry .delay = e1 .delay if e2 .delay is None else e2 .delay
361354 entry .req_rate = e1 .req_rate if e2 .req_rate is None else e2 .req_rate
362355 return entry
363-
364- def sort_rulelines (rulelines ):
365- def sortkey (line ):
366- if line .matcher is not None :
367- return (True ,)
368- else :
369- return (False , len (line .path ), line .allowance )
370- rulelines .sort (key = sortkey , reverse = True )
0 commit comments