volkswagencarnet 5.0.0b1__tar.gz → 5.3.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 (70) hide show
  1. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/workflows/codeql-analysis.yml +4 -4
  2. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/workflows/release.yaml +2 -2
  3. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/workflows/snyk.yaml +2 -2
  4. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/workflows/testrelease.yaml +2 -2
  5. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/workflows/validate.yml +3 -3
  6. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/PKG-INFO +12 -3
  7. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/README.md +9 -1
  8. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/requirements.txt +0 -1
  9. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/credentials.py.sample +1 -1
  10. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/connection.py +0 -1
  11. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/integration_test.py +1 -1
  12. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/vw_connection_test.py +0 -1
  13. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/vw_utilities_test.py +6 -6
  14. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/vw_vehicle_test.py +7 -6
  15. volkswagencarnet-5.3.3/volkswagencarnet/version.py +34 -0
  16. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/volkswagencarnet/vw_connection.py +365 -247
  17. volkswagencarnet-5.3.3/volkswagencarnet/vw_const.py +400 -0
  18. volkswagencarnet-5.3.3/volkswagencarnet/vw_dashboard.py +2785 -0
  19. volkswagencarnet-5.3.3/volkswagencarnet/vw_exceptions.py +43 -0
  20. volkswagencarnet-5.3.3/volkswagencarnet/vw_utilities.py +163 -0
  21. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/volkswagencarnet/vw_vehicle.py +1256 -1536
  22. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/volkswagencarnet.egg-info/PKG-INFO +12 -3
  23. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/volkswagencarnet.egg-info/SOURCES.txt +2 -0
  24. volkswagencarnet-5.0.0b1/volkswagencarnet/version.py +0 -16
  25. volkswagencarnet-5.0.0b1/volkswagencarnet/vw_const.py +0 -144
  26. volkswagencarnet-5.0.0b1/volkswagencarnet/vw_dashboard.py +0 -1780
  27. volkswagencarnet-5.0.0b1/volkswagencarnet/vw_utilities.py +0 -137
  28. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/CODEOWNERS +0 -0
  29. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/dependabot.yml +0 -0
  30. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/release-drafter.yml +0 -0
  31. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/renovate.json +0 -0
  32. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/workflows/publish.yaml +0 -0
  33. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.github/workflows/validate_pr.yaml +0 -0
  34. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.gitignore +0 -0
  35. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/.pre-commit-config.yaml +0 -0
  36. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/LICENSE.txt +0 -0
  37. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/pyproject.toml +0 -0
  38. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/requirements-test.txt +0 -0
  39. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/setup.cfg +0 -0
  40. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/__init__.py +0 -0
  41. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/conftest.py +0 -0
  42. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/dummy_test.py +0 -0
  43. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/__init__.py +0 -0
  44. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/constants.py +0 -0
  45. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/mock_server.py +0 -0
  46. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/dummy_cookies.pickle +0 -0
  47. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/README.md +0 -0
  48. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/arteon_2023_diesel/capabilities.json +0 -0
  49. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/arteon_2023_diesel/last_trip.json +0 -0
  50. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/arteon_2023_diesel/parkingposition.json +0 -0
  51. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/arteon_2023_diesel/selectivestatus_by_app.json +0 -0
  52. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/egolf/README.md +0 -0
  53. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/egolf/capabilities.json +0 -0
  54. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/egolf/last_trip.json +0 -0
  55. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/egolf/parkingposition.json +0 -0
  56. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/egolf/selectivestatus_by_app.json +0 -0
  57. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/eup_electric/capabilities.json +0 -0
  58. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/eup_electric/last_trip.json +0 -0
  59. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/eup_electric/parkingposition.json +0 -0
  60. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/eup_electric/selectivestatus_by_app.json +0 -0
  61. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/golf_gte_hybrid/capabilities.json +0 -0
  62. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/golf_gte_hybrid/last_trip.json +0 -0
  63. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/golf_gte_hybrid/selectivestatus_by_app.json +0 -0
  64. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/status.json +0 -0
  65. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/timer.json +0 -0
  66. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/tests/fixtures/resources/responses/timer_without_settings.json +0 -0
  67. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/volkswagencarnet/__init__.py +0 -0
  68. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/volkswagencarnet.egg-info/dependency_links.txt +0 -0
  69. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/volkswagencarnet.egg-info/requires.txt +0 -0
  70. {volkswagencarnet-5.0.0b1 → volkswagencarnet-5.3.3}/volkswagencarnet.egg-info/top_level.txt +0 -0
@@ -26,15 +26,15 @@ jobs:
26
26
 
27
27
  steps:
28
28
  - name: Checkout repository
29
- uses: actions/checkout@v4
29
+ uses: actions/checkout@v6
30
30
 
31
31
  # Initializes the CodeQL tools for scanning.
32
32
  - name: Set up Python
33
- uses: actions/setup-python@v5
33
+ uses: actions/setup-python@v6
34
34
  with:
35
35
  python-version: ${{ matrix.python-version }}
36
36
  - name: Initialize CodeQL
37
- uses: github/codeql-action/init@v3
37
+ uses: github/codeql-action/init@v4
38
38
  with:
39
39
  languages: ${{ matrix.language }}
40
40
  queries: security-and-quality
@@ -45,4 +45,4 @@ jobs:
45
45
 
46
46
 
47
47
  - name: Perform CodeQL Analysis
48
- uses: github/codeql-action/analyze@v3
48
+ uses: github/codeql-action/analyze@v4
@@ -14,10 +14,10 @@ jobs:
14
14
  id-token: write
15
15
  steps:
16
16
  - name: Checkout code
17
- uses: actions/checkout@v4
17
+ uses: actions/checkout@v6
18
18
 
19
19
  - name: Set up Python
20
- uses: actions/setup-python@v5
20
+ uses: actions/setup-python@v6
21
21
  with:
22
22
  python-version: "3.x"
23
23
 
@@ -6,7 +6,7 @@ jobs:
6
6
  runs-on: ubuntu-latest
7
7
  steps:
8
8
  - name: Checkout repository
9
- uses: actions/checkout@v4
9
+ uses: actions/checkout@v6
10
10
 
11
11
  - name: Run Snyk to check for vulnerabilities
12
12
  uses: snyk/actions/python@master
@@ -17,6 +17,6 @@ jobs:
17
17
  args: --sarif-file-output=snyk.sarif
18
18
 
19
19
  - name: Upload result to GitHub Code Scanning
20
- uses: github/codeql-action/upload-sarif@v3
20
+ uses: github/codeql-action/upload-sarif@v4
21
21
  with:
22
22
  sarif_file: snyk.sarif
@@ -14,10 +14,10 @@ jobs:
14
14
  id-token: write
15
15
  steps:
16
16
  - name: Checkout code
17
- uses: actions/checkout@v4
17
+ uses: actions/checkout@v6
18
18
 
19
19
  - name: Set up Python
20
- uses: actions/setup-python@v5
20
+ uses: actions/setup-python@v6
21
21
  with:
22
22
  python-version: "3.x"
23
23
 
@@ -20,7 +20,7 @@ jobs:
20
20
 
21
21
  steps:
22
22
  - name: Checkout code
23
- uses: actions/checkout@v4
23
+ uses: actions/checkout@v6
24
24
 
25
25
  - name: Check ruff
26
26
  uses: chartboost/ruff-action@v1
@@ -36,12 +36,12 @@ jobs:
36
36
 
37
37
  steps:
38
38
  - name: Checkout code
39
- uses: actions/checkout@v4
39
+ uses: actions/checkout@v6
40
40
  with:
41
41
  fetch-depth: 0
42
42
 
43
43
  - name: Set up Python ${{ matrix.python-version }}
44
- uses: actions/setup-python@v5
44
+ uses: actions/setup-python@v6
45
45
  with:
46
46
  python-version: ${{ matrix.python-version }}
47
47
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: volkswagencarnet
3
- Version: 5.0.0b1
3
+ Version: 5.3.3
4
4
  Summary: Communicate with Volkswagen Connect
5
5
  Home-page: https://github.com/robinostlund/volkswagencarnet
6
6
  Author: Robin Ostlund
@@ -17,11 +17,14 @@ Requires-Dist: lxml
17
17
  Requires-Dist: beautifulsoup4
18
18
  Requires-Dist: aiohttp
19
19
  Requires-Dist: pyjwt
20
+ Dynamic: license-file
20
21
 
21
22
  # Volkswagen Carnet
22
23
 
23
24
  [![buy me a coffee](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/robinostlund)
24
25
 
26
+ [![buy me a coffee](https://raw.githubusercontent.com/robinostlund/homeassistant-volkswagencarnet/master/resources/stickpin_kofi.jpeg)](https://ko-fi.com/stickpin)
27
+
25
28
  ![Release](https://img.shields.io/github/workflow/status/robinostlund/volkswagencarnet/Release)
26
29
  ![PyPi](https://img.shields.io/pypi/v/volkswagencarnet)
27
30
  ![Version](https://img.shields.io/github/v/release/robinostlund/volkswagencarnet)
@@ -47,6 +50,7 @@ No licence, public domain, no guarantees, feel free to use for anything. Please
47
50
 
48
51
  ## Thanks to
49
52
 
53
+ - [stickpin](https://github.com/stickpin)
50
54
  - [Wez3](https://github.com/wez3)
51
55
  - [Reneboer](https://github.com/reneboer)
52
56
  - [Tubalainen](https://github.com/tubalainen)
@@ -124,7 +128,12 @@ RESOURCES = [
124
128
  'trip_last_average_electric_consumption',
125
129
  'trip_last_average_fuel_consumption',
126
130
  'trip_last_duration',
127
- 'trip_last_length'
131
+ 'trip_last_length',
132
+ 'trip_refuel_average_speed',
133
+ 'trip_refuel_average_electric_consumption',
134
+ 'trip_refuel_average_fuel_consumption',
135
+ 'trip_refuel_duration',
136
+ 'trip_refuel_length'
128
137
  ]
129
138
 
130
139
  def is_enabled(attr):
@@ -2,6 +2,8 @@
2
2
 
3
3
  [![buy me a coffee](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/robinostlund)
4
4
 
5
+ [![buy me a coffee](https://raw.githubusercontent.com/robinostlund/homeassistant-volkswagencarnet/master/resources/stickpin_kofi.jpeg)](https://ko-fi.com/stickpin)
6
+
5
7
  ![Release](https://img.shields.io/github/workflow/status/robinostlund/volkswagencarnet/Release)
6
8
  ![PyPi](https://img.shields.io/pypi/v/volkswagencarnet)
7
9
  ![Version](https://img.shields.io/github/v/release/robinostlund/volkswagencarnet)
@@ -27,6 +29,7 @@ No licence, public domain, no guarantees, feel free to use for anything. Please
27
29
 
28
30
  ## Thanks to
29
31
 
32
+ - [stickpin](https://github.com/stickpin)
30
33
  - [Wez3](https://github.com/wez3)
31
34
  - [Reneboer](https://github.com/reneboer)
32
35
  - [Tubalainen](https://github.com/tubalainen)
@@ -104,7 +107,12 @@ RESOURCES = [
104
107
  'trip_last_average_electric_consumption',
105
108
  'trip_last_average_fuel_consumption',
106
109
  'trip_last_duration',
107
- 'trip_last_length'
110
+ 'trip_last_length',
111
+ 'trip_refuel_average_speed',
112
+ 'trip_refuel_average_electric_consumption',
113
+ 'trip_refuel_average_fuel_consumption',
114
+ 'trip_refuel_duration',
115
+ 'trip_refuel_length'
108
116
  ]
109
117
 
110
118
  def is_enabled(attr):
@@ -1,5 +1,4 @@
1
1
  aiohttp
2
2
  beautifulsoup4
3
- cryptography
4
3
  lxml
5
4
  pyjwt
@@ -2,5 +2,5 @@
2
2
  # Oh, and replace the data in credentials.py with your own
3
3
  spin = '1234'
4
4
  username = 'john.doe@localhost.localnet'
5
- pasword = 'passw0rd'
5
+ password = 'passw0rd'
6
6
  vin = 'WVWZZXXXXX1234567'
@@ -29,5 +29,4 @@ def connection(session):
29
29
  password="",
30
30
  country="DE",
31
31
  interval=999,
32
- fulldebug=True,
33
32
  )
@@ -11,7 +11,7 @@ import pytest
11
11
  from volkswagencarnet import vw_connection
12
12
 
13
13
  try:
14
- from credentials import password, spin, username, vin
14
+ from tests.credentials import password, spin, username, vin
15
15
  except ImportError:
16
16
  username = password = spin = vin = None
17
17
 
@@ -21,7 +21,6 @@ class TwoVehiclesConnection(Connection):
21
21
  def __init__(self, sess, username="", password="", **kwargs):
22
22
  """Init."""
23
23
  super().__init__(session=sess, username=username, password=password)
24
- self._jarCookie = MagicMock()
25
24
 
26
25
  async def doLogin(self, tries=1):
27
26
  """No-op update."""
@@ -52,16 +52,16 @@ class UtilitiesTest(TestCase):
52
52
 
53
53
  if isinstance(expected, bool):
54
54
  # If expected is a boolean, assert the result of is_valid_path
55
- assert (
56
- is_valid_path(source, path) == expected
57
- ), f"Path validation error for '{path}' in '{source}'."
55
+ assert is_valid_path(source, path) == expected, (
56
+ f"Path validation error for '{path}' in '{source}'."
57
+ )
58
58
  else:
59
59
  # If expected is an exception, assert it is raised
60
60
  with pytest.raises(expected) as exc_info:
61
61
  is_valid_path(source, path)
62
- assert isinstance(
63
- exc_info.value, expected
64
- ), f"Expected {expected.__name__}, but got {type(exc_info.value).__name__}. Exception: {str(exc_info.value)}"
62
+ assert isinstance(exc_info.value, expected), (
63
+ f"Expected {expected.__name__}, but got {type(exc_info.value).__name__}. Exception: {str(exc_info.value)}"
64
+ )
65
65
 
66
66
  def test_is_valid_path_with_lists(self):
67
67
  """Test that is_valid_path can process lists."""
@@ -57,6 +57,7 @@ class VehicleTest(IsolatedAsyncioTestCase):
57
57
  Services.MEASUREMENTS: {"active": False},
58
58
  Services.PARKING_POSITION: {"active": False},
59
59
  Services.TRIP_STATISTICS: {"active": False},
60
+ Services.READINESS: {"active": False},
60
61
  Services.USER_CAPABILITIES: {"active": False},
61
62
  Services.PARAMETERS: {},
62
63
  }
@@ -84,9 +85,9 @@ class VehicleTest(IsolatedAsyncioTestCase):
84
85
 
85
86
  vehicle.discover.assert_not_called()
86
87
  # Verify that no other methods were called
87
- assert (
88
- len(vehicle.method_calls) == 0
89
- ), f"Expected none, got {vehicle.method_calls}"
88
+ assert len(vehicle.method_calls) == 0, (
89
+ f"Expected none, got {vehicle.method_calls}"
90
+ )
90
91
 
91
92
  async def test_update(self):
92
93
  """Test that update calls the wanted methods and nothing else."""
@@ -105,9 +106,9 @@ class VehicleTest(IsolatedAsyncioTestCase):
105
106
  vehicle.get_service_status.assert_called_once()
106
107
 
107
108
  # Verify that only the expected functions above were called
108
- assert (
109
- len(vehicle.method_calls) == 6
110
- ), f"Wrong number of methods called. Expected 6, got {len(vehicle.method_calls)}"
109
+ assert len(vehicle.method_calls) == 8, (
110
+ f"Wrong number of methods called. Expected 8, got {len(vehicle.method_calls)}"
111
+ )
111
112
 
112
113
 
113
114
  class VehiclePropertyTest(IsolatedAsyncioTestCase):
@@ -0,0 +1,34 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
12
+
13
+ TYPE_CHECKING = False
14
+ if TYPE_CHECKING:
15
+ from typing import Tuple
16
+ from typing import Union
17
+
18
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
20
+ else:
21
+ VERSION_TUPLE = object
22
+ COMMIT_ID = object
23
+
24
+ version: str
25
+ __version__: str
26
+ __version_tuple__: VERSION_TUPLE
27
+ version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
30
+
31
+ __version__ = version = '5.3.3'
32
+ __version_tuple__ = version_tuple = (5, 3, 3)
33
+
34
+ __commit_id__ = commit_id = 'gb78fabeb8'