Task_3: Docstrings und Typehints verwenden
This commit is contained in:
parent
801539a40b
commit
f92fdd93e4
14
TASK.md
14
TASK.md
@ -1,6 +1,12 @@
|
|||||||
# TASK 2:
|
# TASK 3:
|
||||||
|
|
||||||
Als nächstes versucht ihr eine einfache fetch_bergbahn() zu bauen, die API lautet "https://overpass-api.de/api/interpreter"
|
Für `Task_2` habt ihr das requests-Modul benötigt, welches mit `pip install requests` installiert werden musste.
|
||||||
Nutzt dazu die request-Library in Python, wo ihr `post-` und `get`-Requests bauen könnt.
|
Ich habe zusätzlich eine neue Datei `requirements.txt` erstellt, worin das installierte Modul `requests`
|
||||||
|
nun aufgeführt ist. Das hilft, dass andere Programmierer am Schluss euer Projekt einfach nachbauen/ausführen können.
|
||||||
|
|
||||||
Verwendet die Unterrichtsfolien als Hilfe zum Bauen des requests.
|
* Fügt der aktuellen Funktion einen aussagekräftigen **Docstrings** und **Typehints** hinzu.
|
||||||
|
|
||||||
|
Ziel ist es in unserem Miniprojekt ab nun stets aktuelle und aussagekräfte Docstrings und überall Typehints zu verwenden!
|
||||||
|
Das mag zwar beim Erstellen ein wenig lästig sein, ist aber eine Investition in die Zukunft!
|
||||||
|
|
||||||
|
Denkt immer daran: "Ein Code wird meist häufiger gelesen als geschrieben..."
|
||||||
27
main.py
27
main.py
@ -1,8 +1,33 @@
|
|||||||
|
import requests
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
|
||||||
|
|
||||||
|
OVERPASS_URL = "https://overpass-api.de/api/interpreter"
|
||||||
|
|
||||||
|
BERGBAHN_QUERY = """
|
||||||
|
[out:json][timeout:3][maxsize:500000];
|
||||||
|
(
|
||||||
|
node["aerialway"="station"]({bbox});
|
||||||
|
way["aerialway"="station"]({bbox});
|
||||||
|
node["railway"="funicular"]({bbox});
|
||||||
|
way["railway"="funicular"]({bbox});
|
||||||
|
node["railway"="station"]["funicular"="yes"]({bbox});
|
||||||
|
);
|
||||||
|
out center body;
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
def fetch_bergbahnen(bbox) -> dict:
|
def fetch_bergbahnen(bbox) -> dict:
|
||||||
return {}
|
bbox_str = ",".join(map(str, bbox))
|
||||||
|
query = BERGBAHN_QUERY.format(bbox=bbox_str)
|
||||||
|
|
||||||
|
resp = requests.post(
|
||||||
|
OVERPASS_URL,
|
||||||
|
data={"data": query},
|
||||||
|
timeout=5,
|
||||||
|
headers={"User-Agent": "CDS Exercise"},
|
||||||
|
)
|
||||||
|
return resp.json()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user