From 8562d9f2bfce54fab9e0f4cf903759bd0339cb11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?tr=C3=A9meur?= Date: Thu, 17 Apr 2025 18:04:41 +0100 Subject: [PATCH] Retry place coordinate fetching --- generateplaces.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/generateplaces.py b/generateplaces.py index d35d3e0..a9972a8 100644 --- a/generateplaces.py +++ b/generateplaces.py @@ -1,4 +1,5 @@ import orgparse,os,re,sys,variables +import time from datetime import datetime from geopy.geocoders import Nominatim @@ -65,7 +66,7 @@ if variables.trackplaces == True: lookup = placename + ", " + variables.disambig[placename] except: lookup = placename - thedict = {"name":placename,"dates":[dates],"lat":geo.geocode(lookup).latitude,"long":geo.geocode(lookup).longitude} + thedict = {"name":placename,"dates":[dates],"lookup":lookup} places.append(thedict) else: twodict = {"name":placename,"dates":[dates]} @@ -79,6 +80,23 @@ if variables.trackplaces == True: place["dates"] = list(dict.fromkeys(place["dates"])) theplaces = sorted(places,key=lambda d: d["name"]) + + for place in theplaces: + print("Fetching " + place["name"]) + place["lat"] = None + while place["lat"] == None: + try: + place["lat"] = geo.geocode(place["lookup"]).latitude + except: + time.sleep(3) + continue + place["long"] = None + while place["long"] == None: + try: + place["long"] = geo.geocode(place["lookup"]).longitude + except: + time.sleep(3) + continue alllats = [] alllongs = []