User:CanaryBot/set-label-desc.py
(Redirected from User:CanaryBot/labels-indonesian-villages.py)
import logging
import pywikibot
from pywikibot import pagegenerators as pg
query='select ?item where {?item wdt:P31 wd:Q2225692 . ?item wdt:P17 wd:Q252}'
lang='es'
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
es_blank = 0
es_filled= 0
for village in wd_sparql_query(query):
es = ''
id = ''
if (src) in village.labels:
id = village.labels['id']
if (lang) in village.labels:
es = village.labels[lang]
es_filled += 1
existed = '¡Ya existe la etiqueta en español! Revisar descripción %s-%d-%d-%d-[%s]-<%s>' % (village.title(),100*es_filled / (es_blank+es_filled+1),es_filled,es_blank,es,id)
print(existed)
logging.basicConfig(filename='../logs/indonesian-village.log', level=logging.INFO, format='%(asctime)s » %(message)s', datefmt='%d/%m/%Y %I:%M:%S %p')
logging.info(existed)
else:
es_blank += 1
data = {}
data.update({'labels':{lang:id}})
#data.update({'descriptions':'{%s:%s}' % ('es','pueblo de Indonesia')})
data.update({'descriptions':{'es':'pueblo de Indonesia'}})
print('[%s]-<%s>' % (es, id))
try:
#village.editEntity(data,summary=u'set es-label and es-desc from id-wiki')
print(data)
logging.basicConfig(filename='../logs/indonesian-village.log', level=logging.INFO, format='%(asctime)s » %(message)s', datefmt='%d/%m/%Y %I:%M:%S %p')
logging.info(data)
except:
pass
else:
notExisted = '¡No existe en indonesio! %s-%d-%d-%d-[%s]-<%s>' % (village.title(),100*es_filled / (es_blank+es_filled+1),es_filled,es_blank,es,id)
print(notExisted)
logging.basicConfig(filename='../logs/indonesian-village.log', level=logging.INFO, format='%(asctime)s » %(message)s', datefmt='%d/%m/%Y %I:%M:%S %p')
logging.info(notExisted)