From bbfd8ff542dae773ef4affa914c1862f06aaf455 Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Tue, 29 Sep 2026 09:16:41 +0200 Subject: request gzip-encoded osm xml --- fietsboek/osm.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fietsboek/osm.py b/fietsboek/osm.py index 101bb89..5513a67 100644 --- a/fietsboek/osm.py +++ b/fietsboek/osm.py @@ -1,7 +1,7 @@ """OSM related utilities for fietsboek.""" +import gzip import logging -import pathlib from urllib.parse import urljoin from xml.etree import ElementTree @@ -14,6 +14,7 @@ LOGGER = logging.getLogger(__name__) API_URL = "https://api.openstreetmap.org/" HEADERS = { "user-agent": f"Fietsboek/{__VERSION__}", + "accept-encoding": "gzip;q=1.0, identity;q=0.5", } MAX_SIMILARITY_STREETNAME = 100 @@ -30,6 +31,7 @@ def find_name(path: Path) -> str: """ LOGGER.debug("Starting naming process") session = requests.Session() + session.headers = HEADERS ((min_lat, min_lon), (max_lat, max_lon)) = path.bounds() @@ -41,7 +43,7 @@ def find_name(path: Path) -> str: LOGGER.debug("bbox=%s,%s,%s,%s", min_lon, min_lat, max_lon, max_lat) urlpath = f"api/0.6/map?bbox={min_lon},{min_lat},{max_lon},{max_lat}" - with requests.get(urljoin(API_URL, urlpath), headers=HEADERS) as response: + with session.get(urljoin(API_URL, urlpath)) as response: data = response.content tree = ElementTree.fromstring(data) -- cgit v1.2.3