Avoid crash for lat/lon in UK EEZ

Handle Wiidata items without a Commons sitelink
This commit is contained in:
Edward Betts 2024-01-17 11:48:33 +00:00
parent e9193be3cc
commit 747e9dec48

View file

@ -196,7 +196,6 @@ def build_dict(hit: Hit | None, lat: float, lon: float) -> WikidataDict:
coords = {"lat": lat, "lon": lon} coords = {"lat": lat, "lon": lon}
if hit is None: if hit is None:
return {"commons_cat": None, "missing": True, "coords": coords} return {"commons_cat": None, "missing": True, "coords": coords}
assert isinstance(hit["commons_cat"], str)
commons_cat = hit["commons_cat"] commons_cat = hit["commons_cat"]
ret: WikidataDict = { ret: WikidataDict = {
"coords": coords, "coords": coords,
@ -208,6 +207,7 @@ def build_dict(hit: Hit | None, lat: float, lon: float) -> WikidataDict:
if not commons_cat: if not commons_cat:
return ret return ret
assert isinstance(commons_cat, str)
url = commons_cat_start + urllib.parse.quote(commons_cat.replace(" ", "_")) url = commons_cat_start + urllib.parse.quote(commons_cat.replace(" ", "_"))
ret["commons_cat"] = {"title": commons_cat, "url": url} ret["commons_cat"] = {"title": commons_cat, "url": url}