carconnectivity-connector-skoda 0.4a6__tar.gz → 0.4a7__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.

Potentially problematic release.


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

Files changed (41) hide show
  1. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/PKG-INFO +2 -2
  2. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/pyproject.toml +1 -1
  3. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connector_skoda.egg-info/PKG-INFO +2 -2
  4. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connector_skoda.egg-info/requires.txt +1 -1
  5. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/_version.py +1 -1
  6. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/connector.py +12 -8
  7. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/.flake8 +0 -0
  8. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  9. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  10. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/.github/dependabot.yml +0 -0
  11. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/.github/workflows/build.yml +0 -0
  12. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/.github/workflows/build_and_publish.yml +0 -0
  13. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/.github/workflows/codeql-analysis.yml +0 -0
  14. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/.gitignore +0 -0
  15. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/CHANGELOG.md +0 -0
  16. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/LICENSE +0 -0
  17. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/Makefile +0 -0
  18. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/README.md +0 -0
  19. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/doc/Config.md +0 -0
  20. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/setup.cfg +0 -0
  21. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/setup_requirements.txt +0 -0
  22. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connector_skoda.egg-info/SOURCES.txt +0 -0
  23. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connector_skoda.egg-info/dependency_links.txt +0 -0
  24. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connector_skoda.egg-info/top_level.txt +0 -0
  25. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/__init__.py +0 -0
  26. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/auth/__init__.py +0 -0
  27. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/auth/auth_util.py +0 -0
  28. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/auth/helpers/blacklist_retry.py +0 -0
  29. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/auth/my_skoda_session.py +0 -0
  30. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/auth/openid_session.py +0 -0
  31. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/auth/session_manager.py +0 -0
  32. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/auth/skoda_web_session.py +0 -0
  33. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/capability.py +0 -0
  34. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/charging.py +0 -0
  35. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/climatization.py +0 -0
  36. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/command_impl.py +0 -0
  37. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/error.py +0 -0
  38. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/mqtt_client.py +0 -0
  39. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/ui/connector_ui.py +0 -0
  40. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/src/carconnectivity_connectors/skoda/vehicle.py +0 -0
  41. {carconnectivity_connector_skoda-0.4a6 → carconnectivity_connector_skoda-0.4a7}/test/integration_test/carConnectivity.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: carconnectivity-connector-skoda
3
- Version: 0.4a6
3
+ Version: 0.4a7
4
4
  Summary: CarConnectivity connector for Skoda 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.8
38
38
  Description-Content-Type: text/markdown
39
39
  License-File: LICENSE
40
- Requires-Dist: carconnectivity>=0.4a10
40
+ Requires-Dist: carconnectivity>=0.4a11
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.4a10",
17
+ "carconnectivity>=0.4a11",
18
18
  "oauthlib~=3.2.2",
19
19
  "requests~=2.32.3",
20
20
  "jwt~=1.3.1",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: carconnectivity-connector-skoda
3
- Version: 0.4a6
3
+ Version: 0.4a7
4
4
  Summary: CarConnectivity connector for Skoda 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.8
38
38
  Description-Content-Type: text/markdown
39
39
  License-File: LICENSE
40
- Requires-Dist: carconnectivity>=0.4a10
40
+ Requires-Dist: carconnectivity>=0.4a11
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.4a10
1
+ carconnectivity>=0.4a11
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.4a6'
20
+ __version__ = version = '0.4a7'
21
21
  __version_tuple__ = version_tuple = (0, 4)
@@ -23,13 +23,14 @@ from carconnectivity.doors import Doors
23
23
  from carconnectivity.windows import Windows
24
24
  from carconnectivity.lights import Lights
25
25
  from carconnectivity.drive import GenericDrive, ElectricDrive, CombustionDrive
26
- from carconnectivity.attributes import GenericAttribute, BooleanAttribute, DurationAttribute, TemperatureAttribute
26
+ from carconnectivity.attributes import GenericAttribute, BooleanAttribute, DurationAttribute, TemperatureAttribute, EnumAttribute
27
27
  from carconnectivity.charging import Charging
28
28
  from carconnectivity.position import Position
29
29
  from carconnectivity.climatization import Climatization
30
30
  from carconnectivity.charging_connector import ChargingConnector
31
31
  from carconnectivity.commands import Commands
32
32
  from carconnectivity.command_impl import ClimatizationStartStopCommand, ChargingStartStopCommand, HonkAndFlashCommand, LockUnlockCommand, WakeSleepCommand
33
+ from carconnectivity.enums import ConnectionState
33
34
 
34
35
  from carconnectivity_connectors.base.connector import BaseConnector
35
36
  from carconnectivity_connectors.skoda.auth.session_manager import SessionManager, SessionUser, Service
@@ -73,7 +74,6 @@ class Connector(BaseConnector):
73
74
  """
74
75
  def __init__(self, connector_id: str, car_connectivity: CarConnectivity, config: Dict) -> None:
75
76
  BaseConnector.__init__(self, connector_id=connector_id, car_connectivity=car_connectivity, config=config, log=LOG, api_log=LOG_API)
76
- self._healthy = False
77
77
 
78
78
  self._mqtt_client: SkodaMQTTClient = SkodaMQTTClient(skoda_connector=self)
79
79
 
@@ -81,7 +81,8 @@ class Connector(BaseConnector):
81
81
  self._background_connect_thread: Optional[threading.Thread] = None
82
82
  self._stop_event = threading.Event()
83
83
 
84
- self.connected: BooleanAttribute = BooleanAttribute(name="connected", parent=self, tags={'connector_custom'})
84
+ self.connection_state: EnumAttribute = EnumAttribute(name="connection_state", parent=self, value_type=ConnectionState,
85
+ value=ConnectionState.DISCONNECTED, tags={'connector_custom'})
85
86
  self.interval: DurationAttribute = DurationAttribute(name="interval", parent=self, tags={'connector_custom'})
86
87
  self.interval.minimum = timedelta(seconds=180)
87
88
  self.interval._is_changeable = True # pylint: disable=protected-access
@@ -167,7 +168,7 @@ class Connector(BaseConnector):
167
168
  self._background_connect_thread.start()
168
169
  # Start MQTT thread
169
170
  self._mqtt_client.loop_start()
170
- self._healthy = True
171
+ self.healthy._set_value(value=True) # pylint: disable=protected-access
171
172
 
172
173
  def _background_connect_loop(self) -> None:
173
174
  while not self._stop_event.is_set():
@@ -181,6 +182,7 @@ class Connector(BaseConnector):
181
182
  def _background_loop(self) -> None:
182
183
  self._stop_event.clear()
183
184
  fetch: bool = True
185
+ self.connection_state._set_value(value=ConnectionState.CONNECTING) # pylint: disable=protected-access
184
186
  while not self._stop_event.is_set():
185
187
  interval = 300
186
188
  try:
@@ -214,7 +216,7 @@ class Connector(BaseConnector):
214
216
  self._stop_event.wait(interval)
215
217
  except Exception as err:
216
218
  LOG.critical('Critical error during update: %s', traceback.format_exc())
217
- self._healthy = False
219
+ self.healthy._set_value(value=False) # pylint: disable=protected-access
218
220
  raise err
219
221
  else:
220
222
  self._stop_event.wait(interval)
@@ -647,7 +649,7 @@ class Connector(BaseConnector):
647
649
  if vehicle.position is None:
648
650
  raise ValueError('Vehicle has no charging object')
649
651
  url = f'https://mysmob.api.connect.skoda-auto.cz/api/v1/maps/positions?vin={vin}'
650
- data: Dict[str, Any] | None = self._fetch_data(url=url, session=self.session, no_cache=no_cache)
652
+ data: Dict[str, Any] | None = self._fetch_data(url=url, session=self.session, no_cache=no_cache, allow_empty=True)
651
653
  if data is not None:
652
654
  if 'positions' in data and data['positions'] is not None:
653
655
  for position_dict in data['positions']:
@@ -1352,6 +1354,8 @@ class Connector(BaseConnector):
1352
1354
  data = status_response.json()
1353
1355
  if session.cache is not None:
1354
1356
  session.cache[url] = (data, str(datetime.utcnow()))
1357
+ elif status_response.status_code == requests.codes['no_content'] and allow_empty:
1358
+ data = None
1355
1359
  elif status_response.status_code == requests.codes['too_many_requests']:
1356
1360
  raise TooManyRequestsError('Could not fetch data due to too many requests from your account. '
1357
1361
  f'Status Code was: {status_response.status_code}')
@@ -1767,5 +1771,5 @@ class Connector(BaseConnector):
1767
1771
  raise CommandError(f'Retrying failed: {retry_error}') from retry_error
1768
1772
  return command_arguments
1769
1773
 
1770
- def is_healthy(self) -> bool:
1771
- return self._healthy and super().is_healthy()
1774
+ def get_name(self) -> str:
1775
+ return "Skoda Connector"