pycupra 0.1.11__tar.gz → 0.1.13__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. {pycupra-0.1.11 → pycupra-0.1.13}/.gitignore +10 -10
  2. {pycupra-0.1.11/pycupra.egg-info → pycupra-0.1.13}/PKG-INFO +4 -12
  3. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/connection.py +3 -1
  4. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/android_checkin_pb2.pyi +257 -257
  5. {pycupra-0.1.11 → pycupra-0.1.13/pycupra.egg-info}/PKG-INFO +4 -12
  6. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra.egg-info/SOURCES.txt +1 -4
  7. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra.egg-info/requires.txt +1 -0
  8. pycupra-0.1.13/pycupra.egg-info/top_level.txt +3 -0
  9. pycupra-0.1.13/pyproject.toml +23 -0
  10. pycupra-0.1.13/setup.cfg +4 -0
  11. pycupra-0.1.11/pycupra/__version__.py +0 -6
  12. pycupra-0.1.11/pycupra.egg-info/top_level.txt +0 -1
  13. pycupra-0.1.11/requirements.txt +0 -6
  14. pycupra-0.1.11/setup.cfg +0 -36
  15. pycupra-0.1.11/setup.py +0 -30
  16. {pycupra-0.1.11 → pycupra-0.1.13}/LICENSE +0 -0
  17. {pycupra-0.1.11 → pycupra-0.1.13}/README.md +0 -0
  18. {pycupra-0.1.11 → pycupra-0.1.13}/example/PyCupra.py +0 -0
  19. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/__init__.py +0 -0
  20. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/const.py +0 -0
  21. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/dashboard.py +0 -0
  22. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/exceptions.py +0 -0
  23. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase.py +0 -0
  24. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/__init__.py +0 -0
  25. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/android_checkin.proto +0 -0
  26. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/android_checkin_pb2.py +0 -0
  27. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/checkin.proto +0 -0
  28. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/checkin_pb2.py +0 -0
  29. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/checkin_pb2.pyi +0 -0
  30. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/const.py +0 -0
  31. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/fcmpushclient.py +0 -0
  32. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/fcmregister.py +0 -0
  33. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/mcs.proto +0 -0
  34. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/mcs_pb2.py +0 -0
  35. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/mcs_pb2.pyi +0 -0
  36. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/firebase_messaging/py.typed +0 -0
  37. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/utilities.py +0 -0
  38. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra/vehicle.py +0 -0
  39. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra.egg-info/dependency_links.txt +0 -0
  40. {pycupra-0.1.11 → pycupra-0.1.13}/pycupra_credentials.json.demo +0 -0
@@ -1,10 +1,10 @@
1
-
2
- .eggs/
3
- *.egg-info/
4
- build/
5
- dist/
6
- __pycache__/
7
- *.json
8
- *.txt
9
- *.log
10
- www/
1
+
2
+ .eggs/
3
+ *.egg-info/
4
+ build/
5
+ dist/
6
+ __pycache__/
7
+ *.json
8
+ *.txt
9
+ *.log
10
+ www/
@@ -1,11 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycupra
3
- Version: 0.1.11
3
+ Version: 0.1.13
4
4
  Summary: A library to read and send vehicle data via Cupra/Seat portal using the same API calls as the MyCupra/MySeat mobile app.
5
- Home-page: https://github.com/WulfgarW/pycupra
6
- Author: WulfgarW
7
- License: APACHE-2.0
8
- Provides: pycupra
5
+ License-Expression: Apache-2.0
6
+ Requires-Python: >=3.10
9
7
  Description-Content-Type: text/markdown
10
8
  License-File: LICENSE
11
9
  Requires-Dist: aiohttp
@@ -14,14 +12,8 @@ Requires-Dist: cryptography
14
12
  Requires-Dist: lxml
15
13
  Requires-Dist: PyJWT
16
14
  Requires-Dist: xmltodict
17
- Dynamic: author
18
- Dynamic: description
19
- Dynamic: description-content-type
20
- Dynamic: home-page
15
+ Requires-Dist: pandas
21
16
  Dynamic: license-file
22
- Dynamic: provides
23
- Dynamic: requires-dist
24
- Dynamic: summary
25
17
 
26
18
  # PyCupra
27
19
 
@@ -15,6 +15,7 @@ import string
15
15
  import secrets
16
16
  import xmltodict
17
17
  from copy import deepcopy
18
+ import importlib.metadata
18
19
 
19
20
  from PIL import Image
20
21
  from io import BytesIO
@@ -26,7 +27,7 @@ from jwt.exceptions import ExpiredSignatureError
26
27
  import aiohttp
27
28
  from bs4 import BeautifulSoup
28
29
  from base64 import b64decode, b64encode, urlsafe_b64decode, urlsafe_b64encode
29
- from .__version__ import __version__ as lib_version
30
+ #from .__version__ import __version__ as lib_version
30
31
  from .utilities import read_config, json_loads
31
32
  from .vehicle import Vehicle
32
33
  from .exceptions import (
@@ -102,6 +103,7 @@ from .const import (
102
103
  )
103
104
 
104
105
  version_info >= (3, 0) or exit('Python 3 required')
106
+ lib_version = importlib.metadata.version("pycupra")
105
107
 
106
108
  _LOGGER = logging.getLogger(__name__)
107
109
  BRAND_CUPRA = 'cupra'
@@ -1,257 +1,257 @@
1
- """
2
- @generated by mypy-protobuf. Do not edit manually!
3
- isort:skip_file
4
- Copyright 2014 The Chromium Authors. All rights reserved.
5
- Use of this source code is governed by a BSD-style license that can be
6
- found in the LICENSE file.
7
-
8
- Logging information for Android "checkin" events (automatic, periodic
9
- requests made by Android devices to the server).
10
- """
11
-
12
- import builtins
13
- import google.protobuf.descriptor
14
- import google.protobuf.internal.enum_type_wrapper
15
- import google.protobuf.message
16
- import sys
17
- import typing
18
-
19
- if sys.version_info >= (3, 10):
20
- import typing as typing_extensions
21
- else:
22
- import typing_extensions
23
-
24
- DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
25
-
26
- class _DeviceType:
27
- ValueType = typing.NewType("ValueType", builtins.int)
28
- V: typing_extensions.TypeAlias = ValueType
29
-
30
- class _DeviceTypeEnumTypeWrapper(
31
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DeviceType.ValueType],
32
- builtins.type,
33
- ):
34
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
35
- DEVICE_ANDROID_OS: _DeviceType.ValueType # 1
36
- """Android Device"""
37
- DEVICE_IOS_OS: _DeviceType.ValueType # 2
38
- """Apple IOS device"""
39
- DEVICE_CHROME_BROWSER: _DeviceType.ValueType # 3
40
- """Chrome browser - Not Chrome OS. No hardware records."""
41
- DEVICE_CHROME_OS: _DeviceType.ValueType # 4
42
- """Chrome OS"""
43
-
44
- class DeviceType(_DeviceType, metaclass=_DeviceTypeEnumTypeWrapper):
45
- """enum values correspond to the type of device.
46
- Used in the AndroidCheckinProto and Device proto.
47
- """
48
-
49
- DEVICE_ANDROID_OS: DeviceType.ValueType # 1
50
- """Android Device"""
51
- DEVICE_IOS_OS: DeviceType.ValueType # 2
52
- """Apple IOS device"""
53
- DEVICE_CHROME_BROWSER: DeviceType.ValueType # 3
54
- """Chrome browser - Not Chrome OS. No hardware records."""
55
- DEVICE_CHROME_OS: DeviceType.ValueType # 4
56
- """Chrome OS"""
57
- global___DeviceType = DeviceType
58
-
59
- @typing_extensions.final
60
- class ChromeBuildProto(google.protobuf.message.Message):
61
- """Build characteristics unique to the Chrome browser, and Chrome OS"""
62
-
63
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
64
-
65
- class _Platform:
66
- ValueType = typing.NewType("ValueType", builtins.int)
67
- V: typing_extensions.TypeAlias = ValueType
68
-
69
- class _PlatformEnumTypeWrapper(
70
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
71
- ChromeBuildProto._Platform.ValueType
72
- ],
73
- builtins.type,
74
- ):
75
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
76
- PLATFORM_WIN: ChromeBuildProto._Platform.ValueType # 1
77
- PLATFORM_MAC: ChromeBuildProto._Platform.ValueType # 2
78
- PLATFORM_LINUX: ChromeBuildProto._Platform.ValueType # 3
79
- PLATFORM_CROS: ChromeBuildProto._Platform.ValueType # 4
80
- PLATFORM_IOS: ChromeBuildProto._Platform.ValueType # 5
81
- PLATFORM_ANDROID: ChromeBuildProto._Platform.ValueType # 6
82
- """Just a placeholder. Likely don't need it due to the presence of the
83
- Android GCM on phone/tablet devices.
84
- """
85
-
86
- class Platform(_Platform, metaclass=_PlatformEnumTypeWrapper): ...
87
- PLATFORM_WIN: ChromeBuildProto.Platform.ValueType # 1
88
- PLATFORM_MAC: ChromeBuildProto.Platform.ValueType # 2
89
- PLATFORM_LINUX: ChromeBuildProto.Platform.ValueType # 3
90
- PLATFORM_CROS: ChromeBuildProto.Platform.ValueType # 4
91
- PLATFORM_IOS: ChromeBuildProto.Platform.ValueType # 5
92
- PLATFORM_ANDROID: ChromeBuildProto.Platform.ValueType # 6
93
- """Just a placeholder. Likely don't need it due to the presence of the
94
- Android GCM on phone/tablet devices.
95
- """
96
-
97
- class _Channel:
98
- ValueType = typing.NewType("ValueType", builtins.int)
99
- V: typing_extensions.TypeAlias = ValueType
100
-
101
- class _ChannelEnumTypeWrapper(
102
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
103
- ChromeBuildProto._Channel.ValueType
104
- ],
105
- builtins.type,
106
- ):
107
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
108
- CHANNEL_STABLE: ChromeBuildProto._Channel.ValueType # 1
109
- CHANNEL_BETA: ChromeBuildProto._Channel.ValueType # 2
110
- CHANNEL_DEV: ChromeBuildProto._Channel.ValueType # 3
111
- CHANNEL_CANARY: ChromeBuildProto._Channel.ValueType # 4
112
- CHANNEL_UNKNOWN: ChromeBuildProto._Channel.ValueType # 5
113
- """for tip of tree or custom builds"""
114
-
115
- class Channel(_Channel, metaclass=_ChannelEnumTypeWrapper): ...
116
- CHANNEL_STABLE: ChromeBuildProto.Channel.ValueType # 1
117
- CHANNEL_BETA: ChromeBuildProto.Channel.ValueType # 2
118
- CHANNEL_DEV: ChromeBuildProto.Channel.ValueType # 3
119
- CHANNEL_CANARY: ChromeBuildProto.Channel.ValueType # 4
120
- CHANNEL_UNKNOWN: ChromeBuildProto.Channel.ValueType # 5
121
- """for tip of tree or custom builds"""
122
-
123
- PLATFORM_FIELD_NUMBER: builtins.int
124
- CHROME_VERSION_FIELD_NUMBER: builtins.int
125
- CHANNEL_FIELD_NUMBER: builtins.int
126
- platform: global___ChromeBuildProto.Platform.ValueType
127
- """The platform of the device."""
128
- chrome_version: builtins.str
129
- """The Chrome instance's version."""
130
- channel: global___ChromeBuildProto.Channel.ValueType
131
- """The Channel (build type) of Chrome."""
132
- def __init__(
133
- self,
134
- *,
135
- platform: global___ChromeBuildProto.Platform.ValueType | None = ...,
136
- chrome_version: builtins.str | None = ...,
137
- channel: global___ChromeBuildProto.Channel.ValueType | None = ...,
138
- ) -> None: ...
139
- def HasField(
140
- self,
141
- field_name: typing_extensions.Literal[
142
- "channel",
143
- b"channel",
144
- "chrome_version",
145
- b"chrome_version",
146
- "platform",
147
- b"platform",
148
- ],
149
- ) -> builtins.bool: ...
150
- def ClearField(
151
- self,
152
- field_name: typing_extensions.Literal[
153
- "channel",
154
- b"channel",
155
- "chrome_version",
156
- b"chrome_version",
157
- "platform",
158
- b"platform",
159
- ],
160
- ) -> None: ...
161
-
162
- global___ChromeBuildProto = ChromeBuildProto
163
-
164
- @typing_extensions.final
165
- class AndroidCheckinProto(google.protobuf.message.Message):
166
- """Information sent by the device in a "checkin" request."""
167
-
168
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
169
-
170
- LAST_CHECKIN_MSEC_FIELD_NUMBER: builtins.int
171
- CELL_OPERATOR_FIELD_NUMBER: builtins.int
172
- SIM_OPERATOR_FIELD_NUMBER: builtins.int
173
- ROAMING_FIELD_NUMBER: builtins.int
174
- USER_NUMBER_FIELD_NUMBER: builtins.int
175
- TYPE_FIELD_NUMBER: builtins.int
176
- CHROME_BUILD_FIELD_NUMBER: builtins.int
177
- last_checkin_msec: builtins.int
178
- """Miliseconds since the Unix epoch of the device's last successful checkin."""
179
- cell_operator: builtins.str
180
- """The current MCC+MNC of the mobile device's current cell."""
181
- sim_operator: builtins.str
182
- """The MCC+MNC of the SIM card (different from operator if the
183
- device is roaming, for instance).
184
- """
185
- roaming: builtins.str
186
- """The device's current roaming state (reported starting in eclair builds).
187
- Currently one of "{,not}mobile-{,not}roaming", if it is present at all.
188
- """
189
- user_number: builtins.int
190
- """For devices supporting multiple user profiles (which may be
191
- supported starting in jellybean), the ordinal number of the
192
- profile that is checking in. This is 0 for the primary profile
193
- (which can't be changed without wiping the device), and 1,2,3,...
194
- for additional profiles (which can be added and deleted freely).
195
- """
196
- type: global___DeviceType.ValueType
197
- """Class of device. Indicates the type of build proto
198
- (IosBuildProto/ChromeBuildProto/AndroidBuildProto)
199
- That is included in this proto
200
- """
201
- @property
202
- def chrome_build(self) -> global___ChromeBuildProto:
203
- """For devices running MCS on Chrome, build-specific characteristics
204
- of the browser. There are no hardware aspects (except for ChromeOS).
205
- This will only be populated for Chrome builds/ChromeOS devices
206
- """
207
- def __init__(
208
- self,
209
- *,
210
- last_checkin_msec: builtins.int | None = ...,
211
- cell_operator: builtins.str | None = ...,
212
- sim_operator: builtins.str | None = ...,
213
- roaming: builtins.str | None = ...,
214
- user_number: builtins.int | None = ...,
215
- type: global___DeviceType.ValueType | None = ...,
216
- chrome_build: global___ChromeBuildProto | None = ...,
217
- ) -> None: ...
218
- def HasField(
219
- self,
220
- field_name: typing_extensions.Literal[
221
- "cell_operator",
222
- b"cell_operator",
223
- "chrome_build",
224
- b"chrome_build",
225
- "last_checkin_msec",
226
- b"last_checkin_msec",
227
- "roaming",
228
- b"roaming",
229
- "sim_operator",
230
- b"sim_operator",
231
- "type",
232
- b"type",
233
- "user_number",
234
- b"user_number",
235
- ],
236
- ) -> builtins.bool: ...
237
- def ClearField(
238
- self,
239
- field_name: typing_extensions.Literal[
240
- "cell_operator",
241
- b"cell_operator",
242
- "chrome_build",
243
- b"chrome_build",
244
- "last_checkin_msec",
245
- b"last_checkin_msec",
246
- "roaming",
247
- b"roaming",
248
- "sim_operator",
249
- b"sim_operator",
250
- "type",
251
- b"type",
252
- "user_number",
253
- b"user_number",
254
- ],
255
- ) -> None: ...
256
-
257
- global___AndroidCheckinProto = AndroidCheckinProto
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ Copyright 2014 The Chromium Authors. All rights reserved.
5
+ Use of this source code is governed by a BSD-style license that can be
6
+ found in the LICENSE file.
7
+
8
+ Logging information for Android "checkin" events (automatic, periodic
9
+ requests made by Android devices to the server).
10
+ """
11
+
12
+ import builtins
13
+ import google.protobuf.descriptor
14
+ import google.protobuf.internal.enum_type_wrapper
15
+ import google.protobuf.message
16
+ import sys
17
+ import typing
18
+
19
+ if sys.version_info >= (3, 10):
20
+ import typing as typing_extensions
21
+ else:
22
+ import typing_extensions
23
+
24
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
25
+
26
+ class _DeviceType:
27
+ ValueType = typing.NewType("ValueType", builtins.int)
28
+ V: typing_extensions.TypeAlias = ValueType
29
+
30
+ class _DeviceTypeEnumTypeWrapper(
31
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DeviceType.ValueType],
32
+ builtins.type,
33
+ ):
34
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
35
+ DEVICE_ANDROID_OS: _DeviceType.ValueType # 1
36
+ """Android Device"""
37
+ DEVICE_IOS_OS: _DeviceType.ValueType # 2
38
+ """Apple IOS device"""
39
+ DEVICE_CHROME_BROWSER: _DeviceType.ValueType # 3
40
+ """Chrome browser - Not Chrome OS. No hardware records."""
41
+ DEVICE_CHROME_OS: _DeviceType.ValueType # 4
42
+ """Chrome OS"""
43
+
44
+ class DeviceType(_DeviceType, metaclass=_DeviceTypeEnumTypeWrapper):
45
+ """enum values correspond to the type of device.
46
+ Used in the AndroidCheckinProto and Device proto.
47
+ """
48
+
49
+ DEVICE_ANDROID_OS: DeviceType.ValueType # 1
50
+ """Android Device"""
51
+ DEVICE_IOS_OS: DeviceType.ValueType # 2
52
+ """Apple IOS device"""
53
+ DEVICE_CHROME_BROWSER: DeviceType.ValueType # 3
54
+ """Chrome browser - Not Chrome OS. No hardware records."""
55
+ DEVICE_CHROME_OS: DeviceType.ValueType # 4
56
+ """Chrome OS"""
57
+ global___DeviceType = DeviceType
58
+
59
+ @typing_extensions.final
60
+ class ChromeBuildProto(google.protobuf.message.Message):
61
+ """Build characteristics unique to the Chrome browser, and Chrome OS"""
62
+
63
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
64
+
65
+ class _Platform:
66
+ ValueType = typing.NewType("ValueType", builtins.int)
67
+ V: typing_extensions.TypeAlias = ValueType
68
+
69
+ class _PlatformEnumTypeWrapper(
70
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
71
+ ChromeBuildProto._Platform.ValueType
72
+ ],
73
+ builtins.type,
74
+ ):
75
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
76
+ PLATFORM_WIN: ChromeBuildProto._Platform.ValueType # 1
77
+ PLATFORM_MAC: ChromeBuildProto._Platform.ValueType # 2
78
+ PLATFORM_LINUX: ChromeBuildProto._Platform.ValueType # 3
79
+ PLATFORM_CROS: ChromeBuildProto._Platform.ValueType # 4
80
+ PLATFORM_IOS: ChromeBuildProto._Platform.ValueType # 5
81
+ PLATFORM_ANDROID: ChromeBuildProto._Platform.ValueType # 6
82
+ """Just a placeholder. Likely don't need it due to the presence of the
83
+ Android GCM on phone/tablet devices.
84
+ """
85
+
86
+ class Platform(_Platform, metaclass=_PlatformEnumTypeWrapper): ...
87
+ PLATFORM_WIN: ChromeBuildProto.Platform.ValueType # 1
88
+ PLATFORM_MAC: ChromeBuildProto.Platform.ValueType # 2
89
+ PLATFORM_LINUX: ChromeBuildProto.Platform.ValueType # 3
90
+ PLATFORM_CROS: ChromeBuildProto.Platform.ValueType # 4
91
+ PLATFORM_IOS: ChromeBuildProto.Platform.ValueType # 5
92
+ PLATFORM_ANDROID: ChromeBuildProto.Platform.ValueType # 6
93
+ """Just a placeholder. Likely don't need it due to the presence of the
94
+ Android GCM on phone/tablet devices.
95
+ """
96
+
97
+ class _Channel:
98
+ ValueType = typing.NewType("ValueType", builtins.int)
99
+ V: typing_extensions.TypeAlias = ValueType
100
+
101
+ class _ChannelEnumTypeWrapper(
102
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
103
+ ChromeBuildProto._Channel.ValueType
104
+ ],
105
+ builtins.type,
106
+ ):
107
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
108
+ CHANNEL_STABLE: ChromeBuildProto._Channel.ValueType # 1
109
+ CHANNEL_BETA: ChromeBuildProto._Channel.ValueType # 2
110
+ CHANNEL_DEV: ChromeBuildProto._Channel.ValueType # 3
111
+ CHANNEL_CANARY: ChromeBuildProto._Channel.ValueType # 4
112
+ CHANNEL_UNKNOWN: ChromeBuildProto._Channel.ValueType # 5
113
+ """for tip of tree or custom builds"""
114
+
115
+ class Channel(_Channel, metaclass=_ChannelEnumTypeWrapper): ...
116
+ CHANNEL_STABLE: ChromeBuildProto.Channel.ValueType # 1
117
+ CHANNEL_BETA: ChromeBuildProto.Channel.ValueType # 2
118
+ CHANNEL_DEV: ChromeBuildProto.Channel.ValueType # 3
119
+ CHANNEL_CANARY: ChromeBuildProto.Channel.ValueType # 4
120
+ CHANNEL_UNKNOWN: ChromeBuildProto.Channel.ValueType # 5
121
+ """for tip of tree or custom builds"""
122
+
123
+ PLATFORM_FIELD_NUMBER: builtins.int
124
+ CHROME_VERSION_FIELD_NUMBER: builtins.int
125
+ CHANNEL_FIELD_NUMBER: builtins.int
126
+ platform: global___ChromeBuildProto.Platform.ValueType
127
+ """The platform of the device."""
128
+ chrome_version: builtins.str
129
+ """The Chrome instance's version."""
130
+ channel: global___ChromeBuildProto.Channel.ValueType
131
+ """The Channel (build type) of Chrome."""
132
+ def __init__(
133
+ self,
134
+ *,
135
+ platform: global___ChromeBuildProto.Platform.ValueType | None = ...,
136
+ chrome_version: builtins.str | None = ...,
137
+ channel: global___ChromeBuildProto.Channel.ValueType | None = ...,
138
+ ) -> None: ...
139
+ def HasField(
140
+ self,
141
+ field_name: typing_extensions.Literal[
142
+ "channel",
143
+ b"channel",
144
+ "chrome_version",
145
+ b"chrome_version",
146
+ "platform",
147
+ b"platform",
148
+ ],
149
+ ) -> builtins.bool: ...
150
+ def ClearField(
151
+ self,
152
+ field_name: typing_extensions.Literal[
153
+ "channel",
154
+ b"channel",
155
+ "chrome_version",
156
+ b"chrome_version",
157
+ "platform",
158
+ b"platform",
159
+ ],
160
+ ) -> None: ...
161
+
162
+ global___ChromeBuildProto = ChromeBuildProto
163
+
164
+ @typing_extensions.final
165
+ class AndroidCheckinProto(google.protobuf.message.Message):
166
+ """Information sent by the device in a "checkin" request."""
167
+
168
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
169
+
170
+ LAST_CHECKIN_MSEC_FIELD_NUMBER: builtins.int
171
+ CELL_OPERATOR_FIELD_NUMBER: builtins.int
172
+ SIM_OPERATOR_FIELD_NUMBER: builtins.int
173
+ ROAMING_FIELD_NUMBER: builtins.int
174
+ USER_NUMBER_FIELD_NUMBER: builtins.int
175
+ TYPE_FIELD_NUMBER: builtins.int
176
+ CHROME_BUILD_FIELD_NUMBER: builtins.int
177
+ last_checkin_msec: builtins.int
178
+ """Miliseconds since the Unix epoch of the device's last successful checkin."""
179
+ cell_operator: builtins.str
180
+ """The current MCC+MNC of the mobile device's current cell."""
181
+ sim_operator: builtins.str
182
+ """The MCC+MNC of the SIM card (different from operator if the
183
+ device is roaming, for instance).
184
+ """
185
+ roaming: builtins.str
186
+ """The device's current roaming state (reported starting in eclair builds).
187
+ Currently one of "{,not}mobile-{,not}roaming", if it is present at all.
188
+ """
189
+ user_number: builtins.int
190
+ """For devices supporting multiple user profiles (which may be
191
+ supported starting in jellybean), the ordinal number of the
192
+ profile that is checking in. This is 0 for the primary profile
193
+ (which can't be changed without wiping the device), and 1,2,3,...
194
+ for additional profiles (which can be added and deleted freely).
195
+ """
196
+ type: global___DeviceType.ValueType
197
+ """Class of device. Indicates the type of build proto
198
+ (IosBuildProto/ChromeBuildProto/AndroidBuildProto)
199
+ That is included in this proto
200
+ """
201
+ @property
202
+ def chrome_build(self) -> global___ChromeBuildProto:
203
+ """For devices running MCS on Chrome, build-specific characteristics
204
+ of the browser. There are no hardware aspects (except for ChromeOS).
205
+ This will only be populated for Chrome builds/ChromeOS devices
206
+ """
207
+ def __init__(
208
+ self,
209
+ *,
210
+ last_checkin_msec: builtins.int | None = ...,
211
+ cell_operator: builtins.str | None = ...,
212
+ sim_operator: builtins.str | None = ...,
213
+ roaming: builtins.str | None = ...,
214
+ user_number: builtins.int | None = ...,
215
+ type: global___DeviceType.ValueType | None = ...,
216
+ chrome_build: global___ChromeBuildProto | None = ...,
217
+ ) -> None: ...
218
+ def HasField(
219
+ self,
220
+ field_name: typing_extensions.Literal[
221
+ "cell_operator",
222
+ b"cell_operator",
223
+ "chrome_build",
224
+ b"chrome_build",
225
+ "last_checkin_msec",
226
+ b"last_checkin_msec",
227
+ "roaming",
228
+ b"roaming",
229
+ "sim_operator",
230
+ b"sim_operator",
231
+ "type",
232
+ b"type",
233
+ "user_number",
234
+ b"user_number",
235
+ ],
236
+ ) -> builtins.bool: ...
237
+ def ClearField(
238
+ self,
239
+ field_name: typing_extensions.Literal[
240
+ "cell_operator",
241
+ b"cell_operator",
242
+ "chrome_build",
243
+ b"chrome_build",
244
+ "last_checkin_msec",
245
+ b"last_checkin_msec",
246
+ "roaming",
247
+ b"roaming",
248
+ "sim_operator",
249
+ b"sim_operator",
250
+ "type",
251
+ b"type",
252
+ "user_number",
253
+ b"user_number",
254
+ ],
255
+ ) -> None: ...
256
+
257
+ global___AndroidCheckinProto = AndroidCheckinProto
@@ -1,11 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycupra
3
- Version: 0.1.11
3
+ Version: 0.1.13
4
4
  Summary: A library to read and send vehicle data via Cupra/Seat portal using the same API calls as the MyCupra/MySeat mobile app.
5
- Home-page: https://github.com/WulfgarW/pycupra
6
- Author: WulfgarW
7
- License: APACHE-2.0
8
- Provides: pycupra
5
+ License-Expression: Apache-2.0
6
+ Requires-Python: >=3.10
9
7
  Description-Content-Type: text/markdown
10
8
  License-File: LICENSE
11
9
  Requires-Dist: aiohttp
@@ -14,14 +12,8 @@ Requires-Dist: cryptography
14
12
  Requires-Dist: lxml
15
13
  Requires-Dist: PyJWT
16
14
  Requires-Dist: xmltodict
17
- Dynamic: author
18
- Dynamic: description
19
- Dynamic: description-content-type
20
- Dynamic: home-page
15
+ Requires-Dist: pandas
21
16
  Dynamic: license-file
22
- Dynamic: provides
23
- Dynamic: requires-dist
24
- Dynamic: summary
25
17
 
26
18
  # PyCupra
27
19
 
@@ -2,12 +2,9 @@
2
2
  LICENSE
3
3
  README.md
4
4
  pycupra_credentials.json.demo
5
- requirements.txt
6
- setup.cfg
7
- setup.py
5
+ pyproject.toml
8
6
  example/PyCupra.py
9
7
  pycupra/__init__.py
10
- pycupra/__version__.py
11
8
  pycupra/connection.py
12
9
  pycupra/const.py
13
10
  pycupra/dashboard.py
@@ -4,3 +4,4 @@ cryptography
4
4
  lxml
5
5
  PyJWT
6
6
  xmltodict
7
+ pandas
@@ -0,0 +1,3 @@
1
+ dist
2
+ example
3
+ pycupra
@@ -0,0 +1,23 @@
1
+ [build-system]
2
+ requires = ["setuptools"]
3
+
4
+ [tool.setuptools.packages.find]
5
+ exclude = ["www"]
6
+
7
+ [project]
8
+ name = "pycupra"
9
+ version = "0.1.13"
10
+ description="A library to read and send vehicle data via Cupra/Seat portal using the same API calls as the MyCupra/MySeat mobile app."
11
+ readme="README.md"
12
+ license = "Apache-2.0"
13
+ license-files = ["LICEN[CS]E*"]
14
+ requires-python = ">=3.10"
15
+ dependencies = [
16
+ "aiohttp",
17
+ "beautifulsoup4",
18
+ "cryptography",
19
+ "lxml",
20
+ "PyJWT",
21
+ "xmltodict",
22
+ "pandas"
23
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,6 +0,0 @@
1
- """
2
- pycupra - A Python 3 library for interacting with the My Cupra/My Seat portal.
3
-
4
- For more details and documentation, visit the github page at https://github.com/WulfgarW/pycupra
5
- """
6
- __version__ = "0.1.11"
@@ -1 +0,0 @@
1
- pycupra
@@ -1,6 +0,0 @@
1
- aiohttp
2
- beautifulsoup4
3
- cryptography
4
- lxml
5
- PyJWT
6
- xmltodict
pycupra-0.1.11/setup.cfg DELETED
@@ -1,36 +0,0 @@
1
- [metadata]
2
- description_file = README.md
3
- license = APACHE-2.0
4
-
5
- [flake8]
6
- ignore =
7
- I201,
8
- W503,
9
- CFQ001,
10
- CFQ002
11
- filename =
12
- pycupra.py
13
- exclude =
14
- .git,
15
- __pycache__,
16
- *.txt,
17
- *.md,
18
- *.cfg
19
- *.json
20
- max_line_length = 127
21
- count = True
22
- inline_quotes = single
23
-
24
- [tool:pytest]
25
- minversion = 5.4.3
26
- addopts = -ra -q
27
- testpaths = tests
28
- python_files = *_test.py
29
- pep8maxlinelength = 250
30
- pep8ignore = * E731 \
31
- * E402 \
32
-
33
- [egg_info]
34
- tag_build =
35
- tag_date = 0
36
-
pycupra-0.1.11/setup.py DELETED
@@ -1,30 +0,0 @@
1
- import setuptools
2
-
3
- # read the contents of your README file
4
- from os import path
5
- from pycupra.__version__ import __version__ as lib_version
6
- this_directory = path.abspath(path.dirname(__file__))
7
- with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f:
8
- long_description = f.read()
9
-
10
- def local_scheme(version):
11
- return ""
12
-
13
- setuptools.setup(
14
- name='pycupra',
15
- version=lib_version,
16
- description='A library to read and send vehicle data via Cupra/Seat portal using the same API calls as the MyCupra/MySeat mobile app.',
17
- author='WulfgarW',
18
- #author_email='xxx@googlemail.com',
19
- url='https://github.com/WulfgarW/pycupra',
20
- long_description=long_description,
21
- long_description_content_type='text/markdown',
22
- packages=setuptools.find_packages(),
23
- provides=["pycupra"],
24
- install_requires=list(open("requirements.txt").read().strip().split("\n")),
25
- #use_scm_version=True,
26
- use_scm_version={"local_scheme": local_scheme},
27
- setup_requires=[
28
- 'setuptools_scm',
29
- ]
30
- )
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