Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import datetime
- import requests
- VALIDATE_BIRTH = "https://api.testflow.eu/api/testcase/validatebirth/{code}"
- def get_pdf(code, birth_year):
- response = requests.post(
- VALIDATE_BIRTH.format(code=code),
- json={"birthyear": str(birth_year)},
- )
- if response.status_code != 200:
- return "error", ""
- data = response.json()
- if data["validation"] == "failed":
- return "failed", ""
- result = data["result"]
- if not result:
- return "not ready", ""
- pdf = data["certificates"]["de_en"]
- return result, pdf
- def main():
- code = input("Code: ")
- geburts_jahr = input("Geburtsjahr: ")
- print()
- result, pdf = get_pdf(code, geburts_jahr)
- match result:
- case "negative":
- print("Das Testergebnis ist negativ!")
- print("Hier das Zertifikat für Ungeimpfte:", pdf)
- print()
- pdf_datei = f"{datetime.date.today().isoformat()}_Testergebnis.pdf"
- response = requests.get(pdf, stream=True)
- with open(pdf_datei, "wb") as fd:
- for chunk in response.iter_content(1024):
- fd.write(chunk)
- print(f"Das Testergebnis wurde als {pdf_datei} gespeichert.")
- case "failed":
- print("Fehler beim Geburtsdatum")
- case "not ready":
- print("Testergebnis steht noch nicht bereit.")
- case "error":
- print("Irgendwas lief bei der Abfrage schief. Möglicherweise ist der Code falsch")
- case "positive":
- print("2 Wochen Urlaub.... GEIL!!!!!")
- case _:
- print("Äääääh, irgendwas anderes...")
- print(result)
- if __name__ == "__main__":
- main()
- # todo: Dokument direkt drucken!
- # mögliche Fehler korrigieren
Add Comment
Please, Sign In to add comment