p115client 0.0.5.11.11__py3-none-any.whl → 0.0.5.12__py3-none-any.whl

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.
p115client/client.py CHANGED
@@ -17730,32 +17730,35 @@ class P115Client(P115OpenClient):
17730
17730
  ########## Offline Download API ##########
17731
17731
 
17732
17732
  @overload
17733
- def _offline_web_post(
17733
+ def _offline_web_request(
17734
17734
  self,
17735
- payload: dict,
17735
+ payload: dict = {},
17736
17736
  /,
17737
17737
  ac: str = "",
17738
+ method: str = "POST",
17738
17739
  *,
17739
17740
  async_: Literal[False] = False,
17740
17741
  **request_kwargs,
17741
17742
  ) -> dict:
17742
17743
  ...
17743
17744
  @overload
17744
- def _offline_web_post(
17745
+ def _offline_web_request(
17745
17746
  self,
17746
- payload: dict,
17747
+ payload: dict = {},
17747
17748
  /,
17748
17749
  ac: str = "",
17750
+ method: str = "POST",
17749
17751
  *,
17750
17752
  async_: Literal[True],
17751
17753
  **request_kwargs,
17752
17754
  ) -> Coroutine[Any, Any, dict]:
17753
17755
  ...
17754
- def _offline_web_post(
17756
+ def _offline_web_request(
17755
17757
  self,
17756
- payload: dict,
17758
+ payload: dict = {},
17757
17759
  /,
17758
17760
  ac: str = "",
17761
+ method: str = "POST",
17759
17762
  *,
17760
17763
  async_: Literal[False, True] = False,
17761
17764
  **request_kwargs,
@@ -17763,41 +17766,47 @@ class P115Client(P115OpenClient):
17763
17766
  api = "http://lixian.115.com/web/lixian/"
17764
17767
  if ac:
17765
17768
  payload["ac"] = ac
17769
+ if method.upper() == "POST":
17770
+ request_kwargs["data"] = payload
17771
+ else:
17772
+ request_kwargs["params"] = payload
17766
17773
  return self.request(
17767
17774
  url=api,
17768
- method="POST",
17769
- data=payload,
17775
+ method=method,
17770
17776
  async_=async_,
17771
17777
  **request_kwargs,
17772
17778
  )
17773
17779
 
17774
17780
  @overload
17775
- def _offline_lixian_post(
17781
+ def _offline_lixian_request(
17776
17782
  self,
17777
- payload: dict,
17783
+ payload: dict = {},
17778
17784
  /,
17779
17785
  ac: str = "",
17786
+ method: str = "POST",
17780
17787
  *,
17781
17788
  async_: Literal[False] = False,
17782
17789
  **request_kwargs,
17783
17790
  ) -> dict:
17784
17791
  ...
17785
17792
  @overload
17786
- def _offline_lixian_post(
17793
+ def _offline_lixian_request(
17787
17794
  self,
17788
- payload: dict,
17795
+ payload: dict = {},
17789
17796
  /,
17790
17797
  ac: str = "",
17798
+ method: str = "POST",
17791
17799
  *,
17792
17800
  async_: Literal[True],
17793
17801
  **request_kwargs,
17794
17802
  ) -> Coroutine[Any, Any, dict]:
17795
17803
  ...
17796
- def _offline_lixian_post(
17804
+ def _offline_lixian_request(
17797
17805
  self,
17798
- payload: dict,
17806
+ payload: dict = {},
17799
17807
  /,
17800
17808
  ac: str = "",
17809
+ method: str = "POST",
17801
17810
  *,
17802
17811
  async_: Literal[False, True] = False,
17803
17812
  **request_kwargs,
@@ -17805,19 +17814,22 @@ class P115Client(P115OpenClient):
17805
17814
  api = "http://lixian.115.com/lixian/"
17806
17815
  if ac:
17807
17816
  payload["ac"] = ac
17808
- request_kwargs["ecdh_encrypt"] = True
17817
+ if method.upper() == "POST":
17818
+ request_kwargs["data"] = payload
17819
+ request_kwargs["ecdh_encrypt"] = True
17820
+ else:
17821
+ request_kwargs["params"] = payload
17809
17822
  return self.request(
17810
17823
  url=api,
17811
- method="POST",
17812
- data=payload,
17824
+ method=method,
17813
17825
  async_=async_,
17814
17826
  **request_kwargs,
17815
17827
  )
17816
17828
 
17817
17829
  @overload
17818
- def _offline_lixianssp_post(
17830
+ def _offline_lixianssp_request(
17819
17831
  self,
17820
- payload: dict,
17832
+ payload: dict = {},
17821
17833
  /,
17822
17834
  ac: str = "",
17823
17835
  *,
@@ -17826,9 +17838,9 @@ class P115Client(P115OpenClient):
17826
17838
  ) -> dict:
17827
17839
  ...
17828
17840
  @overload
17829
- def _offline_lixianssp_post(
17841
+ def _offline_lixianssp_request(
17830
17842
  self,
17831
- payload: dict,
17843
+ payload: dict = {},
17832
17844
  /,
17833
17845
  ac: str = "",
17834
17846
  *,
@@ -17836,9 +17848,9 @@ class P115Client(P115OpenClient):
17836
17848
  **request_kwargs,
17837
17849
  ) -> Coroutine[Any, Any, dict]:
17838
17850
  ...
17839
- def _offline_lixianssp_post(
17851
+ def _offline_lixianssp_request(
17840
17852
  self,
17841
- payload: dict,
17853
+ payload: dict = {},
17842
17854
  /,
17843
17855
  ac: str = "",
17844
17856
  *,
@@ -17846,6 +17858,7 @@ class P115Client(P115OpenClient):
17846
17858
  **request_kwargs,
17847
17859
  ) -> dict | Coroutine[Any, Any, dict]:
17848
17860
  api = "http://lixian.115.com/lixianssp/"
17861
+ request_kwargs["method"] = "POST"
17849
17862
  for k, v in payload.items():
17850
17863
  payload[k] = str(v)
17851
17864
  if ac:
@@ -17867,61 +17880,81 @@ class P115Client(P115OpenClient):
17867
17880
  request_kwargs.setdefault("parse", parse)
17868
17881
  return self.request(
17869
17882
  url=api,
17870
- method="POST",
17871
17883
  data={"data": rsa_encode(dumps(payload)).decode("ascii")},
17872
17884
  async_=async_,
17873
17885
  **request_kwargs,
17874
17886
  )
17875
17887
 
17876
17888
  @overload
17877
- def _offline_post(
17889
+ def _offline_request(
17878
17890
  self,
17879
- payload: dict,
17891
+ payload: dict = {},
17880
17892
  /,
17881
17893
  ac: str = "",
17882
- use_web_api: bool = False,
17894
+ method: str = "POST",
17895
+ type: Literal[None, "", "web", "ssp"] = None,
17896
+ base_url: None | bool | str | Callable[[], str] = None,
17883
17897
  *,
17884
17898
  async_: Literal[False] = False,
17885
17899
  **request_kwargs,
17886
17900
  ) -> dict:
17887
17901
  ...
17888
17902
  @overload
17889
- def _offline_post(
17903
+ def _offline_request(
17890
17904
  self,
17891
- payload: dict,
17905
+ payload: dict = {},
17892
17906
  /,
17893
17907
  ac: str = "",
17894
- use_web_api: bool = False,
17908
+ method: str = "POST",
17909
+ type: Literal[None, "", "web", "ssp"] = None,
17910
+ base_url: None | bool | str | Callable[[], str] = None,
17895
17911
  *,
17896
17912
  async_: Literal[True],
17897
17913
  **request_kwargs,
17898
17914
  ) -> Coroutine[Any, Any, dict]:
17899
17915
  ...
17900
- def _offline_post(
17916
+ def _offline_request(
17901
17917
  self,
17902
- payload: dict,
17918
+ payload: dict = {},
17903
17919
  /,
17904
17920
  ac: str = "",
17905
- use_web_api: bool = False,
17921
+ method: str = "POST",
17922
+ type: Literal[None, "", "web", "ssp"] = None,
17923
+ base_url: None | bool | str | Callable[[], str] = None,
17906
17924
  *,
17907
17925
  async_: Literal[False, True] = False,
17908
- ecdh_encrypt: bool = False,
17909
17926
  **request_kwargs,
17910
17927
  ) -> dict | Coroutine[Any, Any, dict]:
17911
- if use_web_api:
17912
- method = self._offline_web_post
17913
- elif ecdh_encrypt:
17914
- method = self._offline_lixian_post
17915
- else:
17916
- method = self._offline_lixianssp_post
17917
- return method(payload, ac, async_=async_, ecdh_encrypt=ecdh_encrypt, **request_kwargs)
17928
+ if type is None:
17929
+ api = complete_lixian_api("?ct=lixian&ac="+ac, base_url=base_url)
17930
+ if method.upper() == "POST":
17931
+ request_kwargs["data"] = payload
17932
+ else:
17933
+ request_kwargs["params"] = payload
17934
+ return self.request(url=api, method=method, async_=async_, **request_kwargs)
17935
+ match type:
17936
+ case "web":
17937
+ call: Callable = self._offline_web_request
17938
+ case "ssp":
17939
+ call = self._offline_lixianssp_request
17940
+ case _:
17941
+ call = self._offline_lixian_request
17942
+ return call(
17943
+ payload,
17944
+ ac,
17945
+ method=method,
17946
+ async_=async_,
17947
+ **request_kwargs,
17948
+ )
17918
17949
 
17919
- @overload # type: ignore
17950
+ @overload
17920
17951
  def offline_add_torrent(
17921
17952
  self,
17922
17953
  payload: str | dict,
17923
17954
  /,
17924
- use_web_api: bool = False,
17955
+ base_url: None | bool | str | Callable[[], str] = None,
17956
+ method: str = "POST",
17957
+ type: Literal[None, "", "web", "ssp"] = "ssp",
17925
17958
  *,
17926
17959
  async_: Literal[False] = False,
17927
17960
  **request_kwargs,
@@ -17932,7 +17965,9 @@ class P115Client(P115OpenClient):
17932
17965
  self,
17933
17966
  payload: str | dict,
17934
17967
  /,
17935
- use_web_api: bool = False,
17968
+ base_url: None | bool | str | Callable[[], str] = None,
17969
+ method: str = "POST",
17970
+ type: Literal[None, "", "web", "ssp"] = "ssp",
17936
17971
  *,
17937
17972
  async_: Literal[True],
17938
17973
  **request_kwargs,
@@ -17942,7 +17977,9 @@ class P115Client(P115OpenClient):
17942
17977
  self,
17943
17978
  payload: str | dict,
17944
17979
  /,
17945
- use_web_api: bool = False,
17980
+ base_url: None | bool | str | Callable[[], str] = None,
17981
+ method: str = "POST",
17982
+ type: Literal[None, "", "web", "ssp"] = "ssp",
17946
17983
  *,
17947
17984
  async_: Literal[False, True] = False,
17948
17985
  **request_kwargs,
@@ -17964,14 +18001,24 @@ class P115Client(P115OpenClient):
17964
18001
  """
17965
18002
  if isinstance(payload, str):
17966
18003
  payload = {"info_hash": payload}
17967
- return self._offline_post(payload, "add_task_bt", use_web_api=use_web_api, async_=async_, **request_kwargs)
18004
+ return self._offline_request(
18005
+ payload,
18006
+ "add_task_bt",
18007
+ method=method,
18008
+ type=type,
18009
+ base_url=base_url,
18010
+ async_=async_,
18011
+ **request_kwargs,
18012
+ )
17968
18013
 
17969
18014
  @overload
17970
18015
  def offline_add_url(
17971
18016
  self,
17972
18017
  payload: str | dict,
17973
18018
  /,
17974
- use_web_api: bool = False,
18019
+ base_url: None | bool | str | Callable[[], str] = None,
18020
+ method: str = "POST",
18021
+ type: Literal[None, "", "web", "ssp"] = "ssp",
17975
18022
  *,
17976
18023
  async_: Literal[False] = False,
17977
18024
  **request_kwargs,
@@ -17982,7 +18029,9 @@ class P115Client(P115OpenClient):
17982
18029
  self,
17983
18030
  payload: str | dict,
17984
18031
  /,
17985
- use_web_api: bool = False,
18032
+ base_url: None | bool | str | Callable[[], str] = None,
18033
+ method: str = "POST",
18034
+ type: Literal[None, "", "web", "ssp"] = "ssp",
17986
18035
  *,
17987
18036
  async_: Literal[True],
17988
18037
  **request_kwargs,
@@ -17992,7 +18041,9 @@ class P115Client(P115OpenClient):
17992
18041
  self,
17993
18042
  payload: str | dict,
17994
18043
  /,
17995
- use_web_api: bool = False,
18044
+ base_url: None | bool | str | Callable[[], str] = None,
18045
+ method: str = "POST",
18046
+ type: Literal[None, "", "web", "ssp"] = "ssp",
17996
18047
  *,
17997
18048
  async_: Literal[False, True] = False,
17998
18049
  **request_kwargs,
@@ -18008,14 +18059,24 @@ class P115Client(P115OpenClient):
18008
18059
  """
18009
18060
  if isinstance(payload, str):
18010
18061
  payload = {"url": payload}
18011
- return self._offline_post(payload, "add_task_url", use_web_api=use_web_api, async_=async_, **request_kwargs)
18062
+ return self._offline_request(
18063
+ payload,
18064
+ "add_task_url",
18065
+ method=method,
18066
+ type=type,
18067
+ base_url=base_url,
18068
+ async_=async_,
18069
+ **request_kwargs,
18070
+ )
18012
18071
 
18013
- @overload # type: ignore
18072
+ @overload
18014
18073
  def offline_add_urls(
18015
18074
  self,
18016
18075
  payload: str | Iterable[str] | dict,
18017
18076
  /,
18018
- use_web_api: bool = False,
18077
+ base_url: None | bool | str | Callable[[], str] = None,
18078
+ method: str = "POST",
18079
+ type: Literal[None, "", "web", "ssp"] = "ssp",
18019
18080
  *,
18020
18081
  async_: Literal[False] = False,
18021
18082
  **request_kwargs,
@@ -18026,7 +18087,9 @@ class P115Client(P115OpenClient):
18026
18087
  self,
18027
18088
  payload: str | Iterable[str] | dict,
18028
18089
  /,
18029
- use_web_api: bool = False,
18090
+ base_url: None | bool | str | Callable[[], str] = None,
18091
+ method: str = "POST",
18092
+ type: Literal[None, "", "web", "ssp"] = "ssp",
18030
18093
  *,
18031
18094
  async_: Literal[True],
18032
18095
  **request_kwargs,
@@ -18036,7 +18099,9 @@ class P115Client(P115OpenClient):
18036
18099
  self,
18037
18100
  payload: str | Iterable[str] | dict,
18038
18101
  /,
18039
- use_web_api: bool = False,
18102
+ base_url: None | bool | str | Callable[[], str] = None,
18103
+ method: str = "POST",
18104
+ type: Literal[None, "", "web", "ssp"] = "ssp",
18040
18105
  *,
18041
18106
  async_: Literal[False, True] = False,
18042
18107
  **request_kwargs,
@@ -18059,7 +18124,15 @@ class P115Client(P115OpenClient):
18059
18124
  payload = {f"url[{i}]": url for i, url in enumerate(payload) if url}
18060
18125
  if not payload:
18061
18126
  raise ValueError("no `url` specified")
18062
- return self._offline_post(payload, "add_task_urls", use_web_api=use_web_api, async_=async_, **request_kwargs)
18127
+ return self._offline_request(
18128
+ payload,
18129
+ "add_task_urls",
18130
+ method=method,
18131
+ type=type,
18132
+ base_url=base_url,
18133
+ async_=async_,
18134
+ **request_kwargs,
18135
+ )
18063
18136
 
18064
18137
  @overload
18065
18138
  def offline_clear(
@@ -18067,6 +18140,8 @@ class P115Client(P115OpenClient):
18067
18140
  payload: int | dict = 0,
18068
18141
  /,
18069
18142
  base_url: None | bool | str | Callable[[], str] = None,
18143
+ method: str = "POST",
18144
+ type: Literal[None, "", "web", "ssp"] = None,
18070
18145
  *,
18071
18146
  async_: Literal[False] = False,
18072
18147
  **request_kwargs,
@@ -18078,6 +18153,8 @@ class P115Client(P115OpenClient):
18078
18153
  payload: int | dict = 0,
18079
18154
  /,
18080
18155
  base_url: None | bool | str | Callable[[], str] = None,
18156
+ method: str = "POST",
18157
+ type: Literal[None, "", "web", "ssp"] = None,
18081
18158
  *,
18082
18159
  async_: Literal[True],
18083
18160
  **request_kwargs,
@@ -18088,13 +18165,15 @@ class P115Client(P115OpenClient):
18088
18165
  payload: int | dict = 0,
18089
18166
  /,
18090
18167
  base_url: None | bool | str | Callable[[], str] = None,
18168
+ method: str = "POST",
18169
+ type: Literal[None, "", "web", "ssp"] = None,
18091
18170
  *,
18092
18171
  async_: Literal[False, True] = False,
18093
18172
  **request_kwargs,
18094
18173
  ) -> dict | Coroutine[Any, Any, dict]:
18095
18174
  """清空离线任务列表
18096
18175
 
18097
- POST https://115.com/web/lixian/?ct=lixian&ac=task_clear
18176
+ POST https://lixian.115.com/lixian/?ac=task_clear
18098
18177
 
18099
18178
  :payload:
18100
18179
  - flag: int = 0 💡 标识,用于对应某种情况
@@ -18106,10 +18185,17 @@ class P115Client(P115OpenClient):
18106
18185
  - 4: 已完成+删除源文件
18107
18186
  - 5: 全部+删除源文件
18108
18187
  """
18109
- api = complete_lixian_api("?ct=lixian&ac=task_clear", base_url=base_url)
18110
18188
  if isinstance(payload, int):
18111
18189
  payload = {"flag": payload}
18112
- return self.request(url=api, method="POST", data=payload, async_=async_, **request_kwargs)
18190
+ return self._offline_request(
18191
+ payload,
18192
+ "task_clear",
18193
+ method=method,
18194
+ type=type,
18195
+ base_url=base_url,
18196
+ async_=async_,
18197
+ **request_kwargs,
18198
+ )
18113
18199
 
18114
18200
  @overload
18115
18201
  def offline_download_path(
@@ -18146,6 +18232,49 @@ class P115Client(P115OpenClient):
18146
18232
  api = complete_webapi("/offine/downpath", base_url=base_url)
18147
18233
  return self.request(url=api, async_=async_, **request_kwargs)
18148
18234
 
18235
+ @overload
18236
+ def offline_download_path_set(
18237
+ self,
18238
+ payload: int | str | dict,
18239
+ /,
18240
+ base_url: bool | str | Callable[[], str] = False,
18241
+ *,
18242
+ async_: Literal[False] = False,
18243
+ **request_kwargs,
18244
+ ) -> dict:
18245
+ ...
18246
+ @overload
18247
+ def offline_download_path_set(
18248
+ self,
18249
+ payload: int | str | dict,
18250
+ /,
18251
+ base_url: bool | str | Callable[[], str] = False,
18252
+ *,
18253
+ async_: Literal[True],
18254
+ **request_kwargs,
18255
+ ) -> Coroutine[Any, Any, dict]:
18256
+ ...
18257
+ def offline_download_path_set(
18258
+ self,
18259
+ payload: int | str | dict,
18260
+ /,
18261
+ base_url: bool | str | Callable[[], str] = False,
18262
+ *,
18263
+ async_: Literal[False, True] = False,
18264
+ **request_kwargs,
18265
+ ) -> dict | Coroutine[Any, Any, dict]:
18266
+ """设置默认选择的离线下载到的目录信息
18267
+
18268
+ POST https://webapi.115.com/offine/downpath
18269
+
18270
+ :payload:
18271
+ - file_id: int | str 💡 目录 id
18272
+ """
18273
+ api = complete_webapi("/offine/downpath", base_url=base_url)
18274
+ if isinstance(payload, (int, str)):
18275
+ payload = {"file_id": payload}
18276
+ return self.request(url=api, method="POST", data=payload, async_=async_, **request_kwargs)
18277
+
18149
18278
  @overload
18150
18279
  def offline_info(
18151
18280
  self,
@@ -18181,12 +18310,14 @@ class P115Client(P115OpenClient):
18181
18310
  api = complete_api("/?ct=offline&ac=space", base_url=base_url)
18182
18311
  return self.request(url=api, async_=async_, **request_kwargs)
18183
18312
 
18184
- @overload # type: ignore
18313
+ @overload
18185
18314
  def offline_list(
18186
18315
  self,
18187
18316
  payload: int | dict = 1,
18188
18317
  /,
18189
18318
  base_url: None | bool | str | Callable[[], str] = None,
18319
+ method: str = "GET",
18320
+ type: Literal[None, "", "web", "ssp"] = None,
18190
18321
  *,
18191
18322
  async_: Literal[False] = False,
18192
18323
  **request_kwargs,
@@ -18195,9 +18326,11 @@ class P115Client(P115OpenClient):
18195
18326
  @overload
18196
18327
  def offline_list(
18197
18328
  self,
18198
- payload: int | dict,
18329
+ payload: int | dict = 1,
18199
18330
  /,
18200
18331
  base_url: None | bool | str | Callable[[], str] = None,
18332
+ method: str = "GET",
18333
+ type: Literal[None, "", "web", "ssp"] = None,
18201
18334
  *,
18202
18335
  async_: Literal[True],
18203
18336
  **request_kwargs,
@@ -18208,27 +18341,38 @@ class P115Client(P115OpenClient):
18208
18341
  payload: int | dict = 1,
18209
18342
  /,
18210
18343
  base_url: None | bool | str | Callable[[], str] = None,
18344
+ method: str = "GET",
18345
+ type: Literal[None, "", "web", "ssp"] = None,
18211
18346
  *,
18212
18347
  async_: Literal[False, True] = False,
18213
18348
  **request_kwargs,
18214
18349
  ) -> dict | Coroutine[Any, Any, dict]:
18215
18350
  """获取当前的离线任务列表
18216
18351
 
18217
- POST https://lixian.115.com/lixian/?ct=lixian&ac=task_lists
18352
+ GET https://lixian.115.com/lixian/?ac=task_lists
18218
18353
 
18219
18354
  :payload:
18220
18355
  - page: int | str = 1
18221
18356
  """
18222
- api = complete_lixian_api("?ct=lixian&ac=task_lists", base_url=base_url)
18223
18357
  if isinstance(payload, int):
18224
18358
  payload = {"page": payload}
18225
- return self.request(url=api, method="POST", data=payload, async_=async_, **request_kwargs)
18359
+ return self._offline_request(
18360
+ payload,
18361
+ "task_lists",
18362
+ method=method,
18363
+ type=type,
18364
+ base_url=base_url,
18365
+ async_=async_,
18366
+ **request_kwargs,
18367
+ )
18226
18368
 
18227
18369
  @overload
18228
18370
  def offline_quota_info(
18229
18371
  self,
18230
18372
  /,
18231
18373
  base_url: None | bool | str | Callable[[], str] = None,
18374
+ method: str = "GET",
18375
+ type: Literal[None, "", "web", "ssp"] = None,
18232
18376
  *,
18233
18377
  async_: Literal[False] = False,
18234
18378
  **request_kwargs,
@@ -18239,6 +18383,8 @@ class P115Client(P115OpenClient):
18239
18383
  self,
18240
18384
  /,
18241
18385
  base_url: None | bool | str | Callable[[], str] = None,
18386
+ method: str = "GET",
18387
+ type: Literal[None, "", "web", "ssp"] = None,
18242
18388
  *,
18243
18389
  async_: Literal[True],
18244
18390
  **request_kwargs,
@@ -18248,22 +18394,32 @@ class P115Client(P115OpenClient):
18248
18394
  self,
18249
18395
  /,
18250
18396
  base_url: None | bool | str | Callable[[], str] = None,
18397
+ method: str = "GET",
18398
+ type: Literal[None, "", "web", "ssp"] = None,
18251
18399
  *,
18252
18400
  async_: Literal[False, True] = False,
18253
18401
  **request_kwargs,
18254
18402
  ) -> dict | Coroutine[Any, Any, dict]:
18255
18403
  """获取当前离线配额信息(简略)
18256
18404
 
18257
- GET https://lixian.115.com/lixian/?ct=lixian&ac=get_quota_info
18405
+ GET https://lixian.115.com/lixian/?ac=get_quota_info
18258
18406
  """
18259
- api = complete_lixian_api("?ct=lixian&ac=get_quota_info", base_url=base_url)
18260
- return self.request(url=api, async_=async_, **request_kwargs)
18407
+ return self._offline_request(
18408
+ ac="get_quota_info",
18409
+ method=method,
18410
+ type=type,
18411
+ base_url=base_url,
18412
+ async_=async_,
18413
+ **request_kwargs,
18414
+ )
18261
18415
 
18262
18416
  @overload
18263
18417
  def offline_quota_package_array(
18264
18418
  self,
18265
18419
  /,
18266
18420
  base_url: None | bool | str | Callable[[], str] = None,
18421
+ method: str = "GET",
18422
+ type: Literal[None, "", "web", "ssp"] = None,
18267
18423
  *,
18268
18424
  async_: Literal[False] = False,
18269
18425
  **request_kwargs,
@@ -18274,6 +18430,8 @@ class P115Client(P115OpenClient):
18274
18430
  self,
18275
18431
  /,
18276
18432
  base_url: None | bool | str | Callable[[], str] = None,
18433
+ method: str = "GET",
18434
+ type: Literal[None, "", "web", "ssp"] = None,
18277
18435
  *,
18278
18436
  async_: Literal[True],
18279
18437
  **request_kwargs,
@@ -18283,22 +18441,32 @@ class P115Client(P115OpenClient):
18283
18441
  self,
18284
18442
  /,
18285
18443
  base_url: None | bool | str | Callable[[], str] = None,
18444
+ method: str = "GET",
18445
+ type: Literal[None, "", "web", "ssp"] = None,
18286
18446
  *,
18287
18447
  async_: Literal[False, True] = False,
18288
18448
  **request_kwargs,
18289
18449
  ) -> dict | Coroutine[Any, Any, dict]:
18290
18450
  """获取当前离线配额信息(详细)
18291
18451
 
18292
- GET https://lixian.115.com/lixian/?ct=lixian&ac=get_quota_package_array
18452
+ GET https://lixian.115.com/lixian/?ac=get_quota_package_array
18293
18453
  """
18294
- api = complete_lixian_api("?ct=lixian&ac=get_quota_package_array", base_url=base_url)
18295
- return self.request(url=api, async_=async_, **request_kwargs)
18454
+ return self._offline_request(
18455
+ ac="get_quota_package_array",
18456
+ method=method,
18457
+ type=type,
18458
+ base_url=base_url,
18459
+ async_=async_,
18460
+ **request_kwargs,
18461
+ )
18296
18462
 
18297
18463
  @overload
18298
18464
  def offline_quota_package_info(
18299
18465
  self,
18300
18466
  /,
18301
18467
  base_url: None | bool | str | Callable[[], str] = None,
18468
+ method: str = "GET",
18469
+ type: Literal[None, "", "web", "ssp"] = None,
18302
18470
  *,
18303
18471
  async_: Literal[False] = False,
18304
18472
  **request_kwargs,
@@ -18309,6 +18477,8 @@ class P115Client(P115OpenClient):
18309
18477
  self,
18310
18478
  /,
18311
18479
  base_url: None | bool | str | Callable[[], str] = None,
18480
+ method: str = "GET",
18481
+ type: Literal[None, "", "web", "ssp"] = None,
18312
18482
  *,
18313
18483
  async_: Literal[True],
18314
18484
  **request_kwargs,
@@ -18318,16 +18488,24 @@ class P115Client(P115OpenClient):
18318
18488
  self,
18319
18489
  /,
18320
18490
  base_url: None | bool | str | Callable[[], str] = None,
18491
+ method: str = "GET",
18492
+ type: Literal[None, "", "web", "ssp"] = None,
18321
18493
  *,
18322
18494
  async_: Literal[False, True] = False,
18323
18495
  **request_kwargs,
18324
18496
  ) -> dict | Coroutine[Any, Any, dict]:
18325
18497
  """获取当前离线配额信息(详细)
18326
18498
 
18327
- GET https://lixian.115.com/lixian/?ct=lixian&ac=get_quota_package_info
18499
+ GET https://lixian.115.com/lixian/?ac=get_quota_package_info
18328
18500
  """
18329
- api = complete_lixian_api("?ct=lixian&ac=get_quota_package_info", base_url=base_url)
18330
- return self.request(url=api, async_=async_, **request_kwargs)
18501
+ return self._offline_request(
18502
+ ac="get_quota_package_info",
18503
+ method=method,
18504
+ type=type,
18505
+ base_url=base_url,
18506
+ async_=async_,
18507
+ **request_kwargs,
18508
+ )
18331
18509
 
18332
18510
  @overload
18333
18511
  def offline_remove(
@@ -18335,6 +18513,8 @@ class P115Client(P115OpenClient):
18335
18513
  payload: str | Iterable[str] | dict,
18336
18514
  /,
18337
18515
  base_url: None | bool | str | Callable[[], str] = None,
18516
+ method: str = "POST",
18517
+ type: Literal[None, "", "web", "ssp"] = None,
18338
18518
  *,
18339
18519
  async_: Literal[False] = False,
18340
18520
  **request_kwargs,
@@ -18346,6 +18526,8 @@ class P115Client(P115OpenClient):
18346
18526
  payload: str | Iterable[str] | dict,
18347
18527
  /,
18348
18528
  base_url: None | bool | str | Callable[[], str] = None,
18529
+ method: str = "POST",
18530
+ type: Literal[None, "", "web", "ssp"] = None,
18349
18531
  *,
18350
18532
  async_: Literal[True],
18351
18533
  **request_kwargs,
@@ -18356,6 +18538,8 @@ class P115Client(P115OpenClient):
18356
18538
  payload: str | Iterable[str] | dict,
18357
18539
  /,
18358
18540
  base_url: None | bool | str | Callable[[], str] = None,
18541
+ method: str = "POST",
18542
+ type: Literal[None, "", "web", "ssp"] = None,
18359
18543
  *,
18360
18544
  async_: Literal[False, True] = False,
18361
18545
  **request_kwargs,
@@ -18370,14 +18554,21 @@ class P115Client(P115OpenClient):
18370
18554
  - ...
18371
18555
  - flag: 0 | 1 = <default> 💡 是否删除源文件
18372
18556
  """
18373
- api = complete_lixian_api("?ct=lixian&ac=task_del", base_url=base_url)
18374
18557
  if isinstance(payload, str):
18375
18558
  payload = {"hash[0]": payload}
18376
18559
  elif not isinstance(payload, dict):
18377
18560
  payload = {f"hash[{i}]": hash for i, hash in enumerate(payload)}
18378
18561
  if not payload:
18379
18562
  raise ValueError("no `hash` (info_hash) specified")
18380
- return self.request(api, method="POST", data=payload, async_=async_, **request_kwargs)
18563
+ return self._offline_request(
18564
+ payload,
18565
+ "task_del",
18566
+ method=method,
18567
+ type=type,
18568
+ base_url=base_url,
18569
+ async_=async_,
18570
+ **request_kwargs,
18571
+ )
18381
18572
 
18382
18573
  @overload
18383
18574
  def offline_restart(
@@ -18386,6 +18577,7 @@ class P115Client(P115OpenClient):
18386
18577
  /,
18387
18578
  base_url: None | bool | str | Callable[[], str] = None,
18388
18579
  method: str = "POST",
18580
+ type: Literal[None, "", "web", "ssp"] = None,
18389
18581
  *,
18390
18582
  async_: Literal[False] = False,
18391
18583
  **request_kwargs,
@@ -18398,6 +18590,7 @@ class P115Client(P115OpenClient):
18398
18590
  /,
18399
18591
  base_url: None | bool | str | Callable[[], str] = None,
18400
18592
  method: str = "POST",
18593
+ type: Literal[None, "", "web", "ssp"] = None,
18401
18594
  *,
18402
18595
  async_: Literal[True],
18403
18596
  **request_kwargs,
@@ -18409,6 +18602,7 @@ class P115Client(P115OpenClient):
18409
18602
  /,
18410
18603
  base_url: None | bool | str | Callable[[], str] = None,
18411
18604
  method: str = "POST",
18605
+ type: Literal[None, "", "web", "ssp"] = None,
18412
18606
  *,
18413
18607
  async_: Literal[False, True] = False,
18414
18608
  **request_kwargs,
@@ -18420,20 +18614,26 @@ class P115Client(P115OpenClient):
18420
18614
  :payload:
18421
18615
  - info_hash: str 💡 待重试任务的 info_hash
18422
18616
  """
18423
- api = complete_lixian_api("?ct=lixian&ac=restart", base_url=base_url)
18424
18617
  if isinstance(payload, str):
18425
18618
  payload = {"info_hash": payload}
18426
- if method.upper() == "POST":
18427
- request_kwargs["data"] = payload
18428
- else:
18429
- request_kwargs["params"] = payload
18430
- return self.request(api, method=method, async_=async_, **request_kwargs)
18619
+ return self._offline_request(
18620
+ payload,
18621
+ "restart",
18622
+ method=method,
18623
+ type=type,
18624
+ base_url=base_url,
18625
+ async_=async_,
18626
+ **request_kwargs,
18627
+ )
18431
18628
 
18432
18629
  @overload
18433
18630
  def offline_task_count(
18434
18631
  self,
18632
+ payload: dict | int = 0,
18435
18633
  /,
18436
18634
  base_url: None | bool | str | Callable[[], str] = None,
18635
+ method: str = "GET",
18636
+ type: Literal[None, "", "web", "ssp"] = None,
18437
18637
  *,
18438
18638
  async_: Literal[False] = False,
18439
18639
  **request_kwargs,
@@ -18442,8 +18642,11 @@ class P115Client(P115OpenClient):
18442
18642
  @overload
18443
18643
  def offline_task_count(
18444
18644
  self,
18645
+ payload: dict | int = 0,
18445
18646
  /,
18446
18647
  base_url: None | bool | str | Callable[[], str] = None,
18648
+ method: str = "GET",
18649
+ type: Literal[None, "", "web", "ssp"] = None,
18447
18650
  *,
18448
18651
  async_: Literal[True],
18449
18652
  **request_kwargs,
@@ -18451,18 +18654,33 @@ class P115Client(P115OpenClient):
18451
18654
  ...
18452
18655
  def offline_task_count(
18453
18656
  self,
18657
+ payload: dict | int = 0,
18454
18658
  /,
18455
18659
  base_url: None | bool | str | Callable[[], str] = None,
18660
+ method: str = "GET",
18661
+ type: Literal[None, "", "web", "ssp"] = None,
18456
18662
  *,
18457
18663
  async_: Literal[False, True] = False,
18458
18664
  **request_kwargs,
18459
18665
  ) -> dict | Coroutine[Any, Any, dict]:
18460
18666
  """获取当前正在运行的离线任务数
18461
18667
 
18462
- GET https://lixian.115.com/lixian/?ct=lixian&ac=get_task_cnt&flag=0
18668
+ GET https://lixian.115.com/lixian/?ac=get_task_cnt
18669
+
18670
+ :payload:
18671
+ flag: int = 0
18463
18672
  """
18464
- api = complete_lixian_api("?ct=lixian&ac=get_task_cnt&flag=0", base_url=base_url)
18465
- return self.request(url=api, async_=async_, **request_kwargs)
18673
+ if isinstance(payload, int):
18674
+ payload = {"flag": 0}
18675
+ return self._offline_request(
18676
+ payload,
18677
+ "get_task_cnt",
18678
+ method=method,
18679
+ type=type,
18680
+ base_url=base_url,
18681
+ async_=async_,
18682
+ **request_kwargs,
18683
+ )
18466
18684
 
18467
18685
  @overload
18468
18686
  def offline_torrent_info(
@@ -18470,6 +18688,8 @@ class P115Client(P115OpenClient):
18470
18688
  payload: str | dict,
18471
18689
  /,
18472
18690
  base_url: None | bool | str | Callable[[], str] = None,
18691
+ method: str = "GET",
18692
+ type: Literal[None, "", "web", "ssp"] = None,
18473
18693
  *,
18474
18694
  async_: Literal[False] = False,
18475
18695
  **request_kwargs,
@@ -18481,6 +18701,8 @@ class P115Client(P115OpenClient):
18481
18701
  payload: str | dict,
18482
18702
  /,
18483
18703
  base_url: None | bool | str | Callable[[], str] = None,
18704
+ method: str = "GET",
18705
+ type: Literal[None, "", "web", "ssp"] = None,
18484
18706
  *,
18485
18707
  async_: Literal[True],
18486
18708
  **request_kwargs,
@@ -18491,27 +18713,39 @@ class P115Client(P115OpenClient):
18491
18713
  payload: str | dict,
18492
18714
  /,
18493
18715
  base_url: None | bool | str | Callable[[], str] = None,
18716
+ method: str = "GET",
18717
+ type: Literal[None, "", "web", "ssp"] = None,
18494
18718
  *,
18495
18719
  async_: Literal[False, True] = False,
18496
18720
  **request_kwargs,
18497
18721
  ) -> dict | Coroutine[Any, Any, dict]:
18498
18722
  """查看种子的文件列表等信息
18499
18723
 
18500
- POST https://lixian.115.com/lixian/?ct=lixian&ac=torrent
18724
+ GET https://lixian.115.com/lixian/?ac=torrent
18501
18725
 
18502
18726
  :payload:
18503
18727
  - sha1: str
18504
18728
  """
18505
- api = complete_lixian_api("?ct=lixian&ac=torrent", base_url=base_url)
18506
18729
  if isinstance(payload, str):
18507
18730
  payload = {"sha1": payload}
18508
- return self.request(url=api, method="POST", data=payload, async_=async_, **request_kwargs)
18731
+ return self._offline_request(
18732
+ payload,
18733
+ "torrent",
18734
+ method=method,
18735
+ type=type,
18736
+ base_url=base_url,
18737
+ async_=async_,
18738
+ **request_kwargs,
18739
+ )
18509
18740
 
18510
18741
  @overload
18511
18742
  def offline_upload_torrent_path(
18512
18743
  self,
18744
+ payload: dict | int = 1,
18513
18745
  /,
18514
- base_url: bool | str | Callable[[], str] = False,
18746
+ base_url: None | bool | str | Callable[[], str] = None,
18747
+ method: str = "GET",
18748
+ type: Literal[None, "", "web", "ssp"] = None,
18515
18749
  *,
18516
18750
  async_: Literal[False] = False,
18517
18751
  **request_kwargs,
@@ -18520,8 +18754,11 @@ class P115Client(P115OpenClient):
18520
18754
  @overload
18521
18755
  def offline_upload_torrent_path(
18522
18756
  self,
18757
+ payload: dict | int = 1,
18523
18758
  /,
18524
- base_url: bool | str | Callable[[], str] = False,
18759
+ base_url: None | bool | str | Callable[[], str] = None,
18760
+ method: str = "GET",
18761
+ type: Literal[None, "", "web", "ssp"] = None,
18525
18762
  *,
18526
18763
  async_: Literal[True],
18527
18764
  **request_kwargs,
@@ -18529,18 +18766,33 @@ class P115Client(P115OpenClient):
18529
18766
  ...
18530
18767
  def offline_upload_torrent_path(
18531
18768
  self,
18769
+ payload: dict | int = 1,
18532
18770
  /,
18533
- base_url: bool | str | Callable[[], str] = False,
18771
+ base_url: None | bool | str | Callable[[], str] = None,
18772
+ method: str = "GET",
18773
+ type: Literal[None, "", "web", "ssp"] = None,
18534
18774
  *,
18535
18775
  async_: Literal[False, True] = False,
18536
18776
  **request_kwargs,
18537
18777
  ) -> dict | Coroutine[Any, Any, dict]:
18538
18778
  """获取当前的种子上传到的目录,当你添加种子任务后,这个种子会在此目录中保存
18539
18779
 
18540
- GET https://115.com/?ct=lixian&ac=get_id&torrent=1
18780
+ GET https://lixian.115.com/lixian/?ac=get_id
18781
+
18782
+ :payload:
18783
+ - torrent: int = 1
18541
18784
  """
18542
- api = complete_api("/?ct=lixian&ac=get_id&torrent=1", base_url=base_url)
18543
- return self.request(url=api, async_=async_, **request_kwargs)
18785
+ if isinstance(payload, int):
18786
+ payload = {"torrent": payload}
18787
+ return self._offline_request(
18788
+ payload,
18789
+ "get_id",
18790
+ method=method,
18791
+ type=type,
18792
+ base_url=base_url,
18793
+ async_=async_,
18794
+ **request_kwargs,
18795
+ )
18544
18796
 
18545
18797
  ########## Recyclebin API ##########
18546
18798
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: p115client
3
- Version: 0.0.5.11.11
3
+ Version: 0.0.5.12
4
4
  Summary: Python 115 webdisk client.
5
5
  Home-page: https://github.com/ChenyangGao/p115client
6
6
  License: MIT
@@ -1,7 +1,7 @@
1
1
  LICENSE,sha256=o5242_N2TgDsWwFhPn7yr8YJNF7XsJM5NxUMtcT97bc,1100
2
2
  p115client/__init__.py,sha256=1mx7njuAlqcuEWONTjSiiGnXyyNyqOcJyNX1FMHqQ-4,214
3
3
  p115client/_upload.py,sha256=3uXwgFsXkZ4X5hjL1N2mx0y8tA8MjVxe49N0BoyYyno,31253
4
- p115client/client.py,sha256=sXqO2jxXtP58r4xyoYzcfJ3eu4zTvMy7EbUBLca8Cp4,784167
4
+ p115client/client.py,sha256=x4bRgtiN6OnA0WNKMfqQxft6MMAhUY2BpUm-w-x_M0w,791559
5
5
  p115client/const.py,sha256=KqDGr9KsOnSkNVM3RIdQGptCMHbidMmZ_ffyFPiniww,7654
6
6
  p115client/exception.py,sha256=4SZ8ubOLMRxtcqc0u1kNzXqH1a6wwXJFwGnRDURoEgQ,3708
7
7
  p115client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -22,7 +22,7 @@ p115client/tool/upload.py,sha256=D2TPJlS--bGX-oHgTm6ktoqnX1_gwOMwxwMkiOwGuIY,326
22
22
  p115client/tool/util.py,sha256=pAa8gc4BcnVTpNcXbNZU4tBUMjSB04DGOpzDdzfbto8,3934
23
23
  p115client/tool/xys.py,sha256=vU28Px2yeQzIxxGkopJIpvV6TdOnWJ5xB6NPXpTgM0Y,10306
24
24
  p115client/type.py,sha256=7kOp98uLaYqcTTCgCrb3DRcl8ukMpn7ibsnVvtw2nG8,6250
25
- p115client-0.0.5.11.11.dist-info/LICENSE,sha256=o5242_N2TgDsWwFhPn7yr8YJNF7XsJM5NxUMtcT97bc,1100
26
- p115client-0.0.5.11.11.dist-info/METADATA,sha256=wOD1JB3jSbUZi0McSiXPL98BiBtZd019jevjlL0hdD8,8193
27
- p115client-0.0.5.11.11.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
28
- p115client-0.0.5.11.11.dist-info/RECORD,,
25
+ p115client-0.0.5.12.dist-info/LICENSE,sha256=o5242_N2TgDsWwFhPn7yr8YJNF7XsJM5NxUMtcT97bc,1100
26
+ p115client-0.0.5.12.dist-info/METADATA,sha256=FRN0doCLYfQD35AWBrTXj9NS308arg3l_0TFosyYrto,8190
27
+ p115client-0.0.5.12.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
28
+ p115client-0.0.5.12.dist-info/RECORD,,