Der Bibliotheksordner beinhält Code, der von mehreren Dateien benötigt wird.
api.py
Diese Datei ist grundlegend nur Funktionen, die einen API abruf verstecken. Dadurch kann sich die API ändern ohne eine Änderung aller Dateien mit sich zu ziehen. Es muss nur die entsprechende Funktion angepasst werden. Die Funktionen sehen immer so aus:
BASE_URL = "http://localhost:50000"
def get_answers_for(scale: str) -> list[dict]:
res = requests.get("{0}/v1/answers/{1}".format(BASE_URL, scale))
if res.status_code != 200:
raise requests.RequestException(
f"Request was not fullfilled successfully. Server responded with {res.status_code}")
return res.json()
Jede Funktion fragt einen Endpunkt an, überprüft ob der Status Code richtig ist und gibt as Ergebnis als dictionary zurück. Falls du irgendwo den Port oder die vom API Container verändert hast, kannst du hier ganz einfach die BASE_URL
ändern und die Pipeline funktioniert mit deiner neuen URL.
constants.py
In dieser Datei befinden sich Konstanten, die in mehreren Dateien gebraucht werden, wie zum Beipsiel Dateipfade wie dieser:
RAW_DATA_PATH = os.path.normpath(os.path.join(os.getcwd(), "..", "raw_data"))
Solltest du deine Dateistruktur verändert haben, kannst du diese Pfaderstellung verändern, damit die Pipeline deine neue Struktur nachvollziehen kann.