ul-data-logger-api-sdk 3.1.1__tar.gz → 3.2.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.
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/PKG-INFO +1 -1
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/data_logger_api_sdk.py +29 -1
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/pyproject.toml +1 -1
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/types/api_base_stations.py +7 -1
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/.gitignore +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/__init__.py +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/data_logger_sdk_config.py +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/py.typed +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/types/__init__.py +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/types/api_bs_traffic_stats.py +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/types/api_device_data_history.py +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/types/api_last_bs_data_by_device_macs.py +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/types/api_packet_types.py +0 -0
- {ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/types/api_protocol_types.py +0 -0
|
@@ -13,6 +13,7 @@ from data_logger_api_sdk.data_logger_sdk_config import DataLoggerApiSdkConfig
|
|
|
13
13
|
from data_logger_api_sdk.types.api_base_stations import (
|
|
14
14
|
ApiBaseStationDetailResponse,
|
|
15
15
|
ApiBaseStationDeviceLogsResponse,
|
|
16
|
+
ApiBaseStationDeviceLogsStatResponse,
|
|
16
17
|
ApiBaseStationDevicesResponse,
|
|
17
18
|
ApiBaseStationLogsStatForIntervalsResponse,
|
|
18
19
|
ApiBaseStationLogsStatResponse,
|
|
@@ -209,13 +210,23 @@ class DataLoggerApiSdk:
|
|
|
209
210
|
end_at: datetime | None = None,
|
|
210
211
|
limit: int = 100,
|
|
211
212
|
offset: int = 0,
|
|
213
|
+
exclude_log_types: List[str] | None = None,
|
|
214
|
+
sort: str | None = None,
|
|
212
215
|
) -> ApiBaseStationLogsListResult:
|
|
213
|
-
"""GET /base-stations/<uuid>/logs — журнал логов базовой станции.
|
|
216
|
+
"""GET /base-stations/<uuid>/logs — журнал логов базовой станции.
|
|
217
|
+
|
|
218
|
+
exclude_log_types передаётся стандартным filter-параметром
|
|
219
|
+
(например, ['heartbit'] прячет служебные heartbeat-логи).
|
|
220
|
+
"""
|
|
214
221
|
query: Dict[str, Any] = {"limit": limit, "offset": offset}
|
|
215
222
|
if start_at is not None:
|
|
216
223
|
query["start_at"] = start_at.isoformat()
|
|
217
224
|
if end_at is not None:
|
|
218
225
|
query["end_at"] = end_at.isoformat()
|
|
226
|
+
if exclude_log_types:
|
|
227
|
+
query["filter"] = json.dumps([{"name": "log_type", "op": "not_in", "val": exclude_log_types}])
|
|
228
|
+
if sort:
|
|
229
|
+
query["sort"] = sort
|
|
219
230
|
items, total_count = self._request_list_payload_once(
|
|
220
231
|
ApiMethod.GET,
|
|
221
232
|
f"/base-stations/{base_station_id}/logs",
|
|
@@ -259,6 +270,23 @@ class DataLoggerApiSdk:
|
|
|
259
270
|
{"day": day.isoformat()},
|
|
260
271
|
)
|
|
261
272
|
|
|
273
|
+
def get_base_station_device_logs_stat(
|
|
274
|
+
self,
|
|
275
|
+
base_station_id: UUID,
|
|
276
|
+
start_at: datetime,
|
|
277
|
+
end_at: datetime | None = None,
|
|
278
|
+
) -> ApiBaseStationDeviceLogsStatResponse:
|
|
279
|
+
"""GET /base-stations/<uuid>/device-logs-stat — число логов устройств БС по дням."""
|
|
280
|
+
query: Dict[str, Any] = {"start_at": start_at.isoformat()}
|
|
281
|
+
if end_at is not None:
|
|
282
|
+
query["end_at"] = end_at.isoformat()
|
|
283
|
+
return self._request_payload_once(
|
|
284
|
+
ApiMethod.GET,
|
|
285
|
+
f"/base-stations/{base_station_id}/device-logs-stat",
|
|
286
|
+
ApiBaseStationDeviceLogsStatResponse,
|
|
287
|
+
query,
|
|
288
|
+
)
|
|
289
|
+
|
|
262
290
|
def get_base_station_logs_stat_for_intervals(
|
|
263
291
|
self,
|
|
264
292
|
base_station_id: UUID,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from datetime import datetime
|
|
1
|
+
from datetime import date, datetime
|
|
2
2
|
from typing import Any, Dict, List, NamedTuple, Tuple
|
|
3
3
|
|
|
4
4
|
from pydantic.types import UUID4
|
|
@@ -110,6 +110,12 @@ class ApiBaseStationLogsStatForIntervalsResponse(JsonApiResponsePayload):
|
|
|
110
110
|
stats: List[datetime]
|
|
111
111
|
|
|
112
112
|
|
|
113
|
+
class ApiBaseStationDeviceLogsStatResponse(JsonApiResponsePayload):
|
|
114
|
+
"""Ответ GET /base-stations/<uuid>/device-logs-stat: число логов устройств по дням."""
|
|
115
|
+
|
|
116
|
+
stats: List[Tuple[date, int]]
|
|
117
|
+
|
|
118
|
+
|
|
113
119
|
class ApiBaseStationDeviceResponse(JsonApiResponsePayload):
|
|
114
120
|
"""Элемент devices ответа GET /base-stations/<uuid>/devices (ApiDeviceResponse без вложенной БС)."""
|
|
115
121
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul_data_logger_api_sdk-3.1.1 → ul_data_logger_api_sdk-3.2.0}/types/api_device_data_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|