import pywikibot
from pywikibot import pagegenerators
site = pywikibot.Site('ru', 'wikipedia')
commons = site = pywikibot.Site('commons', 'commons')
repo = site.data_repository()
months_ru = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']
months_en = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
year = 1812
month = 7
page_title_ru = months_ru[month] + ' ' + str(year) + ' года'
page_title_ru
'Август 1812 года'
page_title_en = months_en[month] + ' ' + str(year) + ' events'
page_title_commons = months_en[month] + ' ' + str(year)
page = pywikibot.Category(site, page_title_ru, 14)
page.exists()
False
item = pywikibot.ItemPage.fromPage(page, True)
item.exists()
ItemPage('-1')
item.claims
{'P31': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P31', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 4167836}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q7778898$42CCAE57-45DF-4B5E-BF32-BA26E60D733D', 'rank': 'normal', 'references': [{'snaks': {'P143': [{'snaktype': 'value', 'property': 'P143', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 328}, 'type': 'wikibase-entityid'}}]}, 'snaks-order': ['P143'], 'hash': 'fa278ebfc458360e5aed63d5058cca83c46134f1'}]})],
 'P301': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P301', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 16647087}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q7778898$4D65D161-11AA-4766-9F6A-75846B5BBF67', 'rank': 'normal', 'references': [{'snaks': {'P143': [{'snaktype': 'value', 'property': 'P143', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 8447}, 'type': 'wikibase-entityid'}}]}, 'snaks-order': ['P143'], 'hash': 'd4bd87b862b12d99d26e86472d44f26858dee639'}]})],
 'P971': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P971', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 1190554}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q7778898$4791F997-D085-4EDA-BB80-7D83BCCF9739', 'rank': 'normal'}),
  Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P971', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 16647087}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q7778898$088461CE-2504-4E44-9D2F-762245DB1F4D', 'rank': 'normal'})]}
not item.claims or 'P373' not in item.claims
True
commons_page = pywikibot.Page(commons, page_title_commons, 14)
commons_page
Page('Category:August 1812')
commons_page.exists()
True
claim = pywikibot.Claim(repo, 'P373')
claim.setTarget(page_title_commons)
item.addClaim(claim)