r5927 - Allow for colons in PeerGuardian/SafePeer lists' d...

0 views
Skip to first unread message

s...@deluge-torrent.org

unread,
Nov 9, 2009, 3:54:14 AM11/9/09
to deluge...@googlegroups.com
Author: johnnyg

Revision: 5927

Log:
Allow for colons in PeerGuardian/SafePeer lists' descriptions.
Check that the start & end range resembles an ip when checking a list's validity.

Diff:
Modified: branches/1.2_RC/ChangeLog
===================================================================
--- branches/1.2_RC/ChangeLog 2009-11-09 01:52:58 UTC (rev 5926)
+++ branches/1.2_RC/ChangeLog 2009-11-09 08:54:13 UTC (rev 5927)
@@ -20,6 +20,7 @@

==== Blocklist ====
* Force blocklist to auto-detect format when a download / import is forced
+ * Fix blocklist failing on certain PeerGuardian/SafePeer lists

=== Deluge 1.2.0_rc3 (01 November 2009) ===
==== Core ====

Modified: branches/1.2_RC/deluge/plugins/blocklist/blocklist/readers.py
===================================================================
--- branches/1.2_RC/deluge/plugins/blocklist/blocklist/readers.py 2009-11-09 01:52:58 UTC (rev 5926)
+++ branches/1.2_RC/deluge/plugins/blocklist/blocklist/readers.py 2009-11-09 08:54:13 UTC (rev 5927)
@@ -34,6 +34,7 @@
#

from common import raiseError, remove_zeros
+import re

class ReaderParseError(Exception):
pass
@@ -69,6 +70,9 @@
if not self.is_ignored(line):
try:
(start, end) = self.parse(line)
+ if not re.match("^(\d{1,3}\.){4}$", start + ".") or \
+ not re.match("^(\d{1,3}\.){4}$", end + "."):
+ valid = False
except:
valid = False
finally:
@@ -94,7 +98,7 @@
"""Blocklist reader for SafePeer style blocklists"""
@raiseError(ReaderParseError)
def parse(self, line):
- return line.strip().split(":")[1].split("-")
+ return line.strip().split(":")[-1].split("-")

class PeerGuardianReader(SafePeerReader):
"""Blocklist reader for PeerGuardian style blocklists"""

Modified: trunk/deluge/plugins/blocklist/blocklist/readers.py
===================================================================
--- trunk/deluge/plugins/blocklist/blocklist/readers.py 2009-11-09 01:52:58 UTC (rev 5926)
+++ trunk/deluge/plugins/blocklist/blocklist/readers.py 2009-11-09 08:54:13 UTC (rev 5927)
@@ -34,6 +34,7 @@
#

from common import raiseError, remove_zeros
+import re

class ReaderParseError(Exception):
pass
@@ -69,6 +70,9 @@
if not self.is_ignored(line):
try:
(start, end) = self.parse(line)
+ if not re.match("^(\d{1,3}\.){4}$", start + ".") or \
+ not re.match("^(\d{1,3}\.){4}$", end + "."):
+ valid = False
except:
valid = False
finally:
@@ -94,7 +98,7 @@
"""Blocklist reader for SafePeer style blocklists"""
@raiseError(ReaderParseError)
def parse(self, line):
- return line.strip().split(":")[1].split("-")
+ return line.strip().split(":")[-1].split("-")

class PeerGuardianReader(SafePeerReader):
"""Blocklist reader for PeerGuardian style blocklists"""


Reply all
Reply to author
Forward
0 new messages