Create missing depicts items.

This commit is contained in:
Edward Betts 2019-10-10 21:05:17 +01:00
parent 1ef188fa06
commit 545311112b

31
app.py
View file

@ -293,28 +293,25 @@ def existing_depicts_from_entity(entity):
if 'P180' not in entity['claims']: if 'P180' not in entity['claims']:
return [] return []
existing = [] existing = []
new_depicts = False
for claim in entity['claims']['P180']: for claim in entity['claims']['P180']:
item_id = claim['mainsnak']['datavalue']['value']['numeric-id'] item_id = claim['mainsnak']['datavalue']['value']['numeric-id']
item = DepictsItem.query.get(item_id) item = DepictsItem.query.get(item_id)
if item: if not item:
d = { item = wikidata_edit.create_depicts_item(item_id)
'label': item.label, database.session.add(item)
'description': item.description, new_depicts = True
'qid': item.qid, d = {
'count': item.count, 'label': item.label,
'existing': True, 'description': item.description,
} 'qid': f'Q{item.item_id}',
else: 'count': item.count,
qid = f'Q{item_id}' 'existing': True,
d = { }
'label': 'not in db',
'description': '',
'qid': qid,
'count': 0,
'existing': True,
}
existing.append(d) existing.append(d)
if new_depicts:
database.session.commit()
return existing return existing
def get_institution(entity, other): def get_institution(entity, other):