<%! from flask import g, request from copyvios.checker import T_POSSIBLE, T_SUSPECT %>\ <%include file="/support/header.mako" args="title='Earwig\'s Copyvio Detector'"/> <%namespace module="copyvios.highlighter" import="highlight_delta"/>\ <%namespace module="copyvios.misc" import="httpsfix, urlstrip"/>\ % if query.submitted: % if query.error:

% if query.error == "bad action": Unknown action: ${query.action | h}. % elif query.error == "no search method": No copyvio search methods were selected. A check can only be made using a search engine, links present in the page, or both. % elif query.error == "no URL": URL comparison mode requires a URL to be entered. Enter one in the text box below, or choose copyvio search mode to look for content similar to the article elsewhere on the web. % elif query.error == "bad URI": Unsupported URI scheme: ${query.url | h}. % elif query.error == "no data": Couldn't find any text in ${query.url | h}. Note: only HTML and plain text pages are supported, and content generated by JavaScript or found inside iframes is ignored. % elif query.error == "timeout": 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. % else: An unknown error occurred. % endif

% 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.

% elif query.title and not result:

The given page doesn't seem to exist: ${query.page.title | h}.

% elif query.oldid and not result:

The given revision ID doesn't seem to exist: ${query.oldid | h}.

% endif %endif

This tool attempts to detect copyright violations in articles. In search mode, it will check for similar content elsewhere on the web using Yahoo! BOSS and/or external links present in the text of the page, depending on which options are selected. In comparison mode, the tool will skip the searching step and display a report comparing the article to the given webpage, like the Duplication Detector.

Running a full check can take up to 45 seconds if other websites are slow. Please be patient. If you get a timeout, wait a moment and refresh the page.

Specific websites can be skipped (for example, if their content is in the public domain) by being added to the excluded URL list.

% if query.nocache or (result and result.cached): % endif
Site: https:// . .org
Page title: % if query.title: % else: % endif or revision ID: % if query.oldid: % else: % endif
Action:
% if result: % if query.action == "compare":
Results generated in ${round(result.time, 3)} seconds.
% endif
% if query.action == "search":

% if result.confidence >= T_POSSIBLE: ${query.page.title | h} % if query.oldid: @${query.oldid | h} % endif is a ${"suspected" if result.confidence >= T_SUSPECT else "possible"} violation of ${result.url | urlstrip, h}. % else: % if query.oldid: No violations detected in ${query.page.title | h} @${query.oldid | h}. % else: No violations detected in ${query.page.title | h}. % endif % endif

% elif query.action == "compare":
${query.page.title | h} % if query.oldid: @${query.oldid | h} % endif % if query.redirected_from:
Redirected from ${query.redirected_from.title | h}. Check original. % endif
% if result.confidence >= T_SUSPECT: Violation Suspected % elif result.confidence >= T_POSSIBLE: Violation Possible % else: Violation Unlikely % endif
${round(result.confidence * 100, 1)}%
confidence
${result.url | urlstrip, h}
% endif
<% skips = False %> % if query.action == "search":
Checked Sources
% if result.sources: % for i, source in enumerate(result.sources): = 10 else 'id="source-row-selected"' if i == 0 else ""}> % endfor
URL Confidence Compare
${source.url | h} % if source.skipped: <% skips = True %> Skipped % else: = T_SUSPECT else "source-possible" if source.confidence >= T_POSSIBLE else "source-novio"}">${round(source.confidence * 100, 1)}% % endif % if i == 0: Compare % else: Compare % endif
% else:
No sources checked.
% endif % if len(result.sources) > 10:
${len(result.sources) - 10} URL${"s" if len(result.sources) > 11 else ""} with lower confidence hidden. Show them.
% endif
% endif
Article:

${highlight_delta(result.article_chain, result.best.chains[1] if result.best else None)}

Source:

${highlight_delta(result.best.chains[0], result.best.chains[1]) if result.best else ""}

% endif <%include file="/support/footer.mako"/>