User:Popcorndude/botcode

import pywikibot
from pywikibot.pagegenerators import SubCategoriesPageGenerator
try:
    from skip import skip_list #list of items to skip
except:
    skip_list = []
site1 = pywikibot.Site("en", "wikipedia")
site2 = pywikibot.Site("wikidata", "wikidata")
repo = site2.data_repository()
claim = pywikibot.Claim(repo, u'P31')
target = pywikibot.ItemPage(repo, u"Q4167836")
claim.setTarget(target)
lang_descs = target.get()['labels']
for page in SubCategoriesPageGenerator(pywikibot.Category(site1,"Contents"), recurse=True, start=None, step=None, total=None, content=False):
    item = pywikibot.ItemPage.fromPage(page)
    if item.getID() in skip_list: continue
    #print item.getID()
    dictionary = item.get()
    descs = dictionary['descriptions']
    results = {}
    for lang in lang_descs.keys():
        if lang not in descs.keys():
            #or lang_descs[lang] != descs[lang]: #maybe correct descriptions
            results[lang] = lang_descs[lang]
    item.editDescriptions(descs, summary="adding descriptions")
    if 'P31' not in item.claims:
        item.addClaim(claim)