foxclient 5.3.2__tar.gz → 5.4.0__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.
- {foxclient-5.3.2 → foxclient-5.4.0}/PKG-INFO +6 -7
- {foxclient-5.3.2 → foxclient-5.4.0}/README.md +4 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/__init__.py +4 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/api/device_api.py +8 -9
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/api/paste_api.py +2 -3
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/api/release_api.py +15 -17
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/api/stats_api.py +2 -3
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/api_client.py +13 -9
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/configuration.py +48 -26
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/exceptions.py +8 -6
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/__init__.py +2 -2
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/device_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/global_stats_aggregation_model.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/http_validation_error.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/list_response_release_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/list_response_short_device_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/list_response_short_release_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/list_response_str.py +5 -4
- foxclient-5.3.2/foxclient/models/validation_error_loc_inner.py → foxclient-5.4.0/foxclient/models/location_inner.py +7 -7
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/maintainer_short_model.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/paste_input.py +6 -5
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/paste_output.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/recovery_img_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/release_groups_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/release_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/release_type.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/releases_sort.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/response_get_releases.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/short_device_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/short_release_response.py +5 -4
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/models/validation_error.py +20 -10
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/rest.py +24 -11
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient.egg-info/PKG-INFO +6 -7
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient.egg-info/SOURCES.txt +3 -3
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient.egg-info/requires.txt +1 -2
- {foxclient-5.3.2 → foxclient-5.4.0}/pyproject.toml +2 -3
- {foxclient-5.3.2 → foxclient-5.4.0}/setup.py +4 -7
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_device_api.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_device_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_global_stats_aggregation_model.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_http_validation_error.py +4 -2
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_list_response_release_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_list_response_short_device_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_list_response_short_release_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_list_response_str.py +1 -1
- foxclient-5.3.2/test/test_validation_error_loc_inner.py → foxclient-5.4.0/test/test_location_inner.py +12 -12
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_maintainer_short_model.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_paste_api.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_paste_input.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_paste_output.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_recovery_img_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_release_api.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_release_groups_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_release_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_release_type.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_releases_sort.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_response_get_releases.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_short_device_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_short_release_response.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_stats_api.py +1 -1
- {foxclient-5.3.2 → foxclient-5.4.0}/test/test_validation_error.py +4 -2
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/api/__init__.py +0 -0
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/api_response.py +0 -0
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient/py.typed +0 -0
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient.egg-info/dependency_links.txt +0 -0
- {foxclient-5.3.2 → foxclient-5.4.0}/foxclient.egg-info/top_level.txt +0 -0
- {foxclient-5.3.2 → foxclient-5.4.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: foxclient
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.4.0
|
|
4
4
|
Summary: Fox API
|
|
5
5
|
Home-page:
|
|
6
6
|
Author: OpenAPI Generator community
|
|
@@ -9,11 +9,10 @@ Project-URL: Repository, https://github.com/GIT_USER_ID/GIT_REPO_ID
|
|
|
9
9
|
Keywords: OpenAPI,OpenAPI-Generator,Fox API
|
|
10
10
|
Requires-Python: >=3.9
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
|
-
Requires-Dist: urllib3<3.0.0,>=2.1.0
|
|
13
12
|
Requires-Dist: python-dateutil>=2.8.2
|
|
14
13
|
Requires-Dist: aiohttp>=3.8.4
|
|
15
14
|
Requires-Dist: aiohttp-retry>=2.8.3
|
|
16
|
-
Requires-Dist: pydantic>=2
|
|
15
|
+
Requires-Dist: pydantic>=2.11
|
|
17
16
|
Requires-Dist: typing-extensions>=4.7.1
|
|
18
17
|
Dynamic: author
|
|
19
18
|
|
|
@@ -31,9 +30,9 @@ The requests may be logged for analytics and development purposes.
|
|
|
31
30
|
|
|
32
31
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
33
32
|
|
|
34
|
-
- API version: 5.
|
|
35
|
-
- Package version: 5.
|
|
36
|
-
- Generator version: 7.
|
|
33
|
+
- API version: 5.4.0
|
|
34
|
+
- Package version: 5.4.0
|
|
35
|
+
- Generator version: 7.21.0
|
|
37
36
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
|
38
37
|
|
|
39
38
|
## Requirements.
|
|
@@ -137,6 +136,7 @@ Class | Method | HTTP request | Description
|
|
|
137
136
|
- [ListResponseShortDeviceResponse](docs/ListResponseShortDeviceResponse.md)
|
|
138
137
|
- [ListResponseShortReleaseResponse](docs/ListResponseShortReleaseResponse.md)
|
|
139
138
|
- [ListResponseStr](docs/ListResponseStr.md)
|
|
139
|
+
- [LocationInner](docs/LocationInner.md)
|
|
140
140
|
- [MaintainerShortModel](docs/MaintainerShortModel.md)
|
|
141
141
|
- [PasteInput](docs/PasteInput.md)
|
|
142
142
|
- [PasteOutput](docs/PasteOutput.md)
|
|
@@ -149,7 +149,6 @@ Class | Method | HTTP request | Description
|
|
|
149
149
|
- [ShortDeviceResponse](docs/ShortDeviceResponse.md)
|
|
150
150
|
- [ShortReleaseResponse](docs/ShortReleaseResponse.md)
|
|
151
151
|
- [ValidationError](docs/ValidationError.md)
|
|
152
|
-
- [ValidationErrorLocInner](docs/ValidationErrorLocInner.md)
|
|
153
152
|
|
|
154
153
|
|
|
155
154
|
<a id="documentation-for-authorization"></a>
|
|
@@ -12,9 +12,9 @@ The requests may be logged for analytics and development purposes.
|
|
|
12
12
|
|
|
13
13
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
14
14
|
|
|
15
|
-
- API version: 5.
|
|
16
|
-
- Package version: 5.
|
|
17
|
-
- Generator version: 7.
|
|
15
|
+
- API version: 5.4.0
|
|
16
|
+
- Package version: 5.4.0
|
|
17
|
+
- Generator version: 7.21.0
|
|
18
18
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
|
19
19
|
|
|
20
20
|
## Requirements.
|
|
@@ -118,6 +118,7 @@ Class | Method | HTTP request | Description
|
|
|
118
118
|
- [ListResponseShortDeviceResponse](docs/ListResponseShortDeviceResponse.md)
|
|
119
119
|
- [ListResponseShortReleaseResponse](docs/ListResponseShortReleaseResponse.md)
|
|
120
120
|
- [ListResponseStr](docs/ListResponseStr.md)
|
|
121
|
+
- [LocationInner](docs/LocationInner.md)
|
|
121
122
|
- [MaintainerShortModel](docs/MaintainerShortModel.md)
|
|
122
123
|
- [PasteInput](docs/PasteInput.md)
|
|
123
124
|
- [PasteOutput](docs/PasteOutput.md)
|
|
@@ -130,7 +131,6 @@ Class | Method | HTTP request | Description
|
|
|
130
131
|
- [ShortDeviceResponse](docs/ShortDeviceResponse.md)
|
|
131
132
|
- [ShortReleaseResponse](docs/ShortReleaseResponse.md)
|
|
132
133
|
- [ValidationError](docs/ValidationError.md)
|
|
133
|
-
- [ValidationErrorLocInner](docs/ValidationErrorLocInner.md)
|
|
134
134
|
|
|
135
135
|
|
|
136
136
|
<a id="documentation-for-authorization"></a>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
Warning: Please add a custom user agent header to your requests. This would help us fighting against DDoS attacks in future, while keeping your application's access to the API. In future, this may be a mandatory requirement. To reduce the system load, the API endpoints are rate limited. The default limit is 30 requests per minute. Contact admin@orangefox.tech if you need a higher limit. The requests may be logged for analytics and development purposes.
|
|
9
9
|
|
|
10
|
-
The version of the OpenAPI document: 5.
|
|
10
|
+
The version of the OpenAPI document: 5.4.0
|
|
11
11
|
Contact: admin@orangefox.tech
|
|
12
12
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
13
13
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
""" # noqa: E501
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
__version__ = "5.
|
|
18
|
+
__version__ = "5.4.0"
|
|
19
19
|
|
|
20
20
|
# Define package exports
|
|
21
21
|
__all__ = [
|
|
@@ -39,6 +39,7 @@ __all__ = [
|
|
|
39
39
|
"ListResponseShortDeviceResponse",
|
|
40
40
|
"ListResponseShortReleaseResponse",
|
|
41
41
|
"ListResponseStr",
|
|
42
|
+
"LocationInner",
|
|
42
43
|
"MaintainerShortModel",
|
|
43
44
|
"PasteInput",
|
|
44
45
|
"PasteOutput",
|
|
@@ -51,7 +52,6 @@ __all__ = [
|
|
|
51
52
|
"ShortDeviceResponse",
|
|
52
53
|
"ShortReleaseResponse",
|
|
53
54
|
"ValidationError",
|
|
54
|
-
"ValidationErrorLocInner",
|
|
55
55
|
]
|
|
56
56
|
|
|
57
57
|
# import apis into sdk package
|
|
@@ -79,6 +79,7 @@ from foxclient.models.list_response_release_response import ListResponseReleaseR
|
|
|
79
79
|
from foxclient.models.list_response_short_device_response import ListResponseShortDeviceResponse as ListResponseShortDeviceResponse
|
|
80
80
|
from foxclient.models.list_response_short_release_response import ListResponseShortReleaseResponse as ListResponseShortReleaseResponse
|
|
81
81
|
from foxclient.models.list_response_str import ListResponseStr as ListResponseStr
|
|
82
|
+
from foxclient.models.location_inner import LocationInner as LocationInner
|
|
82
83
|
from foxclient.models.maintainer_short_model import MaintainerShortModel as MaintainerShortModel
|
|
83
84
|
from foxclient.models.paste_input import PasteInput as PasteInput
|
|
84
85
|
from foxclient.models.paste_output import PasteOutput as PasteOutput
|
|
@@ -91,5 +92,4 @@ from foxclient.models.response_get_releases import ResponseGetReleases as Respon
|
|
|
91
92
|
from foxclient.models.short_device_response import ShortDeviceResponse as ShortDeviceResponse
|
|
92
93
|
from foxclient.models.short_release_response import ShortReleaseResponse as ShortReleaseResponse
|
|
93
94
|
from foxclient.models.validation_error import ValidationError as ValidationError
|
|
94
|
-
from foxclient.models.validation_error_loc_inner import ValidationErrorLocInner as ValidationErrorLocInner
|
|
95
95
|
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
Fox API
|
|
5
3
|
|
|
6
4
|
Warning: Please add a custom user agent header to your requests. This would help us fighting against DDoS attacks in future, while keeping your application's access to the API. In future, this may be a mandatory requirement. To reduce the system load, the API endpoints are rate limited. The default limit is 30 requests per minute. Contact admin@orangefox.tech if you need a higher limit. The requests may be logged for analytics and development purposes.
|
|
7
5
|
|
|
8
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.4.0
|
|
9
7
|
Contact: admin@orangefox.tech
|
|
10
8
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
9
|
|
|
12
10
|
Do not edit the class manually.
|
|
13
11
|
""" # noqa: E501
|
|
14
12
|
|
|
13
|
+
|
|
15
14
|
import warnings
|
|
16
15
|
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
17
16
|
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
@@ -63,7 +62,7 @@ class DeviceApi:
|
|
|
63
62
|
) -> DeviceResponse:
|
|
64
63
|
"""Get Device
|
|
65
64
|
|
|
66
|
-
Extended get device method, including the ability to get a device using device codename instead of the ID. /device/get?codename=lavender Due to the reasons mentioned in the /device route, identification devices using their codenames are considered
|
|
65
|
+
Extended get device method, including the ability to get a device using device codename instead of the ID. /device/get?codename=lavender Due to the reasons mentioned in the /device route, identification devices using their codenames are considered unrecommended.
|
|
67
66
|
|
|
68
67
|
:param device_id:
|
|
69
68
|
:type device_id: str
|
|
@@ -141,7 +140,7 @@ class DeviceApi:
|
|
|
141
140
|
) -> ApiResponse[DeviceResponse]:
|
|
142
141
|
"""Get Device
|
|
143
142
|
|
|
144
|
-
Extended get device method, including the ability to get a device using device codename instead of the ID. /device/get?codename=lavender Due to the reasons mentioned in the /device route, identification devices using their codenames are considered
|
|
143
|
+
Extended get device method, including the ability to get a device using device codename instead of the ID. /device/get?codename=lavender Due to the reasons mentioned in the /device route, identification devices using their codenames are considered unrecommended.
|
|
145
144
|
|
|
146
145
|
:param device_id:
|
|
147
146
|
:type device_id: str
|
|
@@ -219,7 +218,7 @@ class DeviceApi:
|
|
|
219
218
|
) -> RESTResponseType:
|
|
220
219
|
"""Get Device
|
|
221
220
|
|
|
222
|
-
Extended get device method, including the ability to get a device using device codename instead of the ID. /device/get?codename=lavender Due to the reasons mentioned in the /device route, identification devices using their codenames are considered
|
|
221
|
+
Extended get device method, including the ability to get a device using device codename instead of the ID. /device/get?codename=lavender Due to the reasons mentioned in the /device route, identification devices using their codenames are considered unrecommended.
|
|
223
222
|
|
|
224
223
|
:param device_id:
|
|
225
224
|
:type device_id: str
|
|
@@ -645,7 +644,7 @@ class DeviceApi:
|
|
|
645
644
|
) -> ListResponseShortDeviceResponse:
|
|
646
645
|
"""Get Devices
|
|
647
646
|
|
|
648
|
-
Get a device list. Device ID is the internal OrangeFox device identifier (https://www.mongodb.com/docs/manual/reference/method/ObjectId/). Please only use it for identification instead of codename or model_name if it's possible. You would find two Device ID query parameters here, the _id one is left deprecated due to historical reasons,
|
|
647
|
+
Get a device list. Device ID is the internal OrangeFox device identifier (https://www.mongodb.com/docs/manual/reference/method/ObjectId/). Please only use it for identification instead of codename or model_name if it's possible. You would find two Device ID query parameters here, the _id one is left deprecated due to historical reasons, please use id instead. Please note that using model_name is unrecommended and considered deprecated as it's very inconsistent around some OEMs that play with the names around. As of the current moment, the API won't support unified model names at all! In short, do not use model_name as device's identification. Be careful using codenames, there are a lot of problems and pain about those. Some OEMs keep releasing new phones with the same hardware as the old ones and may or may not update or change the codename for those. Currently, API doesn't support unified devices; they would have only one codename. Our OEMs database would not include subbrands, they instead would be added to the model name. Like oem_name: \"Xiaomi\" model_name: \"Poco F5 Pro\". The exclusions are merged ones, like OnePlus, as calling those BBK OnePlus is really weird in the respective communities. Note: You will get only a shortened device object with this method, if you want to get a full one, use \"/device/<device_id>\" or \"/device/get\" method instead.
|
|
649
648
|
|
|
650
649
|
:param id: Filter by Device IDs
|
|
651
650
|
:type id: List[str]
|
|
@@ -754,7 +753,7 @@ class DeviceApi:
|
|
|
754
753
|
) -> ApiResponse[ListResponseShortDeviceResponse]:
|
|
755
754
|
"""Get Devices
|
|
756
755
|
|
|
757
|
-
Get a device list. Device ID is the internal OrangeFox device identifier (https://www.mongodb.com/docs/manual/reference/method/ObjectId/). Please only use it for identification instead of codename or model_name if it's possible. You would find two Device ID query parameters here, the _id one is left deprecated due to historical reasons,
|
|
756
|
+
Get a device list. Device ID is the internal OrangeFox device identifier (https://www.mongodb.com/docs/manual/reference/method/ObjectId/). Please only use it for identification instead of codename or model_name if it's possible. You would find two Device ID query parameters here, the _id one is left deprecated due to historical reasons, please use id instead. Please note that using model_name is unrecommended and considered deprecated as it's very inconsistent around some OEMs that play with the names around. As of the current moment, the API won't support unified model names at all! In short, do not use model_name as device's identification. Be careful using codenames, there are a lot of problems and pain about those. Some OEMs keep releasing new phones with the same hardware as the old ones and may or may not update or change the codename for those. Currently, API doesn't support unified devices; they would have only one codename. Our OEMs database would not include subbrands, they instead would be added to the model name. Like oem_name: \"Xiaomi\" model_name: \"Poco F5 Pro\". The exclusions are merged ones, like OnePlus, as calling those BBK OnePlus is really weird in the respective communities. Note: You will get only a shortened device object with this method, if you want to get a full one, use \"/device/<device_id>\" or \"/device/get\" method instead.
|
|
758
757
|
|
|
759
758
|
:param id: Filter by Device IDs
|
|
760
759
|
:type id: List[str]
|
|
@@ -863,7 +862,7 @@ class DeviceApi:
|
|
|
863
862
|
) -> RESTResponseType:
|
|
864
863
|
"""Get Devices
|
|
865
864
|
|
|
866
|
-
Get a device list. Device ID is the internal OrangeFox device identifier (https://www.mongodb.com/docs/manual/reference/method/ObjectId/). Please only use it for identification instead of codename or model_name if it's possible. You would find two Device ID query parameters here, the _id one is left deprecated due to historical reasons,
|
|
865
|
+
Get a device list. Device ID is the internal OrangeFox device identifier (https://www.mongodb.com/docs/manual/reference/method/ObjectId/). Please only use it for identification instead of codename or model_name if it's possible. You would find two Device ID query parameters here, the _id one is left deprecated due to historical reasons, please use id instead. Please note that using model_name is unrecommended and considered deprecated as it's very inconsistent around some OEMs that play with the names around. As of the current moment, the API won't support unified model names at all! In short, do not use model_name as device's identification. Be careful using codenames, there are a lot of problems and pain about those. Some OEMs keep releasing new phones with the same hardware as the old ones and may or may not update or change the codename for those. Currently, API doesn't support unified devices; they would have only one codename. Our OEMs database would not include subbrands, they instead would be added to the model name. Like oem_name: \"Xiaomi\" model_name: \"Poco F5 Pro\". The exclusions are merged ones, like OnePlus, as calling those BBK OnePlus is really weird in the respective communities. Note: You will get only a shortened device object with this method, if you want to get a full one, use \"/device/<device_id>\" or \"/device/get\" method instead.
|
|
867
866
|
|
|
868
867
|
:param id: Filter by Device IDs
|
|
869
868
|
:type id: List[str]
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
Fox API
|
|
5
3
|
|
|
6
4
|
Warning: Please add a custom user agent header to your requests. This would help us fighting against DDoS attacks in future, while keeping your application's access to the API. In future, this may be a mandatory requirement. To reduce the system load, the API endpoints are rate limited. The default limit is 30 requests per minute. Contact admin@orangefox.tech if you need a higher limit. The requests may be logged for analytics and development purposes.
|
|
7
5
|
|
|
8
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.4.0
|
|
9
7
|
Contact: admin@orangefox.tech
|
|
10
8
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
9
|
|
|
12
10
|
Do not edit the class manually.
|
|
13
11
|
""" # noqa: E501
|
|
14
12
|
|
|
13
|
+
|
|
15
14
|
import warnings
|
|
16
15
|
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
17
16
|
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
@@ -1,30 +1,28 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
Fox API
|
|
5
3
|
|
|
6
4
|
Warning: Please add a custom user agent header to your requests. This would help us fighting against DDoS attacks in future, while keeping your application's access to the API. In future, this may be a mandatory requirement. To reduce the system load, the API endpoints are rate limited. The default limit is 30 requests per minute. Contact admin@orangefox.tech if you need a higher limit. The requests may be logged for analytics and development purposes.
|
|
7
5
|
|
|
8
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.4.0
|
|
9
7
|
Contact: admin@orangefox.tech
|
|
10
8
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
9
|
|
|
12
10
|
Do not edit the class manually.
|
|
13
11
|
""" # noqa: E501
|
|
14
12
|
|
|
13
|
+
|
|
15
14
|
import warnings
|
|
16
15
|
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
17
16
|
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
18
17
|
from typing_extensions import Annotated
|
|
19
18
|
|
|
20
19
|
from pydantic import Field, StrictBool, StrictInt, StrictStr
|
|
21
|
-
from typing import List, Optional
|
|
20
|
+
from typing import Any, List, Optional
|
|
22
21
|
from typing_extensions import Annotated
|
|
23
22
|
from uuid import UUID
|
|
24
23
|
from foxclient.models.list_response_short_release_response import ListResponseShortReleaseResponse
|
|
25
24
|
from foxclient.models.release_response import ReleaseResponse
|
|
26
25
|
from foxclient.models.release_type import ReleaseType
|
|
27
|
-
from foxclient.models.releases_sort import ReleasesSort
|
|
28
26
|
from foxclient.models.response_get_releases import ResponseGetReleases
|
|
29
27
|
|
|
30
28
|
from foxclient.api_client import ApiClient, RequestSerialized
|
|
@@ -74,7 +72,7 @@ class ReleaseApi:
|
|
|
74
72
|
:param id: Release ID (deprecated)
|
|
75
73
|
:type id: str
|
|
76
74
|
:param build_id: Build ID, `ro.build.fox_id` prop
|
|
77
|
-
:type build_id:
|
|
75
|
+
:type build_id: UUID
|
|
78
76
|
:param filename:
|
|
79
77
|
:type filename: str
|
|
80
78
|
:param _request_timeout: timeout setting for this request. If one
|
|
@@ -154,7 +152,7 @@ class ReleaseApi:
|
|
|
154
152
|
:param id: Release ID (deprecated)
|
|
155
153
|
:type id: str
|
|
156
154
|
:param build_id: Build ID, `ro.build.fox_id` prop
|
|
157
|
-
:type build_id:
|
|
155
|
+
:type build_id: UUID
|
|
158
156
|
:param filename:
|
|
159
157
|
:type filename: str
|
|
160
158
|
:param _request_timeout: timeout setting for this request. If one
|
|
@@ -234,7 +232,7 @@ class ReleaseApi:
|
|
|
234
232
|
:param id: Release ID (deprecated)
|
|
235
233
|
:type id: str
|
|
236
234
|
:param build_id: Build ID, `ro.build.fox_id` prop
|
|
237
|
-
:type build_id:
|
|
235
|
+
:type build_id: UUID
|
|
238
236
|
:param filename:
|
|
239
237
|
:type filename: str
|
|
240
238
|
:param _request_timeout: timeout setting for this request. If one
|
|
@@ -642,7 +640,7 @@ class ReleaseApi:
|
|
|
642
640
|
freezed: Annotated[Optional[StrictBool], Field(description="Filter by the freezed status")] = None,
|
|
643
641
|
after_release_id: Annotated[Optional[StrictStr], Field(description="Show releases after the provided one")] = None,
|
|
644
642
|
after_date: Annotated[Optional[StrictInt], Field(description="Show releases after the provided timestamp")] = None,
|
|
645
|
-
sort: Annotated[Optional[
|
|
643
|
+
sort: Annotated[Optional[Any], Field(description="Sort mode")] = None,
|
|
646
644
|
group: Annotated[Optional[StrictBool], Field(description="Group releases by version + variant. This will change the response!")] = None,
|
|
647
645
|
skip: Annotated[Optional[StrictInt], Field(description="Skip query results")] = None,
|
|
648
646
|
limit: Annotated[Optional[StrictInt], Field(description="Limit query results (0 means unlimited)")] = None,
|
|
@@ -661,14 +659,14 @@ class ReleaseApi:
|
|
|
661
659
|
) -> ResponseGetReleases:
|
|
662
660
|
"""Get Releases
|
|
663
661
|
|
|
664
|
-
Lists releases. This method contains a bunch of different parameters to filter releases for different cases. For example, you may use ?after_release_id param to get only releases that came after the last known one
|
|
662
|
+
Lists releases. This method contains a bunch of different parameters to filter releases for different cases. For example, you may use ?after_release_id param to get only releases that came after the last known one (aka get updates). You can filter releases by maintainer_id to get releases from a specific maintainer. This is the maintainer who released the build, not the current maintainer of the device. Getting releases by device codename is obsolete thought. The reason for this is that devices could change codenames eventually. Unfortunately, some OEMs and community make a total mess of them. Please use /device methods to determine the right device (preferably with the user decision), save the device ID somewhere and use it afterward. Version tag is deprecated for the same reason, it's not really consistent, as it might contain patch and mod versions and very different by each maintainer.
|
|
665
663
|
|
|
666
664
|
:param id: Filter by Release IDs
|
|
667
665
|
:type id: List[Optional[str]]
|
|
668
666
|
:param id2: Filter by Release IDs (deprecated)
|
|
669
667
|
:type id2: List[Optional[str]]
|
|
670
668
|
:param build_id: Filter by Build IDs
|
|
671
|
-
:type build_id: List[
|
|
669
|
+
:type build_id: List[UUID]
|
|
672
670
|
:param device_id: Filter by Device IDs
|
|
673
671
|
:type device_id: List[Optional[str]]
|
|
674
672
|
:param maintainer_id: Filter by Maintainer IDs
|
|
@@ -771,7 +769,7 @@ class ReleaseApi:
|
|
|
771
769
|
freezed: Annotated[Optional[StrictBool], Field(description="Filter by the freezed status")] = None,
|
|
772
770
|
after_release_id: Annotated[Optional[StrictStr], Field(description="Show releases after the provided one")] = None,
|
|
773
771
|
after_date: Annotated[Optional[StrictInt], Field(description="Show releases after the provided timestamp")] = None,
|
|
774
|
-
sort: Annotated[Optional[
|
|
772
|
+
sort: Annotated[Optional[Any], Field(description="Sort mode")] = None,
|
|
775
773
|
group: Annotated[Optional[StrictBool], Field(description="Group releases by version + variant. This will change the response!")] = None,
|
|
776
774
|
skip: Annotated[Optional[StrictInt], Field(description="Skip query results")] = None,
|
|
777
775
|
limit: Annotated[Optional[StrictInt], Field(description="Limit query results (0 means unlimited)")] = None,
|
|
@@ -790,14 +788,14 @@ class ReleaseApi:
|
|
|
790
788
|
) -> ApiResponse[ResponseGetReleases]:
|
|
791
789
|
"""Get Releases
|
|
792
790
|
|
|
793
|
-
Lists releases. This method contains a bunch of different parameters to filter releases for different cases. For example, you may use ?after_release_id param to get only releases that came after the last known one
|
|
791
|
+
Lists releases. This method contains a bunch of different parameters to filter releases for different cases. For example, you may use ?after_release_id param to get only releases that came after the last known one (aka get updates). You can filter releases by maintainer_id to get releases from a specific maintainer. This is the maintainer who released the build, not the current maintainer of the device. Getting releases by device codename is obsolete thought. The reason for this is that devices could change codenames eventually. Unfortunately, some OEMs and community make a total mess of them. Please use /device methods to determine the right device (preferably with the user decision), save the device ID somewhere and use it afterward. Version tag is deprecated for the same reason, it's not really consistent, as it might contain patch and mod versions and very different by each maintainer.
|
|
794
792
|
|
|
795
793
|
:param id: Filter by Release IDs
|
|
796
794
|
:type id: List[Optional[str]]
|
|
797
795
|
:param id2: Filter by Release IDs (deprecated)
|
|
798
796
|
:type id2: List[Optional[str]]
|
|
799
797
|
:param build_id: Filter by Build IDs
|
|
800
|
-
:type build_id: List[
|
|
798
|
+
:type build_id: List[UUID]
|
|
801
799
|
:param device_id: Filter by Device IDs
|
|
802
800
|
:type device_id: List[Optional[str]]
|
|
803
801
|
:param maintainer_id: Filter by Maintainer IDs
|
|
@@ -900,7 +898,7 @@ class ReleaseApi:
|
|
|
900
898
|
freezed: Annotated[Optional[StrictBool], Field(description="Filter by the freezed status")] = None,
|
|
901
899
|
after_release_id: Annotated[Optional[StrictStr], Field(description="Show releases after the provided one")] = None,
|
|
902
900
|
after_date: Annotated[Optional[StrictInt], Field(description="Show releases after the provided timestamp")] = None,
|
|
903
|
-
sort: Annotated[Optional[
|
|
901
|
+
sort: Annotated[Optional[Any], Field(description="Sort mode")] = None,
|
|
904
902
|
group: Annotated[Optional[StrictBool], Field(description="Group releases by version + variant. This will change the response!")] = None,
|
|
905
903
|
skip: Annotated[Optional[StrictInt], Field(description="Skip query results")] = None,
|
|
906
904
|
limit: Annotated[Optional[StrictInt], Field(description="Limit query results (0 means unlimited)")] = None,
|
|
@@ -919,14 +917,14 @@ class ReleaseApi:
|
|
|
919
917
|
) -> RESTResponseType:
|
|
920
918
|
"""Get Releases
|
|
921
919
|
|
|
922
|
-
Lists releases. This method contains a bunch of different parameters to filter releases for different cases. For example, you may use ?after_release_id param to get only releases that came after the last known one
|
|
920
|
+
Lists releases. This method contains a bunch of different parameters to filter releases for different cases. For example, you may use ?after_release_id param to get only releases that came after the last known one (aka get updates). You can filter releases by maintainer_id to get releases from a specific maintainer. This is the maintainer who released the build, not the current maintainer of the device. Getting releases by device codename is obsolete thought. The reason for this is that devices could change codenames eventually. Unfortunately, some OEMs and community make a total mess of them. Please use /device methods to determine the right device (preferably with the user decision), save the device ID somewhere and use it afterward. Version tag is deprecated for the same reason, it's not really consistent, as it might contain patch and mod versions and very different by each maintainer.
|
|
923
921
|
|
|
924
922
|
:param id: Filter by Release IDs
|
|
925
923
|
:type id: List[Optional[str]]
|
|
926
924
|
:param id2: Filter by Release IDs (deprecated)
|
|
927
925
|
:type id2: List[Optional[str]]
|
|
928
926
|
:param build_id: Filter by Build IDs
|
|
929
|
-
:type build_id: List[
|
|
927
|
+
:type build_id: List[UUID]
|
|
930
928
|
:param device_id: Filter by Device IDs
|
|
931
929
|
:type device_id: List[Optional[str]]
|
|
932
930
|
:param maintainer_id: Filter by Maintainer IDs
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
Fox API
|
|
5
3
|
|
|
6
4
|
Warning: Please add a custom user agent header to your requests. This would help us fighting against DDoS attacks in future, while keeping your application's access to the API. In future, this may be a mandatory requirement. To reduce the system load, the API endpoints are rate limited. The default limit is 30 requests per minute. Contact admin@orangefox.tech if you need a higher limit. The requests may be logged for analytics and development purposes.
|
|
7
5
|
|
|
8
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.4.0
|
|
9
7
|
Contact: admin@orangefox.tech
|
|
10
8
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
9
|
|
|
12
10
|
Do not edit the class manually.
|
|
13
11
|
""" # noqa: E501
|
|
14
12
|
|
|
13
|
+
|
|
15
14
|
import warnings
|
|
16
15
|
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
17
16
|
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
Fox API
|
|
5
3
|
|
|
6
4
|
Warning: Please add a custom user agent header to your requests. This would help us fighting against DDoS attacks in future, while keeping your application's access to the API. In future, this may be a mandatory requirement. To reduce the system load, the API endpoints are rate limited. The default limit is 30 requests per minute. Contact admin@orangefox.tech if you need a higher limit. The requests may be logged for analytics and development purposes.
|
|
7
5
|
|
|
8
|
-
The version of the OpenAPI document: 5.
|
|
6
|
+
The version of the OpenAPI document: 5.4.0
|
|
9
7
|
Contact: admin@orangefox.tech
|
|
10
8
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
9
|
|
|
@@ -13,6 +11,7 @@
|
|
|
13
11
|
""" # noqa: E501
|
|
14
12
|
|
|
15
13
|
|
|
14
|
+
|
|
16
15
|
import datetime
|
|
17
16
|
from dateutil.parser import parse
|
|
18
17
|
from enum import Enum
|
|
@@ -70,6 +69,7 @@ class ApiClient:
|
|
|
70
69
|
'date': datetime.date,
|
|
71
70
|
'datetime': datetime.datetime,
|
|
72
71
|
'decimal': decimal.Decimal,
|
|
72
|
+
'UUID': uuid.UUID,
|
|
73
73
|
'object': object,
|
|
74
74
|
}
|
|
75
75
|
_pool = None
|
|
@@ -92,7 +92,7 @@ class ApiClient:
|
|
|
92
92
|
self.default_headers[header_name] = header_value
|
|
93
93
|
self.cookie = cookie
|
|
94
94
|
# Set default User-Agent.
|
|
95
|
-
self.user_agent = 'OpenAPI-Generator/5.
|
|
95
|
+
self.user_agent = 'OpenAPI-Generator/5.4.0/python'
|
|
96
96
|
self.client_side_validation = configuration.client_side_validation
|
|
97
97
|
|
|
98
98
|
async def __aenter__(self):
|
|
@@ -310,13 +310,13 @@ class ApiClient:
|
|
|
310
310
|
response_text = None
|
|
311
311
|
return_data = None
|
|
312
312
|
try:
|
|
313
|
-
if response_type
|
|
313
|
+
if response_type in ("bytearray", "bytes"):
|
|
314
314
|
return_data = response_data.data
|
|
315
315
|
elif response_type == "file":
|
|
316
316
|
return_data = self.__deserialize_file(response_data)
|
|
317
317
|
elif response_type is not None:
|
|
318
318
|
match = None
|
|
319
|
-
content_type = response_data.
|
|
319
|
+
content_type = response_data.headers.get('content-type')
|
|
320
320
|
if content_type is not None:
|
|
321
321
|
match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type)
|
|
322
322
|
encoding = match.group(1) if match else "utf-8"
|
|
@@ -333,7 +333,7 @@ class ApiClient:
|
|
|
333
333
|
return ApiResponse(
|
|
334
334
|
status_code = response_data.status,
|
|
335
335
|
data = return_data,
|
|
336
|
-
headers = response_data.
|
|
336
|
+
headers = response_data.headers,
|
|
337
337
|
raw_data = response_data.data
|
|
338
338
|
)
|
|
339
339
|
|
|
@@ -472,6 +472,8 @@ class ApiClient:
|
|
|
472
472
|
return self.__deserialize_datetime(data)
|
|
473
473
|
elif klass is decimal.Decimal:
|
|
474
474
|
return decimal.Decimal(data)
|
|
475
|
+
elif klass is uuid.UUID:
|
|
476
|
+
return uuid.UUID(data)
|
|
475
477
|
elif issubclass(klass, Enum):
|
|
476
478
|
return self.__deserialize_enum(data, klass)
|
|
477
479
|
else:
|
|
@@ -705,14 +707,16 @@ class ApiClient:
|
|
|
705
707
|
os.close(fd)
|
|
706
708
|
os.remove(path)
|
|
707
709
|
|
|
708
|
-
content_disposition = response.
|
|
710
|
+
content_disposition = response.headers.get("Content-Disposition")
|
|
709
711
|
if content_disposition:
|
|
710
712
|
m = re.search(
|
|
711
713
|
r'filename=[\'"]?([^\'"\s]+)[\'"]?',
|
|
712
714
|
content_disposition
|
|
713
715
|
)
|
|
714
716
|
assert m is not None, "Unexpected 'content-disposition' header value"
|
|
715
|
-
filename = m.group(1)
|
|
717
|
+
filename = os.path.basename(m.group(1)) # Strip any directory traversal
|
|
718
|
+
if filename in ("", ".", ".."): # fall back to tmp filename
|
|
719
|
+
filename = os.path.basename(path)
|
|
716
720
|
path = os.path.join(os.path.dirname(path), filename)
|
|
717
721
|
|
|
718
722
|
with open(path, "wb") as f:
|