1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
"""Roborock exceptions."""
from __future__ import annotations
class RoborockException(Exception):
"""Class for Roborock exceptions."""
class RoborockTimeout(RoborockException):
"""Class for Roborock timeout exceptions."""
class RoborockConnectionException(RoborockException):
"""Class for Roborock connection exceptions."""
class RoborockBackoffException(RoborockException):
"""Class for Roborock exceptions when many retries were made."""
class VacuumError(RoborockException):
"""Class for vacuum errors."""
class CommandVacuumError(RoborockException):
"""Class for command vacuum errors."""
def __init__(self, command: str | None, vacuum_error: VacuumError):
self.message = f"{command or 'unknown'}: {str(vacuum_error)}"
super().__init__(self.message)
class UnknownMethodError(RoborockException):
"""Class for an invalid method being sent."""
class RoborockAccountDoesNotExist(RoborockException):
"""Class for Roborock account does not exist exceptions."""
class RoborockUrlException(RoborockException):
"""Class for being unable to get the URL for the Roborock account."""
class RoborockInvalidCode(RoborockException):
"""Class for Roborock invalid code exceptions."""
class RoborockInvalidEmail(RoborockException):
"""Class for Roborock invalid formatted email exceptions."""
class RoborockInvalidUserAgreement(RoborockException):
"""Class for Roborock invalid user agreement exceptions."""
class RoborockNoUserAgreement(RoborockException):
"""Class for Roborock no user agreement exceptions."""
class RoborockInvalidCredentials(RoborockException):
"""Class for Roborock credentials have expired or changed."""
class RoborockTooFrequentCodeRequests(RoborockException):
"""Class for Roborock too frequent code requests exceptions."""
class RoborockMissingParameters(RoborockException):
"""Class for Roborock missing parameters exceptions."""
class RoborockTooManyRequest(RoborockException):
"""Class for Roborock too many request exceptions."""
class RoborockRateLimit(RoborockException):
"""Class for our rate limits exceptions."""
|