class MayoError(Exception): """Bazowy wyjątek dla integracji z Mayo.""" # dla httpx.RequestError, timeoutów, DNS, resetu połączenia class MayoConnectionError(MayoError): """Nie udało się połączyć z systemem Mayo.""" # dla złego loginu/hasła albo strony logowania po rzekomo udanym logowaniu class MayoAuthError(MayoError): """Uwierzytelnienie w systemie Mayo nie powiodło się.""" # dla sytuacji, gdy sesja wygasła w trakcie pracy i trzeba się zalogować ponownie class MayoSessionError(MayoError): """Sesja w systemie Mayo jest nieważna lub wygasła.""" # dla statusów HTTP typu 500, 403, 502 albo HTML-a, który nie pasuje do oczekiwanego flow class MayoResponseError(MayoError): """System Mayo zwrócił nieoczekiwaną odpowiedź.""" # gdy odpowiedź przyszła, ale parser nie umie z niej wyciągnąć danych class MayoParseError(MayoError): """Nie udało się sparsować odpowiedzi z systemu Mayo.""" # gdy biznesowo wszystko działa, ale danego zamówienia nie ma class MayoOrderNotFound(MayoError): """Nie znaleziono zamówienia w systemie Mayo."""