Skip to content

Compat (Legacy)

qgendapy.compat

Drop-in replacement for the legacy python-qgenda library.

Usage::

from qgendapy.compat import QGendaClient

client = QGendaClient(username="user@example.com", password="secret",
                      company_key="abc123")
client.authenticate()  # no-op, modern client auto-authenticates
resp = client.get_schedule(start_date="2024-01-01")
data = resp.json()

QGendaClient(username=None, password=None, company_key=None, api_url=None, api_version=None, headers=None, raise_errors=True, use_caching=False, leader=True)

Legacy-compatible client matching python-qgenda's QGendaClient API.

Source code in src/qgendapy/compat.py
def __init__(
    self,
    username: str | None = None,
    password: str | None = None,
    company_key: str | None = None,
    api_url: str | None = None,
    api_version: str | None = None,
    headers: dict | None = None,
    raise_errors: bool = True,
    use_caching: bool = False,
    leader: bool = True,
) -> None:
    url = api_url or _DEFAULT_API_URL
    version = api_version or _DEFAULT_API_VERSION
    base_url = f"{url.rstrip('/')}/{version}"

    self._client = _ModernClient(
        email=username,
        password=password,
        company_key=company_key,
        base_url=base_url,
    )
    self._raise_errors = raise_errors

authenticate()

No-op -- modern client auto-authenticates on first request.

Source code in src/qgendapy/compat.py
def authenticate(self) -> None:
    """No-op -- modern client auto-authenticates on first request."""

get_schedule(start_date=None, end_date=None, odata_kwargs=None, headers=None)

Source code in src/qgendapy/compat.py
def get_schedule(
    self,
    start_date: str | None = None,
    end_date: str | None = None,
    odata_kwargs: dict | None = None,
    headers: dict | None = None,
) -> _CompatResponse:
    odata = _build_odata(odata_kwargs)
    if not start_date:
        raise ValueError("start_date is required for get_schedule")
    resp = self._client.schedule.list(
        start_date=start_date,
        end_date=end_date,
        odata=odata,
    )
    return _CompatResponse(resp)

get_staff(odata_kwargs=None, headers=None)

Source code in src/qgendapy/compat.py
def get_staff(
    self,
    odata_kwargs: dict | None = None,
    headers: dict | None = None,
) -> _CompatResponse:
    odata = _build_odata(odata_kwargs)
    resp = self._client.staff.list(odata=odata)
    return _CompatResponse(resp)

get_facility(odata_kwargs=None, headers=None)

Source code in src/qgendapy/compat.py
def get_facility(
    self,
    odata_kwargs: dict | None = None,
    headers: dict | None = None,
) -> _CompatResponse:
    odata = _build_odata(odata_kwargs)
    resp = self._client.facility.list(odata=odata)
    return _CompatResponse(resp)

get_organization(odata_kwargs=None, headers=None, organization_key=None)

Source code in src/qgendapy/compat.py
def get_organization(
    self,
    odata_kwargs: dict | None = None,
    headers: dict | None = None,
    organization_key: str | None = None,
) -> _CompatResponse:
    odata = _build_odata(odata_kwargs)
    resp = self._client.organization.list(odata=odata)
    return _CompatResponse(resp)

get_task(odata_kwargs=None, headers=None)

Source code in src/qgendapy/compat.py
def get_task(
    self,
    odata_kwargs: dict | None = None,
    headers: dict | None = None,
) -> _CompatResponse:
    odata = _build_odata(odata_kwargs)
    resp = self._client.task.list(odata=odata)
    return _CompatResponse(resp)

get_timeevent(start_date=None, end_date=None, odata_kwargs=None, headers=None)

Source code in src/qgendapy/compat.py
def get_timeevent(
    self,
    start_date: str | None = None,
    end_date: str | None = None,
    odata_kwargs: dict | None = None,
    headers: dict | None = None,
) -> _CompatResponse:
    odata = _build_odata(odata_kwargs)
    if not start_date:
        raise ValueError("start_date is required for get_timeevent")
    resp = self._client.time_event.list(
        start_date=start_date,
        end_date=end_date,
        odata=odata,
    )
    return _CompatResponse(resp)

get_dailycase(start_date=None, end_date=None, odata_kwargs=None, headers=None)

Source code in src/qgendapy/compat.py
def get_dailycase(
    self,
    start_date: str | None = None,
    end_date: str | None = None,
    odata_kwargs: dict | None = None,
    headers: dict | None = None,
) -> _CompatResponse:
    odata = _build_odata(odata_kwargs)
    if not start_date:
        raise ValueError("start_date is required for get_dailycase")
    resp = self._client.daily_case.list(
        start_date=start_date,
        end_date=end_date,
        odata=odata,
    )
    return _CompatResponse(resp)