ecapi-sdk 3.3.5__tar.gz → 3.3.8__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ecapi-sdk
3
- Version: 3.3.5
3
+ Version: 3.3.8
4
4
  Summary: ECAPI SDK for Python
5
5
  Author: EaseCation
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ecapi-sdk"
7
- version = "3.3.5"
7
+ version = "3.3.8"
8
8
  description = "ECAPI SDK for Python"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -265,26 +265,53 @@ class _BaseApi:
265
265
  request_kwargs, query_kwargs = _extract_request_kwargs(kwargs)
266
266
  return self._http.request("GET", path, query=query, **request_kwargs, **query_kwargs)
267
267
 
268
- def _post(self, path: str, body: Any = None, **kwargs: Any) -> Any:
268
+ def _post(
269
+ self,
270
+ path: str,
271
+ body: Any = None,
272
+ *,
273
+ query: Optional[QueryParams] = None,
274
+ **kwargs: Any,
275
+ ) -> Any:
269
276
  request_kwargs, query_kwargs = _extract_request_kwargs(kwargs)
270
- return self._http.request("POST", path, body=body, **request_kwargs, **query_kwargs)
277
+ return self._http.request(
278
+ "POST", path, query=query, body=body, **request_kwargs, **query_kwargs
279
+ )
271
280
 
272
- def _put(self, path: str, body: Any = None, **kwargs: Any) -> Any:
281
+ def _put(
282
+ self,
283
+ path: str,
284
+ body: Any = None,
285
+ *,
286
+ query: Optional[QueryParams] = None,
287
+ **kwargs: Any,
288
+ ) -> Any:
273
289
  request_kwargs, query_kwargs = _extract_request_kwargs(kwargs)
274
- return self._http.request("PUT", path, body=body, **request_kwargs, **query_kwargs)
290
+ return self._http.request(
291
+ "PUT", path, query=query, body=body, **request_kwargs, **query_kwargs
292
+ )
275
293
 
276
- def _patch(self, path: str, body: Any = None, **kwargs: Any) -> Any:
294
+ def _patch(
295
+ self,
296
+ path: str,
297
+ body: Any = None,
298
+ *,
299
+ query: Optional[QueryParams] = None,
300
+ **kwargs: Any,
301
+ ) -> Any:
277
302
  request_kwargs, query_kwargs = _extract_request_kwargs(kwargs)
278
- return self._http.request("PATCH", path, body=body, **request_kwargs, **query_kwargs)
303
+ return self._http.request(
304
+ "PATCH", path, query=query, body=body, **request_kwargs, **query_kwargs
305
+ )
279
306
 
280
307
  def _delete(self, path: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
281
308
  request_kwargs, query_kwargs = _extract_request_kwargs(kwargs)
282
309
  return self._http.request("DELETE", path, query=query, **request_kwargs, **query_kwargs)
283
310
 
284
311
  class PIT2API(_BaseApi):
285
- def get_draws(self, xuid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
286
- """分页查询 PIT2 抽奖会话"""
287
- return self._get(f"/pit2/players/{quote(str(xuid), safe='')}/gacha-draws", query, **kwargs)
312
+ def get_draws(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
313
+ """分页查询全服 PIT2 抽奖会话"""
314
+ return self._get(f"/pit2/gacha-draws", query, **kwargs)
288
315
 
289
316
  def get_ender_chest(self, xuid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
290
317
  """查询 PIT2 末影箱与备份"""
@@ -298,21 +325,25 @@ class PIT2API(_BaseApi):
298
325
  """查询 PIT2 背包与备份"""
299
326
  return self._get(f"/pit2/players/{quote(str(xuid), safe='')}/inventory", query, **kwargs)
300
327
 
328
+ def get_item_locations_by_uuid(self, itemUuid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
329
+ """分页查询 PIT2 唯一物品位置"""
330
+ return self._get(f"/pit2/items/{quote(str(itemUuid), safe='')}/locations", query, **kwargs)
331
+
301
332
  def get_mails(self, xuid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
302
333
  """分页查询 PIT2 邮箱"""
303
334
  return self._get(f"/pit2/players/{quote(str(xuid), safe='')}/mails", query, **kwargs)
304
335
 
305
- def get_payments(self, xuid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
306
- """分页查询 PIT2 支付记录"""
307
- return self._get(f"/pit2/players/{quote(str(xuid), safe='')}/gacha-payments", query, **kwargs)
336
+ def get_payments(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
337
+ """分页查询全服 PIT2 支付记录"""
338
+ return self._get(f"/pit2/gacha-payments", query, **kwargs)
308
339
 
309
340
  def get_player(self, xuid: str, **kwargs: Any) -> Any:
310
341
  """查询 PIT2 玩家资料"""
311
342
  return self._get(f"/pit2/players/{quote(str(xuid), safe='')}", None, **kwargs)
312
343
 
313
- def get_season_exchanges(self, xuid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
314
- """分页查询 PIT2 赛季兑换"""
315
- return self._get(f"/pit2/players/{quote(str(xuid), safe='')}/gacha-season-exchanges", query, **kwargs)
344
+ def get_season_exchanges(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
345
+ """分页查询全服 PIT2 赛季兑换"""
346
+ return self._get(f"/pit2/gacha-season-exchanges", query, **kwargs)
316
347
 
317
348
  def restore_ender_chest(self, xuid: str, payload: Mapping[str, Any], **kwargs: Any) -> Any:
318
349
  """恢复 PIT2 末影箱备份"""
@@ -322,6 +353,10 @@ class PIT2API(_BaseApi):
322
353
  """恢复 PIT2 背包备份"""
323
354
  return self._post(f"/pit2/players/{quote(str(xuid), safe='')}/inventory-restorations", payload, **kwargs)
324
355
 
356
+ def search_player_item_locations(self, xuid: str, payload: Mapping[str, Any], query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
357
+ """分页搜索 PIT2 玩家精确物品位置"""
358
+ return self._post(f"/pit2/players/{quote(str(xuid), safe='')}/item-location-searches", payload, query=query, **kwargs)
359
+
325
360
  def send_mail(self, xuid: str, payload: Mapping[str, Any], **kwargs: Any) -> Any:
326
361
  """发送 PIT2 奖励邮件"""
327
362
  return self._post(f"/pit2/players/{quote(str(xuid), safe='')}/mails", payload, **kwargs)
@@ -735,6 +770,18 @@ class PlayerAPI(_BaseApi):
735
770
  """获取玩家基础数据"""
736
771
  return self._get(f"/players/{quote(str(ecid), safe='')}/data", None, **kwargs)
737
772
 
773
+ def get_farm_archive(self, ecid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
774
+ """分页查询 EC 农场馆藏"""
775
+ return self._get(f"/players/{quote(str(ecid), safe='')}/farm/archive", query, **kwargs)
776
+
777
+ def get_farm_freshness_batches(self, ecid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
778
+ """分页查询 EC 农场加工品新鲜度批次"""
779
+ return self._get(f"/players/{quote(str(ecid), safe='')}/farm/freshness-batches", query, **kwargs)
780
+
781
+ def get_farm_overview(self, ecid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
782
+ """查询 EC 农场 S1 完整总览"""
783
+ return self._get(f"/players/{quote(str(ecid), safe='')}/farm/overview", query, **kwargs)
784
+
738
785
  def get_farm_summary(self, ecid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
739
786
  """查询 EC 农场摘要"""
740
787
  return self._get(f"/players/{quote(str(ecid), safe='')}/farm/summary", query, **kwargs)
@@ -10,6 +10,40 @@ Headers = Dict[str, str]
10
10
  AuthCredentials = Dict[str, str]
11
11
  AuthProvider = Callable[[], Union[Optional[AuthCredentials], Awaitable[Optional[AuthCredentials]]]]
12
12
 
13
+ class PIT2APIGetDrawsQuery(TypedDict, total=False):
14
+ current: QueryValue
15
+ pageSize: QueryValue
16
+ startTime: QueryValue
17
+ endTime: QueryValue
18
+ xuid: QueryValue
19
+ status: QueryValue
20
+ drawType: QueryValue
21
+
22
+ class PIT2APIGetPaymentsQuery(TypedDict, total=False):
23
+ current: QueryValue
24
+ pageSize: QueryValue
25
+ startTime: QueryValue
26
+ endTime: QueryValue
27
+ xuid: QueryValue
28
+ status: QueryValue
29
+ productId: QueryValue
30
+
31
+ class PIT2APIGetSeasonExchangesQuery(TypedDict, total=False):
32
+ current: QueryValue
33
+ pageSize: QueryValue
34
+ startTime: QueryValue
35
+ endTime: QueryValue
36
+ xuid: QueryValue
37
+ status: QueryValue
38
+ seasonId: QueryValue
39
+ itemKey: QueryValue
40
+
41
+ class PIT2APIGetItemLocationsByUuidQuery(TypedDict, total=False):
42
+ current: QueryValue
43
+ pageSize: QueryValue
44
+ startTime: QueryValue
45
+ endTime: QueryValue
46
+
13
47
  class PIT2APIUpdatePlayerBodyRequired(TypedDict):
14
48
  updates: Sequence[Any]
15
49
 
@@ -36,31 +70,6 @@ class PIT2APIRestoreEnderChestBodyRequired(TypedDict):
36
70
  class PIT2APIRestoreEnderChestBody(PIT2APIRestoreEnderChestBodyRequired, total=False):
37
71
  pass
38
72
 
39
- class PIT2APIGetDrawsQuery(TypedDict, total=False):
40
- current: QueryValue
41
- pageSize: QueryValue
42
- startTime: QueryValue
43
- endTime: QueryValue
44
- status: QueryValue
45
- drawType: QueryValue
46
-
47
- class PIT2APIGetPaymentsQuery(TypedDict, total=False):
48
- current: QueryValue
49
- pageSize: QueryValue
50
- startTime: QueryValue
51
- endTime: QueryValue
52
- status: QueryValue
53
- productId: QueryValue
54
-
55
- class PIT2APIGetSeasonExchangesQuery(TypedDict, total=False):
56
- current: QueryValue
57
- pageSize: QueryValue
58
- startTime: QueryValue
59
- endTime: QueryValue
60
- status: QueryValue
61
- seasonId: QueryValue
62
- itemKey: QueryValue
63
-
64
73
  class PIT2APIGetInventoryQuery(TypedDict, total=False):
65
74
  current: QueryValue
66
75
  pageSize: QueryValue
@@ -81,6 +90,18 @@ class PIT2APIRestoreInventoryBodyRequired(TypedDict):
81
90
  class PIT2APIRestoreInventoryBody(PIT2APIRestoreInventoryBodyRequired, total=False):
82
91
  pass
83
92
 
93
+ class PIT2APISearchPlayerItemLocationsQuery(TypedDict, total=False):
94
+ current: QueryValue
95
+ pageSize: QueryValue
96
+ startTime: QueryValue
97
+ endTime: QueryValue
98
+
99
+ class PIT2APISearchPlayerItemLocationsBodyRequired(TypedDict):
100
+ serializedItemStack: str
101
+
102
+ class PIT2APISearchPlayerItemLocationsBody(PIT2APISearchPlayerItemLocationsBodyRequired, total=False):
103
+ pass
104
+
84
105
  class PIT2APIGetMailsQuery(TypedDict, total=False):
85
106
  current: QueryValue
86
107
  pageSize: QueryValue
@@ -585,6 +606,26 @@ class PlayerAPISearchQueryRequired(TypedDict):
585
606
  class PlayerAPISearchQuery(PlayerAPISearchQueryRequired, total=False):
586
607
  pass
587
608
 
609
+ class PlayerAPIGetFarmArchiveQuery(TypedDict, total=False):
610
+ current: QueryValue
611
+ pageSize: QueryValue
612
+ startTime: QueryValue
613
+ endTime: QueryValue
614
+ displayed: QueryValue
615
+ itemId: QueryValue
616
+
617
+ class PlayerAPIGetFarmFreshnessBatchesQuery(TypedDict, total=False):
618
+ current: QueryValue
619
+ pageSize: QueryValue
620
+ startTime: QueryValue
621
+ endTime: QueryValue
622
+ itemId: QueryValue
623
+ includeConsumed: QueryValue
624
+ order: QueryValue
625
+
626
+ class PlayerAPIGetFarmOverviewQuery(TypedDict, total=False):
627
+ recentLimit: QueryValue
628
+
588
629
  class PlayerAPIGetFarmSummaryQuery(TypedDict, total=False):
589
630
  recentSpendLimit: QueryValue
590
631
 
@@ -970,16 +1011,18 @@ class ECAPIError(Exception):
970
1011
  def __init__(self, message: str, status: int, payload: Any, url: str) -> None: ...
971
1012
 
972
1013
  class PIT2API:
973
- def get_draws(self, xuid: str, query: Optional[PIT2APIGetDrawsQuery] = ..., **kwargs: Any) -> Any: ...
1014
+ def get_draws(self, query: Optional[PIT2APIGetDrawsQuery] = ..., **kwargs: Any) -> Any: ...
974
1015
  def get_ender_chest(self, xuid: str, query: Optional[PIT2APIGetEnderChestQuery] = ..., **kwargs: Any) -> Any: ...
975
1016
  def get_event_queue(self, **kwargs: Any) -> Any: ...
976
1017
  def get_inventory(self, xuid: str, query: Optional[PIT2APIGetInventoryQuery] = ..., **kwargs: Any) -> Any: ...
1018
+ def get_item_locations_by_uuid(self, itemUuid: str, query: Optional[PIT2APIGetItemLocationsByUuidQuery] = ..., **kwargs: Any) -> Any: ...
977
1019
  def get_mails(self, xuid: str, query: Optional[PIT2APIGetMailsQuery] = ..., **kwargs: Any) -> Any: ...
978
- def get_payments(self, xuid: str, query: Optional[PIT2APIGetPaymentsQuery] = ..., **kwargs: Any) -> Any: ...
1020
+ def get_payments(self, query: Optional[PIT2APIGetPaymentsQuery] = ..., **kwargs: Any) -> Any: ...
979
1021
  def get_player(self, xuid: str, **kwargs: Any) -> Any: ...
980
- def get_season_exchanges(self, xuid: str, query: Optional[PIT2APIGetSeasonExchangesQuery] = ..., **kwargs: Any) -> Any: ...
1022
+ def get_season_exchanges(self, query: Optional[PIT2APIGetSeasonExchangesQuery] = ..., **kwargs: Any) -> Any: ...
981
1023
  def restore_ender_chest(self, xuid: str, payload: PIT2APIRestoreEnderChestBody, **kwargs: Any) -> Any: ...
982
1024
  def restore_inventory(self, xuid: str, payload: PIT2APIRestoreInventoryBody, **kwargs: Any) -> Any: ...
1025
+ def search_player_item_locations(self, xuid: str, payload: PIT2APISearchPlayerItemLocationsBody, query: Optional[PIT2APISearchPlayerItemLocationsQuery] = ..., **kwargs: Any) -> Any: ...
983
1026
  def send_mail(self, xuid: str, payload: PIT2APISendMailBody, **kwargs: Any) -> Any: ...
984
1027
  def update_ender_chest(self, xuid: str, payload: PIT2APIUpdateEnderChestBody, **kwargs: Any) -> Any: ...
985
1028
  def update_inventory(self, xuid: str, payload: PIT2APIUpdateInventoryBody, **kwargs: Any) -> Any: ...
@@ -1136,6 +1179,9 @@ class PlayerAPI:
1136
1179
  status: PlayerStatusAPI
1137
1180
  year_summary: PlayerYearSummaryAPI
1138
1181
  def get_data(self, ecid: str, **kwargs: Any) -> Any: ...
1182
+ def get_farm_archive(self, ecid: str, query: Optional[PlayerAPIGetFarmArchiveQuery] = ..., **kwargs: Any) -> Any: ...
1183
+ def get_farm_freshness_batches(self, ecid: str, query: Optional[PlayerAPIGetFarmFreshnessBatchesQuery] = ..., **kwargs: Any) -> Any: ...
1184
+ def get_farm_overview(self, ecid: str, query: Optional[PlayerAPIGetFarmOverviewQuery] = ..., **kwargs: Any) -> Any: ...
1139
1185
  def get_farm_summary(self, ecid: str, query: Optional[PlayerAPIGetFarmSummaryQuery] = ..., **kwargs: Any) -> Any: ...
1140
1186
  def get_friends(self, ecid: str, query: Optional[PlayerAPIGetFriendsQuery] = ..., **kwargs: Any) -> Any: ...
1141
1187
  def get_head_icon(self, ecid: str, query: Optional[PlayerAPIGetHeadIconQuery] = ..., **kwargs: Any) -> Any: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ecapi-sdk
3
- Version: 3.3.5
3
+ Version: 3.3.8
4
4
  Summary: ECAPI SDK for Python
5
5
  Author: EaseCation
6
6
  License: MIT
File without changes
File without changes