Projekt:Wikidata 2014/Testcase/ref
Utseende
"references": [
{
"snaks": {
"P248": [
{
"snaktype": "value",
"property": "P248",
"datatype": "wikibase-item",
"datavalue": {
"value": {
"entity-type": "item",
"numeric-id": 17373699
},
"type": "wikibase-entityid"
}
}
],
"P813": [
{
"snaktype": "value",
"property": "P813",
"datatype": "time",
"datavalue": {
"value": {
"time": "+00000002014-04-13T00:00:00Z",
"timezone": 0,
"before": 0,
"after": 0,
"precision": 11,
"calendarmodel": "http://www.wikidata.org/entity/Q1985727"
},
"type": "time"
}
}
]
},
"snaks-order": [
"P248",
"P813"
]
}
]
Pywikipedia
- Här har även P813 byts ut mot P577
# -*- coding: utf-8 -*-
def addRef(claim):
statedin = pywikibot.Claim(repo, u'P248')
itis = pywikibot.ItemPage(repo, "Q17373699")
statedin.setTarget(itis)
if hasRef(u'P248', itis, claim):
return False
retrieved = pywikibot.Claim(repo, u'P577')
date = pywikibot.WbTime(year=2014, month=04, day=13)
retrieved.setTarget(date)
claim.addSources([statedin, retrieved]) #writes to database
return True
def hasRef(prop, itis, claim):
if claim.sources:
if prop in claim.sources[0].keys():
for s in claim.sources[0][prop]:
if s.getTarget() == itis:
return True
return False