User:Popcorndude/botcode3
Jump to navigation
Jump to search
import pywikibot from pywikibot.pagegenerators import SubCategoriesPageGenerator try: from skip import skip_list #list of items to skip except: skip_list = [] site = pywikibot.Site("en", "wikipedia") repo = pywikibot.Site("wikidata", "wikidata").data_repository() claim = pywikibot.Claim(repo, u'P31') target = pywikibot.ItemPage(repo, u"Q4167410") claim.setTarget(target) lang_descs = target.get()['labels'] for page in CategorizedPageGenerator(pywikibot.Category(site,"All_disambiguation_pages"), recurse=False, start=None, step=None, total=None, content=False): try: item = pywikibot.ItemPage.fromPage(page) if item.getID() in skip_list: continue dictionary = item.get() descs = dictionary['descriptions'] results = {} kl = list(set(lang_descs.keys()).difference(set(descs.keys()))) if not kl: continue if 'P31' not in item.claims: item.addClaim(claim) if len(item.claims['P31']) > 1: print item.getID() else: for lang in lang_descs.keys(): if lang not in descs.keys() or descs[lang] == u'': #or lang_descs[lang] != descs[lang]: #maybe correct descriptions results[lang] = lang_descs[lang] item.editDescriptions(results, summary="adding descriptions") del item except: print page