Commit 30310361 authored by Eric Duminil's avatar Eric Duminil
Browse files

Escape URL

parent 1e151f09
# https://gds.hessen.de/INTERSHOP/web/WFS/HLBG-Geodaten-Site/de_DE/-/EUR/ViewDownloadcenter-Start?path=3D-Daten/3D-Geb%C3%A4udemodelle/3D-Geb%C3%A4udemodelle%20LoD2 # https://gds.hessen.de/INTERSHOP/web/WFS/HLBG-Geodaten-Site/de_DE/-/EUR/ViewDownloadcenter-Start?path=3D-Daten/3D-Geb%C3%A4udemodelle/3D-Geb%C3%A4udemodelle%20LoD2
import json import json
from datetime import datetime from datetime import datetime
from urllib.parse import quote
from citygml_download import TMP_DIR, Bundesland, CityGMLWithDate, download_all_files, download_file from citygml_download import TMP_DIR, Bundesland, CityGMLWithDate, download_all_files, download_file
...@@ -20,20 +20,21 @@ if __name__ == "__main__": ...@@ -20,20 +20,21 @@ if __name__ == "__main__":
data = json.load(json_file) data = json.load(json_file)
citygmls = [] citygmls = []
for kreis_link in data['navigation']: for kreis_link in data["navigation"]:
if 'LoD2' in kreis_link['uri'] and kreis_link['level'] == 4: if "LoD2" in kreis_link["uri"] and kreis_link["level"] == 4:
kreis_info_json_path = TMP_DIR / f"hessen_{kreis_link['name']}.json" kreis_info_json_path = TMP_DIR / f"hessen_{kreis_link['name']}.json"
download_file(SERVER + kreis_link['uri'], kreis_info_json_path) download_file(SERVER + kreis_link["uri"], kreis_info_json_path)
with open(kreis_info_json_path) as json_file: with open(kreis_info_json_path) as json_file:
kreis_data = json.load(json_file) kreis_data = json.load(json_file)
creation_date = kreis_data['searchresult']['packages'][0]['creationDate'] creation_date = kreis_data["searchresult"]["packages"][0]["creationDate"]
zip_link = kreis_data['searchresult']['packages'][0]['downloadLink']['uri'] # NOTE: Some links may contain spaces
zip_link = quote(kreis_data["searchresult"]["packages"][0]["downloadLink"]["uri"])
citygmls.append( citygmls.append(
CityGMLWithDate( CityGMLWithDate(
url=SERVER + zip_link, url=SERVER + zip_link,
bundesland=HESSEN, bundesland=HESSEN,
source_date=datetime.strptime(creation_date, "%d.%m.%Y"), source_date=datetime.strptime(creation_date, "%d.%m.%Y"),
) )
) )
download_all_files(citygmls, jobs=1, sleep=20) download_all_files(citygmls, jobs=1, sleep=20)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment