ul-data-logger-api-sdk 3.3.5__tar.gz → 3.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.
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/PKG-INFO +1 -1
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/data_logger_api_sdk.py +9 -16
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/pyproject.toml +1 -1
- ul_data_logger_api_sdk-3.4.0/types/api_bs_device_links.py +15 -0
- ul_data_logger_api_sdk-3.3.5/types/api_bs_device_links.py +0 -30
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/.gitignore +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/__init__.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/data_logger_sdk_config.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/py.typed +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/__init__.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/api_base_stations.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/api_bs_traffic_stats.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/api_device_data_history.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/api_last_bs_data_by_device_macs.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/api_packet_types.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/api_protocol_types.py +0 -0
- {ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/api_uplink_signal.py +0 -0
|
@@ -25,7 +25,7 @@ from data_logger_api_sdk.types.api_base_stations import (
|
|
|
25
25
|
ApiBaseStationSystemLogResponse,
|
|
26
26
|
ApiBaseStationSystemLogsListResult,
|
|
27
27
|
)
|
|
28
|
-
from data_logger_api_sdk.types.api_bs_device_links import ApiBsDeviceLinkResponse
|
|
28
|
+
from data_logger_api_sdk.types.api_bs_device_links import ApiBsDeviceLinkResponse
|
|
29
29
|
from data_logger_api_sdk.types.api_bs_traffic_stats import ApiBsTrafficStatsResponse, ApiDeviceTrafficStatsQuery
|
|
30
30
|
from data_logger_api_sdk.types.api_uplink_signal import (
|
|
31
31
|
ApiDeviceUplinkSignalLatestResponse,
|
|
@@ -213,34 +213,27 @@ class DataLoggerApiSdk:
|
|
|
213
213
|
)
|
|
214
214
|
return ApiDeviceUplinkSignalsListResult(items=items, total_count=total_count)
|
|
215
215
|
|
|
216
|
-
def
|
|
216
|
+
def get_bs_device_links_for_bs(
|
|
217
217
|
self,
|
|
218
|
+
bs_id: UUID,
|
|
218
219
|
start_at: datetime,
|
|
219
220
|
end_at: datetime | None = None,
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
after_device_id: UUID | None = None,
|
|
223
|
-
) -> ApiBsDeviceLinksListResult:
|
|
224
|
-
"""GET /bs-device-links — связи «мак ↔ БС» за период («когда-либо» при start_at из далёкого прошлого).
|
|
221
|
+
) -> List[ApiBsDeviceLinkResponse]:
|
|
222
|
+
"""GET /bs-device-links?bs_id=… — связи «мак ↔ БС» одной БС за окно (~90 дней ночного синка).
|
|
225
223
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
total_count. Обход до пустой страницы — для ночного синка слоя
|
|
229
|
-
«Объекты и устройства».
|
|
224
|
+
Ответ капится сервером (DL_BS_LINKS_PER_BS_LIMIT, при переполнении
|
|
225
|
+
дробится окно); дедуп между под-окнами — на потребителе.
|
|
230
226
|
"""
|
|
231
|
-
query: Dict[str, Any] = {"
|
|
227
|
+
query: Dict[str, Any] = {"bs_id": str(bs_id), "start_at": start_at.isoformat()}
|
|
232
228
|
if end_at is not None:
|
|
233
229
|
query["end_at"] = end_at.isoformat()
|
|
234
|
-
if after_bs_id is not None and after_device_id is not None:
|
|
235
|
-
query["after_bs_id"] = str(after_bs_id)
|
|
236
|
-
query["after_device_id"] = str(after_device_id)
|
|
237
230
|
response = self._api.request(
|
|
238
231
|
method=ApiMethod.GET,
|
|
239
232
|
path="/bs-device-links",
|
|
240
233
|
json=None,
|
|
241
234
|
q=query,
|
|
242
235
|
).typed(List[ApiBsDeviceLinkResponse]).check()
|
|
243
|
-
return
|
|
236
|
+
return response.payload
|
|
244
237
|
|
|
245
238
|
def get_base_station(
|
|
246
239
|
self,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from pydantic import UUID4
|
|
2
|
+
from ul_api_utils.api_resource.api_response import JsonApiResponsePayload
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class ApiBsDeviceLinkResponse(JsonApiResponsePayload):
|
|
6
|
+
"""Связь «мак ↔ БС» за период: элемент ответа GET /bs-device-links.
|
|
7
|
+
|
|
8
|
+
bs_id — идентификатор БС Data Logger (у потребителя unified API —
|
|
9
|
+
external_bs_id); bs_identifier — серийный номер БС.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
device_network_mac: int
|
|
13
|
+
bs_id: UUID4
|
|
14
|
+
device_id: UUID4
|
|
15
|
+
bs_identifier: str
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
from typing import List, NamedTuple, Optional
|
|
2
|
-
|
|
3
|
-
from pydantic import UUID4
|
|
4
|
-
from ul_api_utils.api_resource.api_response import JsonApiResponsePayload
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class ApiBsDeviceLinkResponse(JsonApiResponsePayload):
|
|
8
|
-
"""Связь «мак ↔ БС» за период: элемент ответа GET /bs-device-links.
|
|
9
|
-
|
|
10
|
-
Пара существует, если БС когда-либо получала пакет устройства в
|
|
11
|
-
запрошенном окне (дистинкт по журналу device_log). bs_id — идентификатор
|
|
12
|
-
БС Data Logger (у потребителя unified API это external_bs_id);
|
|
13
|
-
bs_identifier — её серийный номер.
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
device_network_mac: int
|
|
17
|
-
bs_id: UUID4
|
|
18
|
-
device_id: UUID4
|
|
19
|
-
bs_identifier: str
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class ApiBsDeviceLinksListResult(NamedTuple):
|
|
23
|
-
"""Результат спискового вызова: страница элементов и total_count.
|
|
24
|
-
|
|
25
|
-
total_count приходит только на первой странице (без курсора); дальше —
|
|
26
|
-
None, обход идёт до пустой страницы.
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
items: List[ApiBsDeviceLinkResponse]
|
|
30
|
-
total_count: Optional[int]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul_data_logger_api_sdk-3.3.5 → ul_data_logger_api_sdk-3.4.0}/types/api_device_data_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|