mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-22 08:48:38 +00:00
23 lines
806 B
Python
23 lines
806 B
Python
import xml.etree.ElementTree as ET
|
|
|
|
import requests
|
|
|
|
from domain.abri.models import JobLogged, LogJobRequest, LogJobResult
|
|
from infrastructure.abri.config import AbriConfig
|
|
|
|
|
|
class AbriClient:
|
|
def __init__(self, config: AbriConfig) -> None:
|
|
self._config = config
|
|
self._session = requests.Session()
|
|
|
|
def log_job(self, request: LogJobRequest) -> LogJobResult:
|
|
response = self._session.post(self._config.endpoint_url, data=b"")
|
|
root = ET.fromstring(response.content)
|
|
job_logged = root.find("Jobs/Job_logged")
|
|
if job_logged is None:
|
|
raise ValueError("Job_logged element missing from relay response")
|
|
return JobLogged(
|
|
job_no=job_logged.attrib["job_no"],
|
|
logged_info=job_logged.attrib["logged_info"],
|
|
)
|