carconnectivity-connector-seatcupra 0.2a5__tar.gz → 0.3__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.
Files changed (40) hide show
  1. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/CHANGELOG.md +18 -1
  2. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/PKG-INFO +2 -2
  3. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/pyproject.toml +1 -1
  4. carconnectivity_connector_seatcupra-0.3/setup_requirements.txt +6 -0
  5. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connector_seatcupra.egg-info/PKG-INFO +2 -2
  6. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connector_seatcupra.egg-info/requires.txt +1 -1
  7. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/_version.py +2 -2
  8. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/command_impl.py +5 -1
  9. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/connector.py +5 -2
  10. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/ui/connector_ui.py +2 -2
  11. carconnectivity_connector_seatcupra-0.2a5/setup_requirements.txt +0 -6
  12. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/.flake8 +0 -0
  13. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  14. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  15. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/.github/dependabot.yml +0 -0
  16. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/.github/workflows/build.yml +0 -0
  17. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/.github/workflows/build_and_publish.yml +0 -0
  18. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/.github/workflows/codeql-analysis.yml +0 -0
  19. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/.gitignore +0 -0
  20. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/LICENSE +0 -0
  21. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/Makefile +0 -0
  22. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/README.md +0 -0
  23. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/doc/Config.md +0 -0
  24. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/setup.cfg +0 -0
  25. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connector_seatcupra.egg-info/SOURCES.txt +0 -0
  26. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connector_seatcupra.egg-info/dependency_links.txt +0 -0
  27. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connector_seatcupra.egg-info/top_level.txt +0 -0
  28. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/__init__.py +0 -0
  29. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/auth/__init__.py +0 -0
  30. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/auth/auth_util.py +0 -0
  31. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/auth/helpers/blacklist_retry.py +0 -0
  32. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/auth/my_cupra_session.py +0 -0
  33. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/auth/openid_session.py +0 -0
  34. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/auth/session_manager.py +0 -0
  35. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/auth/vw_web_session.py +0 -0
  36. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/capability.py +0 -0
  37. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/charging.py +0 -0
  38. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/climatization.py +0 -0
  39. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/src/carconnectivity_connectors/seatcupra/vehicle.py +0 -0
  40. {carconnectivity_connector_seatcupra-0.2a5 → carconnectivity_connector_seatcupra-0.3}/test/integration_test/carConnectivity.json +0 -0
@@ -5,6 +5,21 @@ 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.3] - 2025-04-02
9
+ ### Fixed
10
+ - Problem where the connector reported an error on commands that executed successfully
11
+ - Allowes to have multiple instances of this connector running
12
+
13
+ ### Changed
14
+ - Updated dependencies
15
+
16
+ ## [0.2] - 2025-03-20
17
+ ### Added
18
+ - Support for window heating attributes
19
+ - Support for window heating command
20
+ - Support for changing charging settings
21
+ - Support for adblue range
22
+
8
23
  ## [0.1.2] - 2025-03-07
9
24
  ### Fixed
10
25
  - Fixed bug during refreshing tokens due to connection being reset on server side and client session timing out.
@@ -19,7 +34,9 @@ All notable changes to this project will be documented in this file.
19
34
  ## [0.1] - 2025-03-02
20
35
  Initial release, let's go and give this to the public to try out...
21
36
 
22
- [unreleased]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/compare/v0.1.2...HEAD
37
+ [unreleased]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/compare/v0.3...HEAD
38
+ [0.3]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/releases/tag/v0.3
39
+ [0.2]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/releases/tag/v0.2
23
40
  [0.1.2]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/releases/tag/v0.1.2
24
41
  [0.1.1]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/releases/tag/v0.1.1
25
42
  [0.1]: https://github.com/tillsteinbach/CarConnectivity-connector-seatcupra/releases/tag/v0.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: carconnectivity-connector-seatcupra
3
- Version: 0.2a5
3
+ Version: 0.3
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.5a4
40
+ Requires-Dist: carconnectivity>=0.6
41
41
  Requires-Dist: oauthlib~=3.2.2
42
42
  Requires-Dist: requests~=2.32.3
43
43
  Requires-Dist: jwt~=1.3.1
@@ -14,7 +14,7 @@ authors = [
14
14
  { name = "Till Steinbach" }
15
15
  ]
16
16
  dependencies = [
17
- "carconnectivity>=0.5a4",
17
+ "carconnectivity>=0.6",
18
18
  "oauthlib~=3.2.2",
19
19
  "requests~=2.32.3",
20
20
  "jwt~=1.3.1"
@@ -0,0 +1,6 @@
1
+ flake8~=7.2.0
2
+ pylint~=3.3.6
3
+ bandit~=1.8.3
4
+
5
+ # For UI only
6
+ Flask~=3.1.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: carconnectivity-connector-seatcupra
3
- Version: 0.2a5
3
+ Version: 0.3
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.5a4
40
+ Requires-Dist: carconnectivity>=0.6
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,4 +1,4 @@
1
- carconnectivity>=0.5a4
1
+ carconnectivity>=0.6
2
2
  oauthlib~=3.2.2
3
3
  requests~=2.32.3
4
4
  jwt~=1.3.1
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.2a5'
21
- __version_tuple__ = version_tuple = (0, 2, 'a5')
20
+ __version__ = version = '0.3'
21
+ __version_tuple__ = version_tuple = (0, 3)
@@ -33,7 +33,11 @@ class SpinCommand(GenericCommand):
33
33
  def value(self, new_value: Optional[Union[str, Dict]]) -> None:
34
34
  # Execute early hooks before parsing the value
35
35
  new_value = self._execute_on_set_hook(new_value, early_hook=True)
36
- if isinstance(new_value, str):
36
+ if isinstance(new_value, SpinCommand.Command):
37
+ newvalue_dict = {}
38
+ newvalue_dict['command'] = new_value
39
+ new_value = newvalue_dict
40
+ elif isinstance(new_value, str):
37
41
  parser = ThrowingArgumentParser(prog='', add_help=False, exit_on_error=False)
38
42
  parser.add_argument('command', help='Command to execute', type=SpinCommand.Command,
39
43
  choices=list(SpinCommand.Command))
@@ -336,6 +336,9 @@ class Connector(BaseConnector):
336
336
  if 'vehicles' in data and data['vehicles'] is not None:
337
337
  for vehicle_dict in data['vehicles']:
338
338
  if 'vin' in vehicle_dict and vehicle_dict['vin'] is not None:
339
+ if vehicle_dict['vin'] in self.active_config['hide_vins']:
340
+ LOG.info('Vehicle %s filtered out due to configuration', vehicle_dict['vin'])
341
+ continue
339
342
  vin: str = vehicle_dict['vin']
340
343
  seen_vehicle_vins.add(vin)
341
344
  vehicle: Optional[GenericVehicle] = garage.get_vehicle(vin) # pyright: ignore[reportAssignmentType]
@@ -1516,7 +1519,7 @@ class Connector(BaseConnector):
1516
1519
 
1517
1520
  try:
1518
1521
  command_response: requests.Response = self.session.post(url, data='{}', allow_redirects=True)
1519
- if command_response.status_code not in (requests.codes['ok'], requests.codes['no_content']):
1522
+ if command_response.status_code not in (requests.codes['ok'], requests.codes['no_content'], requests.codes['created']):
1520
1523
  LOG.error('Could not execute wake command (%s: %s)', command_response.status_code, command_response.text)
1521
1524
  raise CommandError(f'Could not execute wake command ({command_response.status_code}: {command_response.text})')
1522
1525
  except requests.exceptions.ConnectionError as connection_error:
@@ -1565,7 +1568,7 @@ class Connector(BaseConnector):
1565
1568
  url = f'https://ola.prod.code.seat.cloud.vwgroup.com/v1/vehicles/{vin}/honk-and-flash'
1566
1569
  try:
1567
1570
  command_response: requests.Response = self.session.post(url, data=json.dumps(command_dict), allow_redirects=True)
1568
- if command_response.status_code not in (requests.codes['ok'], requests.codes['no_content']):
1571
+ if command_response.status_code not in (requests.codes['ok'], requests.codes['no_content'], requests.codes['created']):
1569
1572
  LOG.error('Could not execute honk or flash command (%s: %s)', command_response.status_code, command_response.text)
1570
1573
  raise CommandError(f'Could not execute honk or flash command ({command_response.status_code}: {command_response.text})')
1571
1574
  except requests.exceptions.ConnectionError as connection_error:
@@ -19,8 +19,8 @@ class ConnectorUI(BaseConnectorUI):
19
19
  A user interface class for the Seat/Cupra connector in the Car Connectivity application.
20
20
  """
21
21
  def __init__(self, connector: BaseConnector):
22
- blueprint: Optional[flask.Blueprint] = flask.Blueprint(name='seatcupra', import_name='carconnectivity-connector-seatcupra', url_prefix='/seatcupra',
23
- template_folder=os.path.dirname(__file__) + '/templates')
22
+ blueprint: Optional[flask.Blueprint] = flask.Blueprint(name=connector.id, import_name='carconnectivity-connector-seatcupra', url_prefix=f'/{connector.id}',
23
+ template_folder=os.path.dirname(__file__) + '/templates')
24
24
  super().__init__(connector, blueprint=blueprint)
25
25
 
26
26
  def get_nav_items(self) -> List[Dict[Literal['text', 'url', 'sublinks', 'divider'], Union[str, List]]]:
@@ -1,6 +0,0 @@
1
- flake8~=7.1.2
2
- pylint~=3.3.4
3
- bandit~=1.8.3
4
-
5
- # For UI only
6
- Flask~=3.1.0