#!/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()