In [84]:
import pywikibot
from pywikibot import pagegenerators
site = pywikibot.Site('ru', 'wikipedia')
commons = site = pywikibot.Site('commons', 'commons')
repo = site.data_repository()
In [85]:
months_ru = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']
In [86]:
months_en = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
In [87]:
year = 1812
In [88]:
month = 7
In [89]:
page_title_ru = months_ru[month] + ' ' + str(year) + ' года'
page_title_ru
Out[89]:
'Август 1812 года'
In [90]:
page_title_en = months_en[month] + ' ' + str(year) + ' events'
In [91]:
page_title_commons = months_en[month] + ' ' + str(year)
In [94]:
page = pywikibot.Category(site, page_title_ru, 14)
In [95]:
page.exists()
Out[95]:
False
In [73]:
item = pywikibot.ItemPage.fromPage(page, True)
In [75]:
item.exists()
Out[75]:
ItemPage('-1')
In [31]:
item.claims
Out[31]:
{'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'})]}
In [33]:
not item.claims or 'P373' not in item.claims
Out[33]:
True
In [98]:
commons_page = pywikibot.Page(commons, page_title_commons, 14)
commons_page
Out[98]:
Page('Category:August 1812')
In [99]:
commons_page.exists()
Out[99]:
True
In [ ]:
claim = pywikibot.Claim(repo, 'P373')
claim.setTarget(page_title_commons)
item.addClaim(claim)