diff --git a/greggs.py b/greggs.py new file mode 100755 index 0000000..3c4dcdf --- /dev/null +++ b/greggs.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +import overpy + +# brandname : overpass query filters +BRANDS: dict[str, str] = { + "greggs": "[\"brand:wikidata\"=\"Q3403981\"]", +} + + +def fetch_data(brand: str) -> list[tuple[float | None, float | None]]: + api = overpy.Overpass() + + filters = BRANDS[brand] + query = api.query(f"nwr{filters}; out center;") + + result = [] + + for way in query.ways: + result.append((way.center_lat, way.center_lon)) + + for node in query.nodes: + result.append((node.lat, node.lon)) + + for (lat, lon) in result: + if (lat is None) or (lon is None): + raise ValueError("Item missing coords!") + + return result + + +def main(): + print("Running query...") + greggs = fetch_data("greggs") + print(f"Query done - got {len(greggs)} Greggs!") + + +if __name__ == "__main__": + main()