carconnectivity-connector-seatcupra 0.1.2a2__tar.gz → 0.2a2__tar.gz
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.
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/CHANGELOG.md +6 -1
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/PKG-INFO +2 -2
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/pyproject.toml +1 -1
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connector_seatcupra.egg-info/PKG-INFO +2 -2
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connector_seatcupra.egg-info/requires.txt +1 -1
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/_version.py +2 -2
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/connector.py +39 -2
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.flake8 +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.github/dependabot.yml +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.github/workflows/build.yml +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.github/workflows/build_and_publish.yml +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.github/workflows/codeql-analysis.yml +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.gitignore +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/LICENSE +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/Makefile +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/README.md +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/doc/Config.md +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/setup.cfg +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/setup_requirements.txt +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connector_seatcupra.egg-info/SOURCES.txt +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connector_seatcupra.egg-info/dependency_links.txt +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connector_seatcupra.egg-info/top_level.txt +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/__init__.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/auth/__init__.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/auth/auth_util.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/auth/helpers/blacklist_retry.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/auth/my_cupra_session.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/auth/openid_session.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/auth/session_manager.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/auth/vw_web_session.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/capability.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/charging.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/climatization.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/command_impl.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/ui/connector_ui.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/src/carconnectivity_connectors/seatcupra/vehicle.py +0 -0
- {carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/test/integration_test/carConnectivity.json +0 -0
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
|
|
5
5
|
## [Unreleased]
|
6
6
|
- No unreleased changes so far
|
7
7
|
|
8
|
+
## [0.1.2] - 2025-03-07
|
9
|
+
### Fixed
|
10
|
+
- Fixed bug during refreshing tokens due to connection being reset on server side and client session timing out.
|
11
|
+
|
8
12
|
## [0.1.1] - 2025-03-04
|
9
13
|
### Fixed
|
10
14
|
- Fixed potential http error when parking position was fetched but due to error not available
|
@@ -15,6 +19,7 @@ All notable changes to this project will be documented in this file.
|
|
15
19
|
## [0.1] - 2025-03-02
|
16
20
|
Initial release, let's go and give this to the public to try out...
|
17
21
|
|
18
|
-
[unreleased]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/compare/v0.1.
|
22
|
+
[unreleased]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/compare/v0.1.2...HEAD
|
23
|
+
[0.1.2]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/releases/tag/v0.1.2
|
19
24
|
[0.1.1]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/releases/tag/v0.1.1
|
20
25
|
[0.1]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/releases/tag/v0.1
|
{carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: carconnectivity-connector-seatcupra
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.2a2
|
4
4
|
Summary: CarConnectivity connector for Seat and Cupra services
|
5
5
|
Author: Till Steinbach
|
6
6
|
License: MIT License
|
@@ -37,7 +37,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
37
37
|
Requires-Python: >=3.9
|
38
38
|
Description-Content-Type: text/markdown
|
39
39
|
License-File: LICENSE
|
40
|
-
Requires-Dist: carconnectivity>=0.
|
40
|
+
Requires-Dist: carconnectivity>=0.5a1
|
41
41
|
Requires-Dist: oauthlib~=3.2.2
|
42
42
|
Requires-Dist: requests~=2.32.3
|
43
43
|
Requires-Dist: jwt~=1.3.1
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: carconnectivity-connector-seatcupra
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.2a2
|
4
4
|
Summary: CarConnectivity connector for Seat and Cupra services
|
5
5
|
Author: Till Steinbach
|
6
6
|
License: MIT License
|
@@ -37,7 +37,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
37
37
|
Requires-Python: >=3.9
|
38
38
|
Description-Content-Type: text/markdown
|
39
39
|
License-File: LICENSE
|
40
|
-
Requires-Dist: carconnectivity>=0.
|
40
|
+
Requires-Dist: carconnectivity>=0.5a1
|
41
41
|
Requires-Dist: oauthlib~=3.2.2
|
42
42
|
Requires-Dist: requests~=2.32.3
|
43
43
|
Requires-Dist: jwt~=1.3.1
|
@@ -20,7 +20,7 @@ from carconnectivity.units import Length, Current
|
|
20
20
|
from carconnectivity.doors import Doors
|
21
21
|
from carconnectivity.windows import Windows
|
22
22
|
from carconnectivity.lights import Lights
|
23
|
-
from carconnectivity.drive import GenericDrive, ElectricDrive, CombustionDrive
|
23
|
+
from carconnectivity.drive import GenericDrive, ElectricDrive, CombustionDrive, DieselDrive
|
24
24
|
from carconnectivity.vehicle import GenericVehicle, ElectricVehicle
|
25
25
|
from carconnectivity.attributes import BooleanAttribute, DurationAttribute, GenericAttribute, TemperatureAttribute, EnumAttribute
|
26
26
|
from carconnectivity.units import Temperature
|
@@ -288,6 +288,7 @@ class Connector(BaseConnector):
|
|
288
288
|
vehicle_to_update = self.fetch_vehicle_status(vehicle_to_update)
|
289
289
|
vehicle_to_update = self.fetch_vehicle_mycar_status(vehicle_to_update)
|
290
290
|
vehicle_to_update = self.fetch_mileage(vehicle_to_update)
|
291
|
+
vehicle_to_update = self.fetch_ranges(vehicle_to_update)
|
291
292
|
if vehicle_to_update.capabilities.has_capability('climatisation', check_status_ok=True):
|
292
293
|
vehicle_to_update = self.fetch_climatisation(vehicle_to_update)
|
293
294
|
if vehicle_to_update.capabilities.has_capability('charging', check_status_ok=True):
|
@@ -414,7 +415,7 @@ class Connector(BaseConnector):
|
|
414
415
|
capability.parameters[parameter] = value
|
415
416
|
else:
|
416
417
|
raise APIError('Could not fetch capabilities, capability ID missing')
|
417
|
-
log_extra_keys(LOG_API, 'capability', capability_dict, {'id', 'expirationDate', 'editable', 'parameters'})
|
418
|
+
log_extra_keys(LOG_API, 'capability', capability_dict, {'id', 'expirationDate', 'editable', 'parameters', 'status'})
|
418
419
|
|
419
420
|
for capability_id in vehicle.capabilities.capabilities.keys() - found_capabilities:
|
420
421
|
vehicle.capabilities.remove_capability(capability_id)
|
@@ -646,6 +647,8 @@ class Connector(BaseConnector):
|
|
646
647
|
else:
|
647
648
|
if engine_type == GenericDrive.Type.ELECTRIC:
|
648
649
|
drive = ElectricDrive(drive_id=drive_id, drives=vehicle.drives)
|
650
|
+
elif engine_type == GenericDrive.Type.DIESEL:
|
651
|
+
drive = DieselDrive(drive_id=drive_id, drives=vehicle.drives)
|
649
652
|
elif engine_type in [GenericDrive.Type.FUEL,
|
650
653
|
GenericDrive.Type.GASOLINE,
|
651
654
|
GenericDrive.Type.PETROL,
|
@@ -845,6 +848,40 @@ class Connector(BaseConnector):
|
|
845
848
|
vehicle.odometer._set_value(None) # pylint: disable=protected-access
|
846
849
|
return vehicle
|
847
850
|
|
851
|
+
def fetch_ranges(self, vehicle: SeatCupraVehicle, no_cache: bool = False) -> SeatCupraVehicle:
|
852
|
+
vin = vehicle.vin.value
|
853
|
+
if vin is None:
|
854
|
+
raise APIError('VIN is missing')
|
855
|
+
url = f'https://ola.prod.code.seat.cloud.vwgroup.com/v1/vehicles/{vin}/ranges'
|
856
|
+
# {'ranges': [{'rangeName': 'gasolineRangeKm', 'value': 100.0}, {'rangeName': 'electricRangeKm', 'value': 28.0}]}
|
857
|
+
data: Dict[str, Any] | None = self._fetch_data(url=url, session=self.session, no_cache=no_cache)
|
858
|
+
if data is not None:
|
859
|
+
if 'ranges' in data and data['ranges'] is not None:
|
860
|
+
for drive in vehicle.drives.drives.values():
|
861
|
+
if drive.type.enabled and drive.type.value == GenericDrive.Type.ELECTRIC:
|
862
|
+
for range_dict in data['ranges']:
|
863
|
+
if 'rangeName' in range_dict and range_dict['rangeName'] is not None and range_dict['rangeName'] == 'electricRangeKm' \
|
864
|
+
and 'value' in range_dict and range_dict['value'] is not None:
|
865
|
+
drive.range._set_value(range_dict['value'], unit=Length.KM) # pylint: disable=protected-access
|
866
|
+
break
|
867
|
+
elif drive.type.enabled and drive.type.value == GenericDrive.Type.GASOLINE:
|
868
|
+
for range_dict in data['ranges']:
|
869
|
+
if 'rangeName' in range_dict and range_dict['rangeName'] is not None and range_dict['rangeName'] == 'gasolineRangeKm' \
|
870
|
+
and 'value' in range_dict and range_dict['value'] is not None:
|
871
|
+
drive.range._set_value(range_dict['value'], unit=Length.KM) # pylint: disable=protected-access
|
872
|
+
break
|
873
|
+
elif drive.type.enabled and drive.type.value == GenericDrive.Type.DIESEL:
|
874
|
+
for range_dict in data['ranges']:
|
875
|
+
if 'rangeName' in range_dict and range_dict['rangeName'] is not None and range_dict['rangeName'] == 'dieselRangeKm' \
|
876
|
+
and 'value' in range_dict and range_dict['value'] is not None:
|
877
|
+
drive.range._set_value(range_dict['value'], unit=Length.KM) # pylint: disable=protected-access
|
878
|
+
elif 'rangeName' in range_dict and range_dict['rangeName'] is not None and range_dict['rangeName'] == 'adBlueKm' \
|
879
|
+
and 'value' in range_dict and range_dict['value'] is not None:
|
880
|
+
if isinstance(drive, DieselDrive):
|
881
|
+
drive.adblue_range._set_value(range_dict['value'], unit=Length.KM) # pylint: disable=protected-access
|
882
|
+
log_extra_keys(LOG_API, f'https://ola.prod.code.seat.cloud.vwgroup.com/v1/vehicles/{vin}/ranges', data, {'ranges'})
|
883
|
+
return vehicle
|
884
|
+
|
848
885
|
def fetch_maintenance(self, vehicle: SeatCupraVehicle, no_cache: bool = False) -> SeatCupraVehicle:
|
849
886
|
vin = vehicle.vin.value
|
850
887
|
if vin is None:
|
{carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.flake8
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/.gitignore
RENAMED
File without changes
|
{carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/LICENSE
RENAMED
File without changes
|
{carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/Makefile
RENAMED
File without changes
|
{carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/README.md
RENAMED
File without changes
|
File without changes
|
{carconnectivity_connector_seatcupra-0.1.2a2 → carconnectivity_connector_seatcupra-0.2a2}/setup.cfg
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|