More relaxed definition of what a commented line is in a blocklist.

Decorate readranges with raiseError rather than parse to increase performance.
This commit is contained in:
John Garland 2009-12-21 13:58:24 +00:00
parent b2990e89cb
commit 6b396f1f77
2 changed files with 5 additions and 3 deletions

View file

@ -12,6 +12,8 @@
==== Blocklist ====
* Fix blocklist status icon not opening the blocklist preference
page in certain locales
* Fix blocklist not recognising comments that begin with whitespace
* Minor speedup in parsing blocklists
=== Deluge 1.2.0_rc5 (17 December 2009) ===
==== Web ====

View file

@ -60,7 +60,8 @@ class BaseReader(object):
def is_ignored(self, line):
"""Ignore commented lines and blank lines"""
return line.startswith('#') or not line.strip()
line = line.strip()
return line.startswith('#') or not line
def is_valid(self):
"""Determines whether file is valid for this reader"""
@ -80,6 +81,7 @@ class BaseReader(object):
blocklist.close()
return valid
@raiseError(ReaderParseError)
def readranges(self):
"""Yields each ip range from the file"""
blocklist = self.open()
@ -90,13 +92,11 @@ class BaseReader(object):
class EmuleReader(BaseReader):
"""Blocklist reader for emule style blocklists"""
@raiseError(ReaderParseError)
def parse(self, line):
return line.strip().split(" , ")[0].split(" - ")
class SafePeerReader(BaseReader):
"""Blocklist reader for SafePeer style blocklists"""
@raiseError(ReaderParseError)
def parse(self, line):
return line.strip().split(":")[-1].split("-")