| @@ -161,16 +161,15 @@ class ExclusionsDB(object): | |||||
| Return ``True`` if the URL is in the database, or ``False`` otherwise. | Return ``True`` if the URL is in the database, or ``False`` otherwise. | ||||
| """ | """ | ||||
| normalized = re.sub("https?://", "", url.lower()) | |||||
| normalized = re.sub(r"https?://(www\.)?", "", url.lower()) | |||||
| query = """SELECT exclusion_url FROM exclusions | query = """SELECT exclusion_url FROM exclusions | ||||
| WHERE exclusion_sitename = ? OR exclusion_sitename = ?""" | WHERE exclusion_sitename = ? OR exclusion_sitename = ?""" | ||||
| with sqlite.connect(self._dbfile) as conn, self._db_access_lock: | with sqlite.connect(self._dbfile) as conn, self._db_access_lock: | ||||
| for (excl,) in conn.execute(query, (sitename, "all")): | for (excl,) in conn.execute(query, (sitename, "all")): | ||||
| if excl.startswith("*."): | if excl.startswith("*."): | ||||
| netloc = urlparse(url.lower()).netloc | |||||
| matches = True if excl[2:] in netloc else False | |||||
| matches = excl[2:] in urlparse(url.lower()).netloc | |||||
| else: | else: | ||||
| matches = True if normalized.startswith(excl) else False | |||||
| matches = normalized.startswith(excl) | |||||
| if matches: | if matches: | ||||
| log = u"Exclusion detected in {0} for {1}" | log = u"Exclusion detected in {0} for {1}" | ||||
| self._logger.debug(log.format(sitename, url)) | self._logger.debug(log.format(sitename, url)) | ||||