Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
37 lines (28 sloc) 1.05 KB
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from earwigbot.wiki import NS_TEMPLATE
__all__ = ["get_attribution_info"]
ATTRIB_TEMPLATES = {
"enwiki": {
"CC-notice", "Cc-notice",
"Citation-attribution",
"Free-content attribution", "Open-source attribution",
"Source-attribution",
}
}
def get_attribution_info(site, page):
"""Check to see if the given page has some kind of attribution info.
If yes, return a tuple of (attribution template name, template URL).
If no, return None.
"""
if site.name not in ATTRIB_TEMPLATES:
return None
base = ATTRIB_TEMPLATES[site.name]
prefix = site.namespace_id_to_name(NS_TEMPLATE)
templates = base | {prefix + ":" + tpl for tpl in base if ":" not in tpl}
for template in page.parse().ifilter_templates():
if template.name.matches(templates):
name = unicode(template.name).strip()
title = name if ":" in name else prefix + ":" + name
return name, site.get_page(title).url
return None