Last modified: 2014-01-22 09:08:47 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T62021, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 60021 - addSource and addQualifier return API error
addSource and addQualifier return API error
Status: RESOLVED FIXED
Product: Pywikibot
Classification: Unclassified
Wikidata (Other open bugs)
core-(2.0)
PC Linux
: Unprioritized normal
: ---
Assigned To: Pywikipedia bugs
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-01-13 23:04 UTC by kvardek_du
Modified: 2014-01-22 09:08 UTC (History)
1 user (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description kvardek_du 2014-01-13 23:04:25 UTC
item.addClaim(claim) perfectly works, but claim.addSource and claim.addQualifier return API error :


  File "pwb.py", line 135, in <module>
    run_python_file(fn, argv, argvu)
  File "pwb.py", line 67, in run_python_file
    exec(compile(source, filename, "exec"), main_mod.__dict__)
  File "cc.py", line 39, in <module>
    claim.addQualifier(date)
  File "/home/marin/appliext/kun2/data/pywikibot/page.py", line 3017, in addQualifier
    data = self.repo.editQualifier(self, qualifier, **kwargs)
  File "/home/marin/appliext/kun2/data/pywikibot/site.py", line 720, in callee
    return fn(self, *args, **kwargs)
  File "/home/marin/appliext/kun2/data/pywikibot/site.py", line 3850, in editQualifier
    data = req.submit()
  File "/home/marin/appliext/kun2/data/pywikibot/data/api.py", line 401, in submit
    raise APIError(code, info, **result["error"])
pywikibot.data.api.APIError: invalid-guid: Invalid claim guid


__version__ = '$Id: 2949fa22477edd2b209076d43b2ac1ef9575ff20 $' (downloaded in early january)

code :
# -*- coding: utf-8  -*-
import pywikibot
import pickle
import sys
wpcom=unicode(sys.argv[1], 'utf-8')
wpcc=unicode(sys.argv[2], 'utf-8')
site = pywikibot.Site("fr", "wikipedia")
page = pywikibot.Page(site, wpcom)
pagecc = pywikibot.Page(site, wpcc)
item = pywikibot.ItemPage.fromPage(page)
itemcc = pywikibot.ItemPage.fromPage(pagecc)
site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()
dictionary = item.get()
dictionarycc = itemcc.get()
verif=dictionarycc['labels']['fr']
print "La commune est située dans la ", verif
#création de la déclaration principale (claim)
claim = pywikibot.Claim(repo, u'P131')
claim.setTarget(itemcc)
print claim
date = pywikibot.Claim(repo, u'P585')
wikidatevrai = pywikibot.WbTime(year=2013, month=1, day=1)
print "wikidatevrai :", wikidatevrai
date.setTarget(wikidatevrai)
tmp=date.getTarget()
print "tmp", tmp
print "date :", date
claim.addQualifier(date)
print claim
#création de la source
source1 = pywikibot.Claim(repo, u'P854')
source1.setTarget(u'Q2981593')
#qualificateur pour la source (?)
qualif1 = pywikibot.Claim(repo, u'P357')
qualif1.setTarget(u'base des EPCI à fiscalité propre au 1er janvier 2013')
#source1.addQualifier(qualif1)
qualif2 = pywikibot.Claim(repo, u'P577')
wikidatecons=pywikibot.WbTime(year=2013, month=8, day=28)
print wikidatecons
qualif2.setTarget(wikidatecons)
#source1.addQualifier(qualif2)
#claim.addSources(source1)
item.addClaim(claim)

Thank you.
Comment 1 kvardek_du 2014-01-22 09:08:47 UTC
bot=True was missing in addQualifier in page.py and I did an error while using addSource.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links