User:Edoderoobot/labels-indonesian-villages.py
Jump to navigation
Jump to search
import pywikibot
from pywikibot import pagegenerators as pg
query='select ?item where {?item wdt:P31 wd:Q2225692 . ?item wdt:P17 wd:Q252}'
lang='nl'
src='id'
def wd_sparql_query(spq):
wikidatasite=pywikibot.Site('wikidata','wikidata')
generator=pg.WikidataSPARQLPageGenerator(spq,site=wikidatasite)
for wd in generator:
if (wd.exists()):
wd.get(get_redirect=True)
yield wd
nl_blank = 0
nl_filled= 0
for village in wd_sparql_query(query):
nl=''
id=''
if (src) in village.labels:
id=village.labels['id']
if (lang) in village.labels:
nl=village.labels[lang]
nl_filled += 1
else:
nl_blank += 1
data={}
data.update({'labels':{lang:id}})
try:
village.editEntity(data,summary=u'label van id-wiki')
except:
pass
else:
print('%s-%d-%d-%d-[%s]-<%s>' % (village.title(),100*nl_filled / (nl_blank+nl_filled+1),nl_filled,nl_blank,nl,id))