User:Pyb/Test3
< User:Pyb
pywikipedia[edit]
Help :
Script pour remplir une fiche vide (faut au préalable créer la fiche)
To do:
- gestion des qualificateurs
- gestion d'un csv, xml, etc. pour éditer plusieurs fiches d'un seul coup
# -*- coding: utf-8 -*-
import pywikibot
site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()
item = pywikibot.ItemPage(repo, u"Q4115189")
item.get()
mydescriptions = {u'fr': u'English writer and humorist', u'en': u'test'}
item.editDescriptions(mydescriptions)
humain = pywikibot.Claim(repo, u'P31')
target = pywikibot.ItemPage(repo, u"Q5")
humain.setTarget(target)
# Check if the property isn't already set
if humain.getID() in item.get().get('claims'):
pywikibot.output(
u'A claim for %s already exists. Skipping'
% humain.getID())
else:
item.addClaim(humain)
sexe = pywikibot.Claim(repo, u'P21')
target = pywikibot.ItemPage(repo, u"Q6581097")
sexe.setTarget(target)
# Check if the property isn't already set
if sexe.getID() in item.get().get('claims'):
pywikibot.output(
u'A claim for %s already exists. Skipping'
% sexe.getID())
else:
item.addClaim(sexe)
DateNaissance = pywikibot.Claim(repo, u'P569')
time = pywikibot.WbTime(year=1810, month=10, day=06, precision='day')
DateNaissance.setTarget(time)
# Check if the property isn't already set
if DateNaissance.getID() in item.get().get('claims'):
pywikibot.output(
u'A claim for %s already exists. Skipping'
% DateNaissance.getID())
else:
item.addClaim(DateNaissance)
DateDeces = pywikibot.Claim(repo, u'P570')
time = pywikibot.WbTime(year=1890, month=11, day=03, precision='day')
DateDeces.setTarget(time)
# Check if the property isn't already set
if DateDeces.getID() in item.get().get('claims'):
pywikibot.output(
u'A claim for %s already exists. Skipping'
% DateDeces.getID())
else:
item.addClaim(DateDeces)
LieuNaissance = pywikibot.Claim(repo, u'P19')
target = pywikibot.ItemPage(repo, u"Q90")
LieuNaissance.setTarget(target)
#item.addClaim(LieuNaissance)
# Check if the property isn't already set
if LieuNaissance.getID() in item.get().get('claims'):
pywikibot.output(
u'A claim for %s already exists. Skipping'
% LieuNaissance.getID())
else:
item.addClaim(LieuNaissance)
LieuDeces = pywikibot.Claim(repo, u'P20')
target = pywikibot.ItemPage(repo, u"Q90")
LieuDeces.setTarget(target)
# Check if the property isn't already set
if LieuDeces.getID() in item.get().get('claims'):
pywikibot.output(
u'A claim for %s already exists. Skipping'
% LieuDeces.getID())
else:
item.addClaim(LieuDeces)
PereLachaise = pywikibot.Claim(repo, u'P119')
target = pywikibot.ItemPage(repo, u"Q311")
PereLachaise.setTarget(target)
#PereLachaise.addSource(source)
# Check if the property isn't already set
if PereLachaise.getID() in item.get().get('claims'):
pywikibot.output(
u'A claim for %s already exists. Skipping'
% PereLachaise.getID())
else:
sourceItem = pywikibot.ItemPage(repo,'Q13413655')#Moiroux
source = pywikibot.Claim(repo,'P248')#affirmé dans
source.setTarget(sourceItem)
item.addClaim(PereLachaise, bot=True)
PereLachaise.addSource(source)