from ares_util.ares import call_ares, validate_czech_company_id from ares_util.exceptions import InvalidCompanyIDError from django.http import HttpRequest, HttpResponse from django.shortcuts import render ARES_BASE_URL = "https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_rzp.cgi?ico=27074358&xml=0&ver=1.0.4" def build_address(street: str, zip_code: int | str, city: str, city_part: str) -> str: return f"{street}, {zip_code}, {city} - {city_part}" def test(req: HttpRequest, ico: str) -> HttpResponse: try: validate_czech_company_id(ico) except InvalidCompanyIDError as ex: return render(req, "subjects/ares.html", dict(error=ex, ares_data={})) ares_data = call_ares(ico) ares_address_data = ares_data["address"] ares_legal_data = ares_data["legal"] address_line = build_address( ares_address_data["street"], ares_address_data["zip_code"], ares_address_data["city"], ares_address_data["city_part"] ) important_data = dict( copmany_name=ares_legal_data["company_name"], company_id=ares_legal_data["company_id"], company_vat_id=ares_legal_data["company_vat_id"], address_line=address_line, ) return render(req, "subjects/ares.html", dict(error="", ares_data=important_data))