浏览代码

Make exclusion check a bit smarter.

tags/v0.2
Ben Kurtovic 11 年前
父节点
当前提交
b88181bb24
共有 1 个文件被更改,包括 3 次插入4 次删除
  1. +3
    -4
      earwigbot/wiki/copyvios/exclusions.py

+ 3
- 4
earwigbot/wiki/copyvios/exclusions.py 查看文件

@@ -161,16 +161,15 @@ class ExclusionsDB(object):

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
WHERE exclusion_sitename = ? OR exclusion_sitename = ?"""
with sqlite.connect(self._dbfile) as conn, self._db_access_lock:
for (excl,) in conn.execute(query, (sitename, "all")):
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:
matches = True if normalized.startswith(excl) else False
matches = normalized.startswith(excl)
if matches:
log = u"Exclusion detected in {0} for {1}"
self._logger.debug(log.format(sitename, url))


正在加载...
取消
保存