From 93c48fb7e26abb5242d9a66b6f6cff183bf71772 Mon Sep 17 00:00:00 2001 From: Bastian Kleineidam Date: Wed, 13 Feb 2013 20:00:16 +0100 Subject: [PATCH] Make _BasicScraper hashable. --- dosagelib/scraper.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/dosagelib/scraper.py b/dosagelib/scraper.py index dce7314c8..135bc94a8 100644 --- a/dosagelib/scraper.py +++ b/dosagelib/scraper.py @@ -51,7 +51,23 @@ class _BasicScraper(object): def __init__(self, indexes=None): """Initialize internal variables.""" self.urls = set() - self.indexes = indexes + if indexes: + self.indexes = tuple(indexes) + else: + self.indexes = tuple() + + def __cmp__(self, other): + if not isinstance(other, _BasicScraper): + return 1 + # first, order by name + d = cmp(self.get_name(), other.get_name()) + if d != 0: + return d + # then by indexes + return cmp(self.indexes, other.indexes) + + def __hash__(self): + return hash((self.get_name(), self.indexes)) def getCurrentStrips(self): """Get current comic strip."""