From b3e1862726b79b63a151cfde53eaefb417068f51 Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Sat, 6 Sep 2014 19:45:18 -0500 Subject: [PATCH] Catch and display search errors more usefully. --- copyvios/checker.py | 13 +++++++++---- templates/index.mako | 4 ++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/copyvios/checker.py b/copyvios/checker.py index 1487ffd..93df17e 100644 --- a/copyvios/checker.py +++ b/copyvios/checker.py @@ -67,10 +67,15 @@ def _get_results(query, follow=True): if not query.nocache: query.result = _get_cached_results(page, conn, mode, query.noskip) if not query.result: - query.result = page.copyvio_check( - min_confidence=T_SUSPECT, max_queries=10, max_time=45, - no_searches=not use_engine, no_links=not use_links, - short_circuit=not query.noskip) + try: + query.result = page.copyvio_check( + min_confidence=T_SUSPECT, max_queries=10, max_time=45, + no_searches=not use_engine, no_links=not use_links, + short_circuit=not query.noskip) + except exceptions.SearchQueryError as exc: + query.error = "search error" + query.exception = exc + return query.result.cached = False _cache_result(page, query.result, conn, mode) elif query.action == "compare": diff --git a/templates/index.mako b/templates/index.mako index a3aa9ec..d3a9287 100644 --- a/templates/index.mako +++ b/templates/index.mako @@ -30,6 +30,10 @@

The URL ${query.url | h} timed out before any data could be retrieved.

+ % elif query.error == "search error" +
+

An error occurred while using the search engine (${query.exception}). Try reloading the page. If the error persists, repeat the check without using the search engine.

+
% elif not query.site:

The given site (project=${query.project | h}, language=${query.lang | h}) doesn't seem to exist. It may also be closed or private. Confirm its URL.