carconnectivity-connector-skoda 0.1a1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of carconnectivity-connector-skoda might be problematic. Click here for more details.

@@ -0,0 +1,67 @@
1
+ """Module for vehicle classes."""
2
+ from __future__ import annotations
3
+ from typing import TYPE_CHECKING
4
+
5
+ from carconnectivity.vehicle import GenericVehicle, ElectricVehicle, CombustionVehicle, HybridVehicle
6
+
7
+ from carconnectivity_connectors.skoda.capability import Capabilities
8
+
9
+ if TYPE_CHECKING:
10
+ from typing import Optional
11
+ from carconnectivity.garage import Garage
12
+ from carconnectivity_connectors.base.connector import BaseConnector
13
+
14
+
15
+ class SkodaVehicle(GenericVehicle): # pylint: disable=too-many-instance-attributes
16
+ """
17
+ A class to represent a generic Skoda vehicle.
18
+ """
19
+ def __init__(self, vin: Optional[str] = None, garage: Optional[Garage] = None, managing_connector: Optional[BaseConnector] = None,
20
+ origin: Optional[SkodaVehicle] = None) -> None:
21
+ if origin is not None:
22
+ super().__init__(origin=origin)
23
+ self.capabilities: Capabilities = origin.capabilities
24
+ self.capabilities.parent = self
25
+ else:
26
+ super().__init__(vin=vin, garage=garage, managing_connector=managing_connector)
27
+ self.capabilities = Capabilities(vehicle=self)
28
+
29
+ def __str__(self) -> str:
30
+ return_string: str = f'\t{self.capabilities}\n'
31
+ return return_string
32
+
33
+
34
+ class SkodaElectricVehicle(ElectricVehicle, SkodaVehicle):
35
+ """
36
+ Represents a Skoda electric vehicle.
37
+ """
38
+ def __init__(self, vin: Optional[str] = None, garage: Optional[Garage] = None, managing_connector: Optional[BaseConnector] = None,
39
+ origin: Optional[SkodaVehicle] = None) -> None:
40
+ if origin is not None:
41
+ super().__init__(origin=origin)
42
+ else:
43
+ super().__init__(vin=vin, garage=garage, managing_connector=managing_connector)
44
+
45
+
46
+ class SkodaCombustionVehicle(CombustionVehicle, SkodaVehicle):
47
+ """
48
+ Represents a Skoda combustion vehicle.
49
+ """
50
+ def __init__(self, vin: Optional[str] = None, garage: Optional[Garage] = None, managing_connector: Optional[BaseConnector] = None,
51
+ origin: Optional[SkodaVehicle] = None) -> None:
52
+ if origin is not None:
53
+ super().__init__(origin=origin)
54
+ else:
55
+ super().__init__(vin=vin, garage=garage, managing_connector=managing_connector)
56
+
57
+
58
+ class SkodaHybridVehicle(HybridVehicle, SkodaVehicle):
59
+ """
60
+ Represents a Skoda hybrid vehicle.
61
+ """
62
+ def __init__(self, vin: Optional[str] = None, garage: Optional[Garage] = None, managing_connector: Optional[BaseConnector] = None,
63
+ origin: Optional[SkodaVehicle] = None) -> None:
64
+ if origin is not None:
65
+ super().__init__(origin=origin)
66
+ else:
67
+ super().__init__(vin=vin, garage=garage, managing_connector=managing_connector)