User:Pyb/Test3

From Wikidata
Jump to navigation Jump to search

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)