Skip to content
Snippets Groups Projects
Commit 70185a18 authored by Maximilian Loch's avatar Maximilian Loch
Browse files

added type hints + small bugfixes

parent 72f4c478
No related branches found
No related tags found
No related merge requests found
...@@ -10,17 +10,17 @@ class DBTools: ...@@ -10,17 +10,17 @@ class DBTools:
Tools für das arbeiten mit der Datenbank, hier sind die select Funktionen Tools für das arbeiten mit der Datenbank, hier sind die select Funktionen
zum auslesen der Daten und zum updaten der Daten mit den Adressen. zum auslesen der Daten und zum updaten der Daten mit den Adressen.
""" """
def __init__(self, data: str) -> None: def __init__(self, conn: str) -> None:
""" """
Aufbauen der Verbindung zu der Datenbank Aufbauen der Verbindung zu der Datenbank
:param str data: Connection String mit allen Informationen für die :param str data: Connection String mit allen Informationen für die
Verbindung zur Datenbank Verbindung zur Datenbank
""" """
self.db_connection = psycopg2.connect(data) self.db_connection = psycopg2.connect(conn)
self.cursor = self.db_connection.cursor() self.cursor = self.db_connection.cursor()
def select_adress(self): def select_adress(self) -> "list[tuple[str, ... ]]":
""" """
Funktion zum selektieren der Adressdaten der Schulen um diese zu Funktion zum selektieren der Adressdaten der Schulen um diese zu
geocoden und ihnen URI aus dem AREG zuzuweisen. geocoden und ihnen URI aus dem AREG zuzuweisen.
...@@ -44,7 +44,7 @@ class DBTools: ...@@ -44,7 +44,7 @@ class DBTools:
return query_result return query_result
def select_uri(self): def select_uri(self) -> "list[tuple[str,str]]":
""" """
Funktion zum selektieren der URI aus dem Datensatz um diese mit Funktion zum selektieren der URI aus dem Datensatz um diese mit
aktuellen AREG Adressen anzureichern. aktuellen AREG Adressen anzureichern.
...@@ -94,7 +94,7 @@ class DBTools: ...@@ -94,7 +94,7 @@ class DBTools:
self.cursor.execute(sql_alter) self.cursor.execute(sql_alter)
self.cursor.execute(sql_update) self.cursor.execute(sql_update)
def update_adress(self, data, param_uri: str) -> None: def update_adress(self, data: "dict[str,str]", param_uri: str) -> None:
""" """
Funktion zum Update der Datenbank mit den neuen Adressdaten aus dem Funktion zum Update der Datenbank mit den neuen Adressdaten aus dem
AREG anhand der URI. AREG anhand der URI.
...@@ -105,6 +105,7 @@ class DBTools: ...@@ -105,6 +105,7 @@ class DBTools:
""" """
geometry = str(data['geometry']) geometry = str(data['geometry'])
geometry = geometry.replace("'", '"') geometry = geometry.replace("'", '"')
adressdaten = data['properties']
sql_alter = """ sql_alter = """
alter table alter table
...@@ -125,7 +126,7 @@ class DBTools: ...@@ -125,7 +126,7 @@ class DBTools:
update update
prototyp_areg.schulen prototyp_areg.schulen
set set
hnr='{data['properties']['hnr']}', hnr='{adressdaten['hnr']}',
strasse='{data['properties']['stn']}', strasse='{data['properties']['stn']}',
plz='{data['properties']['plz']}', plz='{data['properties']['plz']}',
ort='{data['properties']['ort']}', ort='{data['properties']['ort']}',
...@@ -162,7 +163,7 @@ class APITools: ...@@ -162,7 +163,7 @@ class APITools:
""" """
self.base_url = param_url self.base_url = param_url
def geocode(self, data: dict) -> dict: def geocode(self, data: "dict[str,str]") -> "dict[str,str]":
""" """
Funktion zum Aufrufen des Geocoder Prozesses in der API. Bereinigung Funktion zum Aufrufen des Geocoder Prozesses in der API. Bereinigung
finden nicht in dieser Funktion oder diesem Skript sondern im Geocoder finden nicht in dieser Funktion oder diesem Skript sondern im Geocoder
...@@ -200,10 +201,15 @@ class APITools: ...@@ -200,10 +201,15 @@ class APITools:
return result return result
def findadresse(self, param_uri): def findadresse(self, param_uri: str) -> "dict[dict[str, str], ... ]":
""" """
Funktion zum finden der Adresse im AREG anhand der vergebenen URI. Funktion zum finden der Adresse im AREG anhand der vergebenen URI.
:param str param_uri: URI des Datensatzes Antwort ist in Form eines Dictionaries. Die eigentrlichen Adress-
Attribute befinden sich im abschnitt `properties`.
:param str param_uri: URI des Datensatzes mit Link zur API.
:return: GeoJSON des jeweiligen Items das der URI entspricht :return: GeoJSON des jeweiligen Items das der URI entspricht
:rtype: dict :rtype: dict
""" """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment