User:Caliburn/code.py/fi
< User:Caliburn | code.py
import pywikibot
import mwparserfromhell
from scripts import pagegenerators
site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()
fiwiki = pywikibot.Site('fi', 'wikipedia')
ficat = pywikibot.Category(fiwiki, 'Luokka:Commonscat ilman linkkiä Wikidatassa')
gen = pagegenerators.CategorizedPageGenerator(ficat)
for page in gen:
item = pywikibot.ItemPage.fromPage(page)
parsertext = page.text
wikicode = mwparserfromhell.parse(parsertext)
strippedtext = wikicode.filter_templates()
TEXT = None
for template in strippedtext:
if template.name.strip() in ("Commons", "commons"):
PARAMS_TO_PARSE = template.params
TEXT = template.get(1).value
claim = pywikibot.Claim(repo, u'P373')
target = '%s' % TEXT
if TEXT == None:
target = '%s' % page.title()
if TEXT in item.claims:
print("Duplicate claim")
continue
claim.setTarget(target)
item.addClaim(claim, summary=u'Bot: Adding [[Property:P373|commons category]] property based on Wikipedia data. Please [[User_talk:Caliburn|report any errors]].')