Skip to content

Commit 8268316

Browse files
committed
Lots of improvements
Including a switch from relative to absolute imports
1 parent 1233c33 commit 8268316

File tree

22 files changed

+130
-117
lines changed

22 files changed

+130
-117
lines changed

tesla_fleet_api/__init__.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
from .tesla.fleet import TeslaFleetApi
2-
from .tesla.bluetooth import TeslaBluetooth
3-
from .tesla.oauth import TeslaFleetOAuth
4-
from .tesla.opensource import TeslaFleetOpenSource
5-
from .teslemetry.teslemetry import Teslemetry
6-
from .tessie.tessie import Tessie
1+
from tesla_fleet_api.tesla.fleet import TeslaFleetApi
2+
from tesla_fleet_api.tesla.bluetooth import TeslaBluetooth
3+
from tesla_fleet_api.tesla.oauth import TeslaFleetOAuth
4+
from tesla_fleet_api.teslemetry.teslemetry import Teslemetry
5+
from tesla_fleet_api.tessie.tessie import Tessie
76

87
__all__ = [
98
"TeslaFleetApi",
109
"TeslaBluetooth",
1110
"TeslaFleetOAuth",
12-
"TeslaFleetOpenSource",
1311
"Teslemetry",
1412
"Tessie",
1513
]

tesla_fleet_api/exceptions.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import aiohttp
2-
from .const import LOGGER
2+
from tesla_fleet_api.const import LOGGER
33

44

55
class TeslaFleetError(BaseException):
@@ -856,6 +856,9 @@ class SignedMessageInformationFaultCouldNotHashMetadata(SignedMessageInformation
856856
class WhitelistOperationStatus(TeslaFleetError):
857857
message = "Whitelist operation failed"
858858

859+
def __init__(self, message):
860+
self.message = message
861+
859862
class WhitelistOperationUndocumentedError(WhitelistOperationStatus):
860863
message = "Undocumented whitelist operation error"
861864
code = 1
@@ -944,6 +947,14 @@ class WhitelistOperationServiceKeyAttemptingToAddServiceTechOutsideServiceMode(W
944947
message = "Service key attempting to add service tech outside service mode"
945948
code = 22
946949

950+
# No idea what 23 & 24 are
951+
952+
class WhitelistOperationServiceAuthorizationRequestTimedOut(WhitelistOperationStatus):
953+
# This is observed but not documented
954+
message = "Authorization request timed out"
955+
code = 25
956+
957+
947958
WHITELIST_OPERATION_STATUS = [
948959
None,
949960
WhitelistOperationUndocumentedError,
@@ -967,7 +978,10 @@ class WhitelistOperationServiceKeyAttemptingToAddServiceTechOutsideServiceMode(W
967978
WhitelistOperationAttemptingToAddKeyWithoutRole,
968979
WhitelistOperationAttemptingToAddKeyWithServiceRole,
969980
WhitelistOperationNonServiceKeyAttemptingToAddServiceTech,
970-
WhitelistOperationServiceKeyAttemptingToAddServiceTechOutsideServiceMode
981+
WhitelistOperationServiceKeyAttemptingToAddServiceTechOutsideServiceMode,
982+
WhitelistOperationStatus,
983+
WhitelistOperationStatus,
984+
WhitelistOperationServiceAuthorizationRequestTimedOut
971985
]
972986

973987

tesla_fleet_api/tesla/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
"""Tesla Fleet API classes."""
22

3-
from .fleet import TeslaFleetApi
4-
from .bluetooth import TeslaBluetooth
5-
from .oauth import TeslaFleetOAuth
3+
from tesla_fleet_api.tesla.fleet import TeslaFleetApi
4+
from tesla_fleet_api.tesla.bluetooth import TeslaBluetooth
5+
from tesla_fleet_api.tesla.oauth import TeslaFleetOAuth
66

77
__all__ = [
88
"TeslaFleetApi",

tesla_fleet_api/tesla/bluetooth.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
import hashlib
44
import re
5-
from .tesla import Tesla
6-
from .vehicle.bluetooth import VehicleBluetooth
5+
6+
from tesla_fleet_api.tesla.tesla import Tesla
7+
from tesla_fleet_api.tesla.vehicle.bluetooth import VehicleBluetooth
78

89
class TeslaBluetooth(Tesla):
910
"""Class describing a Tesla Bluetooth connection."""
@@ -31,6 +32,10 @@ class Vehicles(dict[str, VehicleBluetooth]):
3132
def __init__(self, parent: TeslaBluetooth):
3233
self._parent = parent
3334

35+
def create(self, vin: str) -> VehicleBluetooth:
36+
"""Creates a specific vehicle."""
37+
return self.createBluetooth(vin)
38+
3439
def createBluetooth(self, vin: str) -> VehicleBluetooth:
3540
"""Creates a specific vehicle."""
3641
vehicle = VehicleBluetooth(self._parent, vin)

tesla_fleet_api/tesla/charging.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from typing import Any
2-
from ..const import Method
2+
from tesla_fleet_api.const import Method
33

44

55
class Charging:

tesla_fleet_api/tesla/energysite.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from __future__ import annotations
22
from typing import Any, TYPE_CHECKING
3-
from ..const import Method, EnergyOperationMode, EnergyExportMode, TeslaEnergyPeriod
3+
from tesla_fleet_api.const import Method, EnergyOperationMode, EnergyExportMode, TeslaEnergyPeriod
44

55
if TYPE_CHECKING:
6-
from . import TeslaFleetApi
6+
from tesla_fleet_api.tesla.fleet import TeslaFleetApi
77

88
class EnergySite:
99
"""Class describing the Tesla Fleet API partner endpoints"""

tesla_fleet_api/tesla/fleet.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
from typing import Any, Awaitable
55
import aiohttp
66

7-
from .tesla import Tesla
8-
from ..exceptions import raise_for_status, InvalidRegion, LibraryError, ResponseError
9-
from ..const import SERVERS, Method, LOGGER, VERSION
10-
from .charging import Charging
11-
from .energysite import EnergySites
12-
from .partner import Partner
13-
from .user import User
14-
from .vehicle.vehicles import Vehicles
7+
from tesla_fleet_api.tesla.tesla import Tesla
8+
from tesla_fleet_api.exceptions import raise_for_status, InvalidRegion, LibraryError, ResponseError
9+
from tesla_fleet_api.const import SERVERS, Method, LOGGER, VERSION
10+
from tesla_fleet_api.tesla.charging import Charging
11+
from tesla_fleet_api.tesla.energysite import EnergySites
12+
from tesla_fleet_api.tesla.partner import Partner
13+
from tesla_fleet_api.tesla.user import User
14+
from tesla_fleet_api.tesla.vehicle.vehicles import Vehicles
1515

1616

1717
# Based on https://developer.tesla.com/docs/fleet-api

tesla_fleet_api/tesla/oauth.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
import aiohttp
33
import time
44

5-
from . import TeslaFleetApi
6-
from ..const import Scope, SERVERS, Method
5+
from tesla_fleet_api.tesla import TeslaFleetApi
6+
from tesla_fleet_api.const import Scope, SERVERS, Method
77

88

99
class TeslaFleetOAuth(TeslaFleetApi):

tesla_fleet_api/tesla/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from typing import Any
2-
from ..const import Method
2+
from tesla_fleet_api.const import Method
33

44

55
class User:

tesla_fleet_api/tesla/vehicle/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
"""Tesla Fleet API classes."""
22

3-
from .vehicles import Vehicles
4-
from .fleet import VehicleFleet
5-
from .bluetooth import VehicleBluetooth
6-
from .signed import VehicleSigned
3+
from tesla_fleet_api.tesla.vehicle.vehicles import Vehicles
4+
from tesla_fleet_api.tesla.vehicle.fleet import VehicleFleet
5+
from tesla_fleet_api.tesla.vehicle.bluetooth import VehicleBluetooth
6+
from tesla_fleet_api.tesla.vehicle.signed import VehicleSigned
77

88
__all__ = [
99
"Vehicles",

0 commit comments

Comments
 (0)