Bug fix refresh_item
This commit is contained in:
parent
4863eb59d5
commit
938f79ba19
|
@ -676,7 +676,7 @@ def api_polygon(osm_type, osm_id):
|
||||||
@app.route("/refresh/Q<int:item_id>")
|
@app.route("/refresh/Q<int:item_id>")
|
||||||
def refresh_item(item_id: int) -> str:
|
def refresh_item(item_id: int) -> str:
|
||||||
"""Refresh the local mirror of a Wikidata item."""
|
"""Refresh the local mirror of a Wikidata item."""
|
||||||
existing = model.Item.query.get(item_id)
|
item = model.Item.query.get(item_id)
|
||||||
|
|
||||||
qid = f"Q{item_id}"
|
qid = f"Q{item_id}"
|
||||||
entity = wikidata_api.get_entity(qid)
|
entity = wikidata_api.get_entity(qid)
|
||||||
|
@ -686,9 +686,9 @@ def refresh_item(item_id: int) -> str:
|
||||||
coords = wikidata.get_entity_coords(entity["claims"])
|
coords = wikidata.get_entity_coords(entity["claims"])
|
||||||
|
|
||||||
obj = {k: v for k, v in entity.items() if k in entity_keys}
|
obj = {k: v for k, v in entity.items() if k in entity_keys}
|
||||||
if existing:
|
if item:
|
||||||
for k, v in obj.items():
|
for k, v in obj.items():
|
||||||
setattr(model, k, v)
|
setattr(item, k, v)
|
||||||
else:
|
else:
|
||||||
item = model.Item(item_id=item_id, **obj)
|
item = model.Item(item_id=item_id, **obj)
|
||||||
database.session.add(item)
|
database.session.add(item)
|
||||||
|
|
Loading…
Reference in a new issue