p115client 0.0.5.14.4__py3-none-any.whl → 0.0.5.15__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
@@ -396,6 +396,9 @@ def check_response(resp: dict | Awaitable[dict], /) -> dict | Coroutine[Any, Any
396
396
  # {"state": false, "errno": 911, "error": "请验证账号"}
397
397
  case 911:
398
398
  raise AuthenticationError(errno.EAUTH, resp)
399
+ # {"state": false, "errno": 1001, "error": "参数错误"}
400
+ case 1001:
401
+ raise OperationalError(errno.EINVAL, resp)
399
402
  # {"state": false, "errno": 10004, "error": "错误的链接"}
400
403
  case 10004:
401
404
  raise OperationalError(errno.EINVAL, resp)
@@ -3550,13 +3553,13 @@ class P115OpenClient(ClientRequestMixin):
3550
3553
  - nf: str = <default> 💡 不要显示文件(即仅显示目录),但如果 show_dir=0,则此参数无效
3551
3554
  - o: str = <default> 💡 用某字段排序(未定义的值会被视为 "user_utime")
3552
3555
 
3553
- - "file_name": 文件名
3554
- - "file_size": 文件大小
3555
- - "file_type": 文件种类
3556
- - "user_etime": 事件时间(无效,效果相当于 "user_utime")
3557
- - "user_utime": 修改时间
3558
- - "user_ptime": 创建时间(无效,效果相当于 "user_utime")
3559
- - "user_otime": 上一次打开时间(无效,效果相当于 "user_utime")
3556
+ - "file_name": 文件名
3557
+ - "file_size": 文件大小
3558
+ - "file_type": 文件种类
3559
+ - "user_etime": 事件时间(无效,效果相当于 "user_utime")
3560
+ - "user_utime": 修改时间
3561
+ - "user_ptime": 创建时间(无效,效果相当于 "user_utime")
3562
+ - "user_otime": 上一次打开时间(无效,效果相当于 "user_utime")
3560
3563
 
3561
3564
  - qid: int = <default>
3562
3565
  - r_all: 0 | 1 = <default>
@@ -3571,23 +3574,23 @@ class P115OpenClient(ClientRequestMixin):
3571
3574
  - suffix: str = <default> 💡 后缀名(优先级高于 `type`)
3572
3575
  - type: int = <default> 💡 文件类型
3573
3576
 
3574
- - 0: 全部(仅当前目录)
3575
- - 1: 文档
3576
- - 2: 图片
3577
- - 3: 音频
3578
- - 4: 视频
3579
- - 5: 压缩包
3580
- - 6: 软件/应用
3581
- - 7: 书籍
3582
- - 8: 其它
3583
- - 9: 相当于 8
3584
- - 10: 相当于 8
3585
- - 11: 相当于 8
3586
- - 12: ???
3587
- - 13: ???
3588
- - 14: ???
3589
- - 15: 图片和视频,相当于 2 和 4
3590
- - >= 16: 相当于 8
3577
+ - 0: 全部(仅当前目录)
3578
+ - 1: 文档
3579
+ - 2: 图片
3580
+ - 3: 音频
3581
+ - 4: 视频
3582
+ - 5: 压缩包
3583
+ - 6: 软件/应用
3584
+ - 7: 书籍
3585
+ - 8: 其它
3586
+ - 9: 相当于 8
3587
+ - 10: 相当于 8
3588
+ - 11: 相当于 8
3589
+ - 12: ???
3590
+ - 13: ???
3591
+ - 14: ???
3592
+ - 15: 图片和视频,相当于 2 和 4
3593
+ - >= 16: 相当于 8
3591
3594
  """
3592
3595
  api = complete_proapi("/open/ufile/files", base_url)
3593
3596
  if isinstance(payload, (int, str)):
@@ -3846,12 +3849,12 @@ class P115OpenClient(ClientRequestMixin):
3846
3849
  - lte_day: str 💡 搜索结果匹配的结束时间;格式:YYYY-MM-DD
3847
3850
  - o: str = <default> 💡 用某字段排序
3848
3851
 
3849
- - "file_name": 文件名
3850
- - "file_size": 文件大小
3851
- - "file_type": 文件种类
3852
- - "user_utime": 修改时间
3853
- - "user_ptime": 创建时间
3854
- - "user_otime": 上一次打开时间
3852
+ - "file_name": 文件名
3853
+ - "file_size": 文件大小
3854
+ - "file_type": 文件种类
3855
+ - "user_utime": 修改时间
3856
+ - "user_ptime": 创建时间
3857
+ - "user_otime": 上一次打开时间
3855
3858
 
3856
3859
  - offset: int = 0 💡 索引偏移,索引从 0 开始计算
3857
3860
  - pick_code: str = <default> 💡 是否查询提取码,如果该值为 1 则查询提取码为 `search_value` 的文件
@@ -3862,15 +3865,15 @@ class P115OpenClient(ClientRequestMixin):
3862
3865
  - suffix: str = <default> 💡 后缀名(优先级高于 `type`)
3863
3866
  - type: int = <default> 💡 文件类型
3864
3867
 
3865
- - 0: 全部(仅当前目录)
3866
- - 1: 文档
3867
- - 2: 图片
3868
- - 3: 音频
3869
- - 4: 视频
3870
- - 5: 压缩包
3871
- - 6: 软件/应用
3872
- - 7: 书籍
3873
- - 99: 仅文件
3868
+ - 0: 全部(仅当前目录)
3869
+ - 1: 文档
3870
+ - 2: 图片
3871
+ - 3: 音频
3872
+ - 4: 视频
3873
+ - 5: 压缩包
3874
+ - 6: 软件/应用
3875
+ - 7: 书籍
3876
+ - 99: 所有文件
3874
3877
 
3875
3878
  - version: str = <default> 💡 版本号,比如 3.1
3876
3879
  """
@@ -4387,12 +4390,12 @@ class P115OpenClient(ClientRequestMixin):
4387
4390
  :payload:
4388
4391
  - flag: int = 0 💡 标识,用于对应某种情况
4389
4392
 
4390
- - 0: 已完成
4391
- - 1: 全部
4392
- - 2: 已失败
4393
- - 3: 进行中
4394
- - 4: 已完成+删除源文件
4395
- - 5: 全部+删除源文件
4393
+ - 0: 已完成
4394
+ - 1: 全部
4395
+ - 2: 已失败
4396
+ - 3: 进行中
4397
+ - 4: 已完成+删除源文件
4398
+ - 5: 全部+删除源文件
4396
4399
  """
4397
4400
  api = complete_proapi("/open/offline/clear_task", base_url)
4398
4401
  if isinstance(payload, int):
@@ -7326,9 +7329,9 @@ class P115Client(P115OpenClient):
7326
7329
  :payload:
7327
7330
  - type: 0 | 1 | 2 = 0 💡 类型
7328
7331
 
7329
- - 0: 全部
7330
- - 1: 进行中
7331
- - 2: 已实现
7332
+ - 0: 全部
7333
+ - 1: 进行中
7334
+ - 2: 已实现
7332
7335
 
7333
7336
  - start: int = 0 💡 开始索引
7334
7337
  - page: int = 1 💡 第几页
@@ -7382,9 +7385,9 @@ class P115Client(P115OpenClient):
7382
7385
  :payload:
7383
7386
  - type: 0 | 1 | 2 = 0 💡 类型
7384
7387
 
7385
- - 0: 全部
7386
- - 1: 进行中
7387
- - 2: 已实现
7388
+ - 0: 全部
7389
+ - 1: 进行中
7390
+ - 2: 已实现
7388
7391
 
7389
7392
  - start: int = 0 💡 开始索引
7390
7393
  - page: int = 1 💡 第几页
@@ -9269,9 +9272,9 @@ class P115Client(P115OpenClient):
9269
9272
  - file_id: int | str 目录 id,多个用逗号 "," 隔开
9270
9273
  - op: "add" | "delete" | "top" = "add" 操作代码
9271
9274
 
9272
- - "add": 添加
9273
- - "delete": 删除
9274
- - "top": 置顶
9275
+ - "add": 添加
9276
+ - "delete": 删除
9277
+ - "top": 置顶
9275
9278
  """
9276
9279
  api = complete_webapi("/category/shortcut", base_url=base_url)
9277
9280
  if isinstance(payload, (int, str)):
@@ -10472,12 +10475,12 @@ class P115Client(P115OpenClient):
10472
10475
  - nf: str = <default> 💡 不要显示文件(即仅显示目录),但如果 show_dir=0,则此参数无效
10473
10476
  - o: str = <default> 💡 用某字段排序
10474
10477
 
10475
- - "file_name": 文件名
10476
- - "file_size": 文件大小
10477
- - "file_type": 文件种类
10478
- - "user_utime": 修改时间
10479
- - "user_ptime": 创建时间
10480
- - "user_otime": 上一次打开时间
10478
+ - "file_name": 文件名
10479
+ - "file_size": 文件大小
10480
+ - "file_type": 文件种类
10481
+ - "user_utime": 修改时间
10482
+ - "user_ptime": 创建时间
10483
+ - "user_otime": 上一次打开时间
10481
10484
 
10482
10485
  - oof_token: str = <default>
10483
10486
  - qid: int | str = <default>
@@ -10494,26 +10497,26 @@ class P115Client(P115OpenClient):
10494
10497
  - suffix_type: int = <default>
10495
10498
  - type: int = <default> 💡 文件类型
10496
10499
 
10497
- - 0: 全部(仅当前目录)
10498
- - 1: 文档
10499
- - 2: 图片
10500
- - 3: 音频
10501
- - 4: 视频
10502
- - 5: 压缩包
10503
- - 6: 软件/应用
10504
- - 7: 书籍
10505
- - 8: 其它
10506
- - 9: 相当于 8
10507
- - 10: 相当于 8
10508
- - 11: 相当于 8
10509
- - 12: ???
10510
- - 13: 相当于 3
10511
- - 14: ???
10512
- - 15: 图片和视频,相当于 2 和 4
10513
- - 16: ???
10514
- - 17~98: 相当于 8
10515
- - 99: 仅文件
10516
- - >=100: 相当于 8
10500
+ - 0: 全部(仅当前目录)
10501
+ - 1: 文档
10502
+ - 2: 图片
10503
+ - 3: 音频
10504
+ - 4: 视频
10505
+ - 5: 压缩包
10506
+ - 6: 软件/应用
10507
+ - 7: 书籍
10508
+ - 8: 其它
10509
+ - 9: 相当于 8
10510
+ - 10: 相当于 8
10511
+ - 11: 相当于 8
10512
+ - 12: ???
10513
+ - 13: 相当于 3
10514
+ - 14: ???
10515
+ - 15: 图片和视频,相当于 2 和 4
10516
+ - 16: ???
10517
+ - 17~98: 相当于 8
10518
+ - 99: 所有文件
10519
+ - >=100: 相当于 8
10517
10520
  """
10518
10521
  api = complete_webapi("/files", base_url=base_url)
10519
10522
  if isinstance(payload, (int, str)):
@@ -10615,13 +10618,13 @@ class P115Client(P115OpenClient):
10615
10618
  - nf: str = <default> 💡 不要显示文件(即仅显示目录),但如果 show_dir=0,则此参数无效
10616
10619
  - o: str = <default> 💡 用某字段排序(未定义的值会被视为 "user_utime")
10617
10620
 
10618
- - "file_name": 文件名
10619
- - "file_size": 文件大小
10620
- - "file_type": 文件种类
10621
- - "user_etime": 事件时间(无效,效果相当于 "user_utime")
10622
- - "user_utime": 修改时间
10623
- - "user_ptime": 创建时间(无效,效果相当于 "user_utime")
10624
- - "user_otime": 上一次打开时间(无效,效果相当于 "user_utime")
10621
+ - "file_name": 文件名
10622
+ - "file_size": 文件大小
10623
+ - "file_type": 文件种类
10624
+ - "user_etime": 事件时间(无效,效果相当于 "user_utime")
10625
+ - "user_utime": 修改时间
10626
+ - "user_ptime": 创建时间(无效,效果相当于 "user_utime")
10627
+ - "user_otime": 上一次打开时间(无效,效果相当于 "user_utime")
10625
10628
 
10626
10629
  - r_all: 0 | 1 = <default>
10627
10630
  - record_open_time: 0 | 1 = 1 💡 是否要记录目录的打开时间
@@ -10635,23 +10638,23 @@ class P115Client(P115OpenClient):
10635
10638
  - suffix: str = <default> 💡 后缀名(优先级高于 `type`)
10636
10639
  - type: int = <default> 💡 文件类型
10637
10640
 
10638
- - 0: 全部(仅当前目录)
10639
- - 1: 文档
10640
- - 2: 图片
10641
- - 3: 音频
10642
- - 4: 视频
10643
- - 5: 压缩包
10644
- - 6: 软件/应用
10645
- - 7: 书籍
10646
- - 8: 其它
10647
- - 9: 相当于 8
10648
- - 10: 相当于 8
10649
- - 11: 相当于 8
10650
- - 12: ???
10651
- - 13: ???
10652
- - 14: ???
10653
- - 15: 图片和视频,相当于 2 和 4
10654
- - >= 16: 相当于 8
10641
+ - 0: 全部(仅当前目录)
10642
+ - 1: 文档
10643
+ - 2: 图片
10644
+ - 3: 音频
10645
+ - 4: 视频
10646
+ - 5: 压缩包
10647
+ - 6: 软件/应用
10648
+ - 7: 书籍
10649
+ - 8: 其它
10650
+ - 9: 相当于 8
10651
+ - 10: 相当于 8
10652
+ - 11: 相当于 8
10653
+ - 12: ???
10654
+ - 13: ???
10655
+ - 14: ???
10656
+ - 15: 图片和视频,相当于 2 和 4
10657
+ - >= 16: 相当于 8
10655
10658
  """
10656
10659
  api = complete_proapi("/2.0/ufile/files", base_url, app)
10657
10660
  if isinstance(payload, (int, str)):
@@ -10745,13 +10748,13 @@ class P115Client(P115OpenClient):
10745
10748
  - nf: str = <default> 💡 不要显示文件(即仅显示目录),但如果 show_dir=0,则此参数无效
10746
10749
  - o: str = <default> 💡 用某字段排序(未定义的值会被视为 "user_utime")
10747
10750
 
10748
- - "file_name": 文件名
10749
- - "file_size": 文件大小
10750
- - "file_type": 文件种类
10751
- - "user_etime": 事件时间(无效,效果相当于 "user_utime")
10752
- - "user_utime": 修改时间
10753
- - "user_ptime": 创建时间(无效,效果相当于 "user_utime")
10754
- - "user_otime": 上一次打开时间(无效,效果相当于 "user_utime")
10751
+ - "file_name": 文件名
10752
+ - "file_size": 文件大小
10753
+ - "file_type": 文件种类
10754
+ - "user_etime": 事件时间(无效,效果相当于 "user_utime")
10755
+ - "user_utime": 修改时间
10756
+ - "user_ptime": 创建时间(无效,效果相当于 "user_utime")
10757
+ - "user_otime": 上一次打开时间(无效,效果相当于 "user_utime")
10755
10758
 
10756
10759
  - r_all: 0 | 1 = <default>
10757
10760
  - record_open_time: 0 | 1 = 1 💡 是否要记录目录的打开时间
@@ -10765,23 +10768,23 @@ class P115Client(P115OpenClient):
10765
10768
  - suffix: str = <default> 💡 后缀名(优先级高于 `type`)
10766
10769
  - type: int = <default> 💡 文件类型
10767
10770
 
10768
- - 0: 全部(仅当前目录)
10769
- - 1: 文档
10770
- - 2: 图片
10771
- - 3: 音频
10772
- - 4: 视频
10773
- - 5: 压缩包
10774
- - 6: 软件/应用
10775
- - 7: 书籍
10776
- - 8: 其它
10777
- - 9: 相当于 8
10778
- - 10: 相当于 8
10779
- - 11: 相当于 8
10780
- - 12: ???
10781
- - 13: ???
10782
- - 14: ???
10783
- - 15: 图片和视频,相当于 2 和 4
10784
- - >= 16: 相当于 8
10771
+ - 0: 全部(仅当前目录)
10772
+ - 1: 文档
10773
+ - 2: 图片
10774
+ - 3: 音频
10775
+ - 4: 视频
10776
+ - 5: 压缩包
10777
+ - 6: 软件/应用
10778
+ - 7: 书籍
10779
+ - 8: 其它
10780
+ - 9: 相当于 8
10781
+ - 10: 相当于 8
10782
+ - 11: 相当于 8
10783
+ - 12: ???
10784
+ - 13: ???
10785
+ - 14: ???
10786
+ - 15: 图片和视频,相当于 2 和 4
10787
+ - >= 16: 相当于 8
10785
10788
  """
10786
10789
  api = complete_proapi("/files", base_url, app)
10787
10790
  if isinstance(payload, (int, str)):
@@ -10885,26 +10888,26 @@ class P115Client(P115OpenClient):
10885
10888
  - suffix: str = <default> 💡 后缀名(优先级高于 `type`)
10886
10889
  - type: int = <default> 💡 文件类型
10887
10890
 
10888
- - 0: 全部(仅当前目录)
10889
- - 1: 文档
10890
- - 2: 图片
10891
- - 3: 音频
10892
- - 4: 视频
10893
- - 5: 压缩包
10894
- - 6: 软件/应用
10895
- - 7: 书籍
10896
- - 8: 其它
10897
- - 9: 相当于 8
10898
- - 10: 相当于 8
10899
- - 11: 相当于 8
10900
- - 12: ???
10901
- - 13: 相当于 3
10902
- - 14: ???
10903
- - 15: 图片和视频,相当于 2 和 4
10904
- - 16: ???
10905
- - 17~98: 相当于 8
10906
- - 99: 仅文件
10907
- - >=100: 相当于 8
10891
+ - 0: 全部(仅当前目录)
10892
+ - 1: 文档
10893
+ - 2: 图片
10894
+ - 3: 音频
10895
+ - 4: 视频
10896
+ - 5: 压缩包
10897
+ - 6: 软件/应用
10898
+ - 7: 书籍
10899
+ - 8: 其它
10900
+ - 9: 相当于 8
10901
+ - 10: 相当于 8
10902
+ - 11: 相当于 8
10903
+ - 12: ???
10904
+ - 13: 相当于 3
10905
+ - 14: ???
10906
+ - 15: 图片和视频,相当于 2 和 4
10907
+ - 16: ???
10908
+ - 17~98: 相当于 8
10909
+ - 99: 所有文件
10910
+ - >=100: 相当于 8
10908
10911
  """
10909
10912
  api = complete_api("/natsort/files.php", "aps", base_url=base_url)
10910
10913
  if isinstance(payload, (int, str)):
@@ -11072,6 +11075,209 @@ class P115Client(P115OpenClient):
11072
11075
 
11073
11076
  fs_video_history_set = fs_files_history_set
11074
11077
 
11078
+
11079
+ @overload
11080
+ def fs_files_image(
11081
+ self,
11082
+ payload: int | str | dict,
11083
+ /,
11084
+ base_url: bool | str | Callable[[], str] = False,
11085
+ *,
11086
+ async_: Literal[False] = False,
11087
+ **request_kwargs,
11088
+ ) -> dict:
11089
+ ...
11090
+ @overload
11091
+ def fs_files_image(
11092
+ self,
11093
+ payload: int | str | dict,
11094
+ /,
11095
+ base_url: bool | str | Callable[[], str] = False,
11096
+ *,
11097
+ async_: Literal[True],
11098
+ **request_kwargs,
11099
+ ) -> Coroutine[Any, Any, dict]:
11100
+ ...
11101
+ def fs_files_image(
11102
+ self,
11103
+ payload: int | str | dict,
11104
+ /,
11105
+ base_url: bool | str | Callable[[], str] = False,
11106
+ *,
11107
+ async_: Literal[False, True] = False,
11108
+ **request_kwargs,
11109
+ ) -> dict | Coroutine[Any, Any, dict]:
11110
+ """获取目录中的图片列表和基本信息
11111
+
11112
+ GET https://webapi.115.com/files/imglist
11113
+
11114
+ .. danger::
11115
+ 这个函数大概是有 bug 的,不推荐使用
11116
+
11117
+ .. attention::
11118
+ 只能获取直属于 `cid` 所在目录的图片,不会遍历整个目录树
11119
+
11120
+ :payload:
11121
+ - cid: int | str 💡 目录 id,对应 parent_id
11122
+ - file_id: int | str 💡 不能是 0,可以不同于 `cid`,必须是任何一个有效的 id(单纯是被检查一下)
11123
+ - limit: int = <default> 💡 最多返回数量
11124
+ - offset: int = 0 💡 索引偏移,索引从 0 开始计算
11125
+ - is_asc: 0 | 1 = <default> 💡 是否升序排列
11126
+ - next: 0 | 1 = <default>
11127
+ - order: str = <default> 💡 用某字段排序
11128
+
11129
+ - 文件名:"file_name"
11130
+ - 文件大小:"file_size"
11131
+ - 文件种类:"file_type"
11132
+ - 修改时间:"user_utime"
11133
+ - 创建时间:"user_ptime"
11134
+ - 上一次打开时间:"user_otime"
11135
+ """
11136
+ api = complete_webapi("/files/imglist", base_url=base_url)
11137
+ if isinstance(payload, (int, str)):
11138
+ payload = {"limit": 32, "offset": 0, "cid": payload}
11139
+ else:
11140
+ payload = {"limit": 32, "offset": 0, "cid": 0, **payload}
11141
+ if cid := payload.get("cid"):
11142
+ payload.setdefault("file_id", cid)
11143
+ return self.request(url=api, params=payload, async_=async_, **request_kwargs)
11144
+
11145
+ @overload
11146
+ def fs_files_image_app(
11147
+ self,
11148
+ payload: int | str | dict = 0,
11149
+ /,
11150
+ app: str = "android",
11151
+ base_url: bool | str | Callable[[], str] = False,
11152
+ *,
11153
+ async_: Literal[False] = False,
11154
+ **request_kwargs,
11155
+ ) -> dict:
11156
+ ...
11157
+ @overload
11158
+ def fs_files_image_app(
11159
+ self,
11160
+ payload: int | str | dict = 0,
11161
+ /,
11162
+ app: str = "android",
11163
+ base_url: bool | str | Callable[[], str] = False,
11164
+ *,
11165
+ async_: Literal[True],
11166
+ **request_kwargs,
11167
+ ) -> Coroutine[Any, Any, dict]:
11168
+ ...
11169
+ def fs_files_image_app(
11170
+ self,
11171
+ payload: int | str | dict = 0,
11172
+ /,
11173
+ app: str = "android",
11174
+ base_url: bool | str | Callable[[], str] = False,
11175
+ *,
11176
+ async_: Literal[False, True] = False,
11177
+ **request_kwargs,
11178
+ ) -> dict | Coroutine[Any, Any, dict]:
11179
+ """获取目录中的图片列表和基本信息
11180
+
11181
+ GET https://proapi.115.com/android/files/imglist
11182
+
11183
+ :payload:
11184
+ - cid: int | str = 0 💡 目录 id,对应 parent_id
11185
+ - limit: int = 32 💡 一页大小,建议控制在 <= 9000,不然会报错
11186
+ - offset: int = 0 💡 索引偏移,索引从 0 开始计算
11187
+
11188
+ - aid: int | str = 1 💡 area_id。1:正常文件 7:回收站文件 12:瞬间文件 120:彻底删除文件、简历附件
11189
+ - asc: 0 | 1 = <default> 💡 是否升序排列
11190
+ - cur: 0 | 1 = <default> 💡 只罗列当前目录
11191
+ - o: str = <default> 💡 用某字段排序
11192
+
11193
+ - 文件名:"file_name"
11194
+ - 文件大小:"file_size"
11195
+ - 文件种类:"file_type"
11196
+ - 修改时间:"user_utime"
11197
+ - 创建时间:"user_ptime"
11198
+ - 上一次打开时间:"user_otime"
11199
+ """
11200
+ api = complete_proapi("/files/imglist", base_url, app)
11201
+ if isinstance(payload, (int, str)):
11202
+ payload = {"limit": 32, "offset": 0, "aid": 1, "cid": payload}
11203
+ else:
11204
+ payload = {"limit": 32, "offset": 0, "aid": 1, "cid": 0, **payload}
11205
+ return self.request(url=api, params=payload, async_=async_, **request_kwargs)
11206
+
11207
+ @overload
11208
+ def fs_files_media_app(
11209
+ self,
11210
+ payload: int | str | dict = 0,
11211
+ /,
11212
+ app: str = "android",
11213
+ base_url: bool | str | Callable[[], str] = False,
11214
+ *,
11215
+ async_: Literal[False] = False,
11216
+ **request_kwargs,
11217
+ ) -> dict:
11218
+ ...
11219
+ @overload
11220
+ def fs_files_media_app(
11221
+ self,
11222
+ payload: int | str | dict = 0,
11223
+ /,
11224
+ app: str = "android",
11225
+ base_url: bool | str | Callable[[], str] = False,
11226
+ *,
11227
+ async_: Literal[True],
11228
+ **request_kwargs,
11229
+ ) -> Coroutine[Any, Any, dict]:
11230
+ ...
11231
+ def fs_files_media_app(
11232
+ self,
11233
+ payload: int | str | dict = 0,
11234
+ /,
11235
+ app: str = "android",
11236
+ base_url: bool | str | Callable[[], str] = False,
11237
+ *,
11238
+ async_: Literal[False, True] = False,
11239
+ **request_kwargs,
11240
+ ) -> dict | Coroutine[Any, Any, dict]:
11241
+ """获取目录中的文件列表和基本信息
11242
+
11243
+ GET https://proapi.115.com/android/files/medialist
11244
+
11245
+ :payload:
11246
+ - cid: int | str = 0 💡 目录 id,对应 parent_id
11247
+ - limit: int = 32 💡 一页大小,建议控制在 <= 9000,不然会报错
11248
+ - offset: int = 0 💡 索引偏移,索引从 0 开始计算
11249
+
11250
+ - aid: int | str = 1 💡 area_id。1:正常文件 7:回收站文件 12:瞬间文件 120:彻底删除文件、简历附件
11251
+ - asc: 0 | 1 = <default> 💡 是否升序排列
11252
+ - cur: 0 | 1 = <default> 💡 只罗列当前目录
11253
+ - o: str = <default> 💡 用某字段排序
11254
+
11255
+ - 文件名:"file_name"
11256
+ - 文件大小:"file_size"
11257
+ - 文件种类:"file_type"
11258
+ - 修改时间:"user_utime"
11259
+ - 创建时间:"user_ptime"
11260
+ - 上一次打开时间:"user_otime"
11261
+
11262
+ - type: int = 0 💡 文件类型
11263
+
11264
+ - 0: 相当于 2
11265
+ - 1: 文档
11266
+ - 2: 图片
11267
+ - 3: 音频
11268
+ - 4: 视频
11269
+ - 5: 压缩包
11270
+ - 6: 软件/应用
11271
+ - 7: 书籍
11272
+ - ...: > 7 则相当于 1,< 0 则是全部文件
11273
+ """
11274
+ api = complete_proapi("/files/medialist", base_url, app)
11275
+ if isinstance(payload, (int, str)):
11276
+ payload = {"limit": 32, "offset": 0, "aid": 1, "type": 0, "cid": payload}
11277
+ else:
11278
+ payload = {"limit": 32, "offset": 0, "aid": 1, "type": 0, "cid": 0, **payload}
11279
+ return self.request(url=api, params=payload, async_=async_, **request_kwargs)
11280
+
11075
11281
  @overload
11076
11282
  def fs_files_second_type(
11077
11283
  self,
@@ -11111,13 +11317,13 @@ class P115Client(P115OpenClient):
11111
11317
  - cid: int | str = 0 💡 目录 id,对应 parent_id
11112
11318
  - type: int = 1 💡 文件类型
11113
11319
 
11114
- - 1: 文档
11115
- - 2: 图片
11116
- - 3: 音频
11117
- - 4: 视频
11118
- - 5: 压缩包
11119
- - 6: 软件/应用
11120
- - 7: 书籍
11320
+ - 1: 文档
11321
+ - 2: 图片
11322
+ - 3: 音频
11323
+ - 4: 视频
11324
+ - 5: 压缩包
11325
+ - 6: 软件/应用
11326
+ - 7: 书籍
11121
11327
 
11122
11328
  - file_label: int | str = <default> 💡 标签 id,多个用逗号 "," 隔开
11123
11329
  """
@@ -11676,15 +11882,15 @@ class P115Client(P115OpenClient):
11676
11882
  :payload:
11677
11883
  - type: int | str = 0 💡 类型(??表示还未搞清楚),多个用逗号 "," 隔开
11678
11884
 
11679
- - 全部: 0
11680
- - ??: 1
11681
- - 离线下载: 2
11682
- - 播放视频: 3
11683
- - 上传: 4
11684
- - ??: 5
11685
- - ??: 6(似乎是一些在离线、转存等过程中有重名的目录)
11686
- - 接收: 7
11687
- - 移动: 8
11885
+ - 全部: 0
11886
+ - ??: 1
11887
+ - 离线下载: 2
11888
+ - 播放视频: 3
11889
+ - 上传: 4
11890
+ - ??: 5
11891
+ - ??: 6(似乎是一些在离线、转存等过程中有重名的目录)
11892
+ - 接收: 7
11893
+ - 移动: 8
11688
11894
 
11689
11895
  - with_file: 0 | 1 = 0
11690
11896
  """
@@ -11831,15 +12037,15 @@ class P115Client(P115OpenClient):
11831
12037
  :payload:
11832
12038
  - type: int | str = 0 💡 类型(??表示还未搞清楚),多个用逗号 "," 隔开
11833
12039
 
11834
- - 全部: 0
11835
- - ??: 1
11836
- - 离线下载: 2
11837
- - 播放视频: 3
11838
- - 上传: 4
11839
- - ??: 5
11840
- - ??: 6(似乎是一些在离线、转存等过程中有重名的目录)
11841
- - 接收: 7
11842
- - 移动: 8
12040
+ - 全部: 0
12041
+ - ??: 1
12042
+ - 离线下载: 2
12043
+ - 播放视频: 3
12044
+ - 上传: 4
12045
+ - ??: 5
12046
+ - ??: 6(似乎是一些在离线、转存等过程中有重名的目录)
12047
+ - 接收: 7
12048
+ - 移动: 8
11843
12049
 
11844
12050
  - with_file: 0 | 1 = 0
11845
12051
  """
@@ -11891,15 +12097,15 @@ class P115Client(P115OpenClient):
11891
12097
  - played_end: 0 | 1 = <default> 💡 是否已经播放完
11892
12098
  - type: int = <default> 💡 类型(??表示还未搞清楚),多个用逗号 "," 隔开
11893
12099
 
11894
- - 全部: 0
11895
- - ??: 1
11896
- - 离线下载: 2
11897
- - 播放视频: 3
11898
- - 上传: 4
11899
- - ??: 5
11900
- - ??: 6(似乎是一些在离线、转存等过程中有重名的目录)
11901
- - 接收: 7
11902
- - 移动: 8
12100
+ - 全部: 0
12101
+ - ??: 1
12102
+ - 离线下载: 2
12103
+ - 播放视频: 3
12104
+ - 上传: 4
12105
+ - ??: 5
12106
+ - ??: 6(似乎是一些在离线、转存等过程中有重名的目录)
12107
+ - 接收: 7
12108
+ - 移动: 8
11903
12109
  """
11904
12110
  api = complete_webapi("/history/list", base_url=base_url)
11905
12111
  if isinstance(payload, (int, str)):
@@ -11952,15 +12158,15 @@ class P115Client(P115OpenClient):
11952
12158
  - played_end: 0 | 1 = <default>
11953
12159
  - type: int = <default> 💡 类型(??表示还未搞清楚),多个用逗号 "," 隔开
11954
12160
 
11955
- - 全部: 0
11956
- - ??: 1
11957
- - 离线下载: 2
11958
- - 播放视频: 3
11959
- - 上传: 4
11960
- - ??: 5
11961
- - ??: 6(似乎是一些在离线、转存等过程中有重名的目录)
11962
- - 接收: 7
11963
- - 移动: 8
12161
+ - 全部: 0
12162
+ - ??: 1
12163
+ - 离线下载: 2
12164
+ - 播放视频: 3
12165
+ - 上传: 4
12166
+ - ??: 5
12167
+ - ??: 6(似乎是一些在离线、转存等过程中有重名的目录)
12168
+ - 接收: 7
12169
+ - 移动: 8
11964
12170
  """
11965
12171
  api = complete_proapi("/history/list", base_url, app)
11966
12172
  if isinstance(payload, (int, str)):
@@ -12190,134 +12396,6 @@ class P115Client(P115OpenClient):
12190
12396
  payload = {"imgurl": payload}
12191
12397
  return self.request(url=api, method="POST", data=payload, async_=async_, **request_kwargs)
12192
12398
 
12193
- @overload
12194
- def fs_imglist(
12195
- self,
12196
- payload: int | str | dict,
12197
- /,
12198
- base_url: bool | str | Callable[[], str] = False,
12199
- *,
12200
- async_: Literal[False] = False,
12201
- **request_kwargs,
12202
- ) -> dict:
12203
- ...
12204
- @overload
12205
- def fs_imglist(
12206
- self,
12207
- payload: int | str | dict,
12208
- /,
12209
- base_url: bool | str | Callable[[], str] = False,
12210
- *,
12211
- async_: Literal[True],
12212
- **request_kwargs,
12213
- ) -> Coroutine[Any, Any, dict]:
12214
- ...
12215
- def fs_imglist(
12216
- self,
12217
- payload: int | str | dict,
12218
- /,
12219
- base_url: bool | str | Callable[[], str] = False,
12220
- *,
12221
- async_: Literal[False, True] = False,
12222
- **request_kwargs,
12223
- ) -> dict | Coroutine[Any, Any, dict]:
12224
- """获取目录中的图片列表和基本信息
12225
-
12226
- GET https://webapi.115.com/files/imglist
12227
-
12228
- .. danger::
12229
- 这个函数大概是有 bug 的,不推荐使用
12230
-
12231
- .. attention::
12232
- 只能获取直属于 `cid` 所在目录的图片,不会遍历整个目录树
12233
-
12234
- :payload:
12235
- - cid: int | str 💡 目录 id,对应 parent_id
12236
- - file_id: int | str 💡 不能是 0,可以不同于 `cid`,必须是任何一个有效的 id(单纯是被检查一下)
12237
- - limit: int = <default> 💡 最多返回数量
12238
- - offset: int = 0 💡 索引偏移,索引从 0 开始计算
12239
- - is_asc: 0 | 1 = <default> 💡 是否升序排列
12240
- - next: 0 | 1 = <default>
12241
- - order: str = <default> 💡 用某字段排序
12242
-
12243
- - 文件名:"file_name"
12244
- - 文件大小:"file_size"
12245
- - 文件种类:"file_type"
12246
- - 修改时间:"user_utime"
12247
- - 创建时间:"user_ptime"
12248
- - 上一次打开时间:"user_otime"
12249
- """
12250
- api = complete_webapi("/files/imglist", base_url=base_url)
12251
- if isinstance(payload, (int, str)):
12252
- payload = {"limit": 32, "offset": 0, "cid": payload}
12253
- else:
12254
- payload = {"limit": 32, "offset": 0, "cid": 0, **payload}
12255
- if cid := payload.get("cid"):
12256
- payload.setdefault("file_id", cid)
12257
- return self.request(url=api, params=payload, async_=async_, **request_kwargs)
12258
-
12259
- @overload
12260
- def fs_imglist_app(
12261
- self,
12262
- payload: int | str | dict = 0,
12263
- /,
12264
- app: str = "android",
12265
- base_url: bool | str | Callable[[], str] = False,
12266
- *,
12267
- async_: Literal[False] = False,
12268
- **request_kwargs,
12269
- ) -> dict:
12270
- ...
12271
- @overload
12272
- def fs_imglist_app(
12273
- self,
12274
- payload: int | str | dict = 0,
12275
- /,
12276
- app: str = "android",
12277
- base_url: bool | str | Callable[[], str] = False,
12278
- *,
12279
- async_: Literal[True],
12280
- **request_kwargs,
12281
- ) -> Coroutine[Any, Any, dict]:
12282
- ...
12283
- def fs_imglist_app(
12284
- self,
12285
- payload: int | str | dict = 0,
12286
- /,
12287
- app: str = "android",
12288
- base_url: bool | str | Callable[[], str] = False,
12289
- *,
12290
- async_: Literal[False, True] = False,
12291
- **request_kwargs,
12292
- ) -> dict | Coroutine[Any, Any, dict]:
12293
- """获取目录中的图片列表和基本信息
12294
-
12295
- GET https://proapi.115.com/android/files/imglist
12296
-
12297
- :payload:
12298
- - cid: int | str = 0 💡 目录 id,对应 parent_id
12299
- - limit: int = 32 💡 一页大小,建议控制在 <= 9000,不然会报错
12300
- - offset: int = 0 💡 索引偏移,索引从 0 开始计算
12301
-
12302
- - aid: int | str = 1 💡 area_id。1:正常文件 7:回收站文件 12:瞬间文件 120:彻底删除文件、简历附件
12303
- - asc: 0 | 1 = <default> 💡 是否升序排列
12304
- - cur: 0 | 1 = <default> 💡 只罗列当前目录
12305
- - o: str = <default> 💡 用某字段排序
12306
-
12307
- - 文件名:"file_name"
12308
- - 文件大小:"file_size"
12309
- - 文件种类:"file_type"
12310
- - 修改时间:"user_utime"
12311
- - 创建时间:"user_ptime"
12312
- - 上一次打开时间:"user_otime"
12313
- """
12314
- api = complete_proapi("/files/imglist", base_url, app)
12315
- if isinstance(payload, (int, str)):
12316
- payload = {"limit": 32, "offset": 0, "aid": 1, "cid": payload}
12317
- else:
12318
- payload = {"limit": 32, "offset": 0, "aid": 1, "cid": 0, **payload}
12319
- return self.request(url=api, params=payload, async_=async_, **request_kwargs)
12320
-
12321
12399
  @overload
12322
12400
  def fs_index_info(
12323
12401
  self,
@@ -12681,9 +12759,9 @@ class P115Client(P115OpenClient):
12681
12759
  - keyword: str = <default> 💡 搜索关键词
12682
12760
  - sort: "name" | "update_time" | "create_time" = <default> 💡 排序字段
12683
12761
 
12684
- - 名称: "name"
12685
- - 创建时间: "create_time"
12686
- - 更新时间: "update_time"
12762
+ - 名称: "name"
12763
+ - 创建时间: "create_time"
12764
+ - 更新时间: "update_time"
12687
12765
 
12688
12766
  - order: "asc" | "desc" = <default> 💡 排序顺序:"asc"(升序), "desc"(降序)
12689
12767
  """
@@ -12738,9 +12816,9 @@ class P115Client(P115OpenClient):
12738
12816
  - keyword: str = <default> 💡 搜索关键词
12739
12817
  - sort: "name" | "update_time" | "create_time" = <default> 💡 排序字段
12740
12818
 
12741
- - 名称: "name"
12742
- - 创建时间: "create_time"
12743
- - 更新时间: "update_time"
12819
+ - 名称: "name"
12820
+ - 创建时间: "create_time"
12821
+ - 更新时间: "update_time"
12744
12822
 
12745
12823
  - order: "asc" | "desc" = <default> 💡 排序顺序:"asc"(升序), "desc"(降序)
12746
12824
  """
@@ -12875,10 +12953,10 @@ class P115Client(P115OpenClient):
12875
12953
  :payload:
12876
12954
  - action: "add" | "remove" | "reset" | "replace" 💡 操作名
12877
12955
 
12878
- - "add": 添加
12879
- - "remove": 移除
12880
- - "reset": 重设
12881
- - "replace": 替换
12956
+ - "add": 添加
12957
+ - "remove": 移除
12958
+ - "reset": 重设
12959
+ - "replace": 替换
12882
12960
 
12883
12961
  - file_ids: int | str 💡 文件或目录 id,多个用逗号 "," 隔开
12884
12962
  - file_label: int | str = <default> 💡 标签 id,多个用逗号 "," 隔开
@@ -12928,10 +13006,10 @@ class P115Client(P115OpenClient):
12928
13006
  :payload:
12929
13007
  - action: "add" | "remove" | "reset" | "replace" 💡 操作名
12930
13008
 
12931
- - "add": 添加
12932
- - "remove": 移除
12933
- - "reset": 重设
12934
- - "replace": 替换
13009
+ - "add": 添加
13010
+ - "remove": 移除
13011
+ - "reset": 重设
13012
+ - "replace": 替换
12935
13013
 
12936
13014
  - file_ids: int | str 💡 文件或目录 id,多个用逗号 "," 隔开
12937
13015
  - file_label: int | str = <default> 💡 标签 id,多个用逗号 "," 隔开
@@ -14204,12 +14282,12 @@ class P115Client(P115OpenClient):
14204
14282
  :payload:
14205
14283
  - user_order: str 💡 用某字段排序
14206
14284
 
14207
- - "file_name": 文件名
14208
- - "file_size": 文件大小
14209
- - "file_type": 文件种类
14210
- - "user_utime": 修改时间
14211
- - "user_ptime": 创建时间
14212
- - "user_otime": 上一次打开时间
14285
+ - "file_name": 文件名
14286
+ - "file_size": 文件大小
14287
+ - "file_type": 文件种类
14288
+ - "user_utime": 修改时间
14289
+ - "user_ptime": 创建时间
14290
+ - "user_otime": 上一次打开时间
14213
14291
 
14214
14292
  - file_id: int | str = 0 💡 目录 id,对应 parent_id
14215
14293
  - user_asc: 0 | 1 = <default> 💡 是否升序排列
@@ -14267,12 +14345,12 @@ class P115Client(P115OpenClient):
14267
14345
  :payload:
14268
14346
  - user_order: str 💡 用某字段排序
14269
14347
 
14270
- - "file_name": 文件名
14271
- - "file_size": 文件大小
14272
- - "file_type": 文件种类
14273
- - "user_utime": 修改时间
14274
- - "user_ptime": 创建时间
14275
- - "user_otime": 上一次打开时间
14348
+ - "file_name": 文件名
14349
+ - "file_size": 文件大小
14350
+ - "file_type": 文件种类
14351
+ - "user_utime": 修改时间
14352
+ - "user_ptime": 创建时间
14353
+ - "user_otime": 上一次打开时间
14276
14354
 
14277
14355
  - file_id: int | str = 0 💡 目录 id,对应 parent_id
14278
14356
  - user_asc: 0 | 1 = <default> 💡 是否升序排列
@@ -14715,12 +14793,12 @@ class P115Client(P115OpenClient):
14715
14793
  - limit: int = 32 💡 一页大小,意思就是 page_size
14716
14794
  - o: str = <default> 💡 用某字段排序
14717
14795
 
14718
- - "file_name": 文件名
14719
- - "file_size": 文件大小
14720
- - "file_type": 文件种类
14721
- - "user_utime": 修改时间
14722
- - "user_ptime": 创建时间
14723
- - "user_otime": 上一次打开时间
14796
+ - "file_name": 文件名
14797
+ - "file_size": 文件大小
14798
+ - "file_type": 文件种类
14799
+ - "user_utime": 修改时间
14800
+ - "user_ptime": 创建时间
14801
+ - "user_otime": 上一次打开时间
14724
14802
 
14725
14803
  - offset: int = 0 💡 索引偏移,索引从 0 开始计算
14726
14804
  - pick_code: str = <default> 💡 是否查询提取码,如果该值为 1 则查询提取码为 `search_value` 的文件
@@ -14731,15 +14809,15 @@ class P115Client(P115OpenClient):
14731
14809
  - suffix: str = <default> 💡 文件后缀(扩展名),优先级高于 `type`
14732
14810
  - type: int = <default> 💡 文件类型
14733
14811
 
14734
- - 0: 全部(仅当前目录)
14735
- - 1: 文档
14736
- - 2: 图片
14737
- - 3: 音频
14738
- - 4: 视频
14739
- - 5: 压缩包
14740
- - 6: 软件/应用
14741
- - 7: 书籍
14742
- - 99: 仅文件
14812
+ - 0: 全部(仅当前目录)
14813
+ - 1: 文档
14814
+ - 2: 图片
14815
+ - 3: 音频
14816
+ - 4: 视频
14817
+ - 5: 压缩包
14818
+ - 6: 软件/应用
14819
+ - 7: 书籍
14820
+ - 99: 所有文件
14743
14821
  """
14744
14822
  api = complete_webapi("/files/search", base_url=base_url)
14745
14823
  if isinstance(payload, str):
@@ -14812,12 +14890,12 @@ class P115Client(P115OpenClient):
14812
14890
  - limit: int = 32 💡 一页大小,意思就是 page_size
14813
14891
  - o: str = <default> 💡 用某字段排序
14814
14892
 
14815
- - "file_name": 文件名
14816
- - "file_size": 文件大小
14817
- - "file_type": 文件种类
14818
- - "user_utime": 修改时间
14819
- - "user_ptime": 创建时间
14820
- - "user_otime": 上一次打开时间
14893
+ - "file_name": 文件名
14894
+ - "file_size": 文件大小
14895
+ - "file_type": 文件种类
14896
+ - "user_utime": 修改时间
14897
+ - "user_ptime": 创建时间
14898
+ - "user_otime": 上一次打开时间
14821
14899
 
14822
14900
  - offset: int = 0 💡 索引偏移,索引从 0 开始计算
14823
14901
  - pick_code: str = <default> 💡 是否查询提取码,如果该值为 1 则查询提取码为 `search_value` 的文件
@@ -14828,15 +14906,15 @@ class P115Client(P115OpenClient):
14828
14906
  - suffix: str = <default> 💡 后缀名(优先级高于 `type`)
14829
14907
  - type: int = <default> 💡 文件类型
14830
14908
 
14831
- - 0: 全部(仅当前目录)
14832
- - 1: 文档
14833
- - 2: 图片
14834
- - 3: 音频
14835
- - 4: 视频
14836
- - 5: 压缩包
14837
- - 6: 软件/应用
14838
- - 7: 书籍
14839
- - 99: 仅文件
14909
+ - 0: 全部(仅当前目录)
14910
+ - 1: 文档
14911
+ - 2: 图片
14912
+ - 3: 音频
14913
+ - 4: 视频
14914
+ - 5: 压缩包
14915
+ - 6: 软件/应用
14916
+ - 7: 书籍
14917
+ - 99: 所有文件
14840
14918
 
14841
14919
  - version: str = <default> 💡 版本号,比如 3.1
14842
14920
  """
@@ -14913,12 +14991,12 @@ class P115Client(P115OpenClient):
14913
14991
  - lte_day: str 💡 搜索结果匹配的结束时间;格式:YYYY-MM-DD
14914
14992
  - o: str = <default> 💡 用某字段排序
14915
14993
 
14916
- - "file_name": 文件名
14917
- - "file_size": 文件大小
14918
- - "file_type": 文件种类
14919
- - "user_utime": 修改时间
14920
- - "user_ptime": 创建时间
14921
- - "user_otime": 上一次打开时间
14994
+ - "file_name": 文件名
14995
+ - "file_size": 文件大小
14996
+ - "file_type": 文件种类
14997
+ - "user_utime": 修改时间
14998
+ - "user_ptime": 创建时间
14999
+ - "user_otime": 上一次打开时间
14922
15000
 
14923
15001
  - offset: int = 0 💡 索引偏移,索引从 0 开始计算
14924
15002
  - pick_code: str = <default> 💡 是否查询提取码,如果该值为 1 则查询提取码为 `search_value` 的文件
@@ -14929,15 +15007,15 @@ class P115Client(P115OpenClient):
14929
15007
  - suffix: str = <default> 💡 后缀名(优先级高于 `type`)
14930
15008
  - type: int = <default> 💡 文件类型
14931
15009
 
14932
- - 0: 全部(仅当前目录)
14933
- - 1: 文档
14934
- - 2: 图片
14935
- - 3: 音频
14936
- - 4: 视频
14937
- - 5: 压缩包
14938
- - 6: 软件/应用
14939
- - 7: 书籍
14940
- - 99: 仅文件
15010
+ - 0: 全部(仅当前目录)
15011
+ - 1: 文档
15012
+ - 2: 图片
15013
+ - 3: 音频
15014
+ - 4: 视频
15015
+ - 5: 压缩包
15016
+ - 6: 软件/应用
15017
+ - 7: 书籍
15018
+ - 99: 所有文件
14941
15019
 
14942
15020
  - version: str = <default> 💡 版本号,比如 3.1
14943
15021
  """
@@ -15994,24 +16072,24 @@ class P115Client(P115OpenClient):
15994
16072
  :payload:
15995
16073
  - type: str = "" 💡 操作类型,若不指定则是全部
15996
16074
 
15997
- - "upload_image_file": 1 💡 上传图片
15998
- - "upload_file": 2 💡 上传文件或目录(不包括图片)
15999
- - "star_image": 3 💡 给图片设置星标
16000
- - "star_file": 4 💡 给文件或目录设置星标(不包括图片)
16001
- - "move_image_file": 5 💡 移动图片
16002
- - "move_file": 6 💡 移动文件或目录(不包括图片)
16003
- - "browse_image": 7 💡 浏览图片
16004
- - "browse_video": 8 💡 浏览视频
16005
- - "browse_audio": 9 💡 浏览音频
16006
- - "browse_document": 10 💡 浏览文档
16007
- - "receive_files": 14 💡 接收文件
16008
- - "new_folder": 17 💡 新增目录
16009
- - "copy_folder": 18 💡 复制目录
16010
- - "folder_label": 19 💡 目录设置标签
16011
- - "folder_rename": 20 💡 目录改名
16012
- - "delete_file": 22 💡 删除文件或目录
16013
- - "copy_file": ? 💡 复制文件(未实现)
16014
- - "rename_file": ? 💡 文件改名(未实现)
16075
+ - "upload_image_file": 1 💡 上传图片
16076
+ - "upload_file": 2 💡 上传文件或目录(不包括图片)
16077
+ - "star_image": 3 💡 给图片设置星标
16078
+ - "star_file": 4 💡 给文件或目录设置星标(不包括图片)
16079
+ - "move_image_file": 5 💡 移动图片
16080
+ - "move_file": 6 💡 移动文件或目录(不包括图片)
16081
+ - "browse_image": 7 💡 浏览图片
16082
+ - "browse_video": 8 💡 浏览视频
16083
+ - "browse_audio": 9 💡 浏览音频
16084
+ - "browse_document": 10 💡 浏览文档
16085
+ - "receive_files": 14 💡 接收文件
16086
+ - "new_folder": 17 💡 新增目录
16087
+ - "copy_folder": 18 💡 复制目录
16088
+ - "folder_label": 19 💡 目录设置标签
16089
+ - "folder_rename": 20 💡 目录改名
16090
+ - "delete_file": 22 💡 删除文件或目录
16091
+ - "copy_file": ? 💡 复制文件(未实现)
16092
+ - "rename_file": ? 💡 文件改名(未实现)
16015
16093
 
16016
16094
  - limit: int = 32 💡 最大值为 1_000
16017
16095
  - offset: int = 0
@@ -16065,24 +16143,24 @@ class P115Client(P115OpenClient):
16065
16143
  :payload:
16066
16144
  - type: str = "" 💡 操作类型
16067
16145
 
16068
- - "upload_image_file": 1 💡 上传图片
16069
- - "upload_file": 2 💡 上传文件或目录(不包括图片)
16070
- - "star_image": 3 💡 给图片设置星标
16071
- - "star_file": 4 💡 给文件或目录设置星标(不包括图片)
16072
- - "move_image_file": 5 💡 移动图片
16073
- - "move_file": 6 💡 移动文件或目录(不包括图片)
16074
- - "browse_image": 7 💡 浏览图片
16075
- - "browse_video": 8 💡 浏览视频
16076
- - "browse_audio": 9 💡 浏览音频
16077
- - "browse_document": 10 💡 浏览文档
16078
- - "receive_files": 14 💡 接收文件
16079
- - "new_folder": 17 💡 新增目录
16080
- - "copy_folder": 18 💡 复制目录
16081
- - "folder_label": 19 💡 目录设置标签
16082
- - "folder_rename": 20 💡 目录改名
16083
- - "delete_file": 22 💡 删除文件或目录
16084
- - "copy_file": ? 💡 复制文件(未实现)
16085
- - "rename_file": ? 💡 文件改名(未实现)
16146
+ - "upload_image_file": 1 💡 上传图片
16147
+ - "upload_file": 2 💡 上传文件或目录(不包括图片)
16148
+ - "star_image": 3 💡 给图片设置星标
16149
+ - "star_file": 4 💡 给文件或目录设置星标(不包括图片)
16150
+ - "move_image_file": 5 💡 移动图片
16151
+ - "move_file": 6 💡 移动文件或目录(不包括图片)
16152
+ - "browse_image": 7 💡 浏览图片
16153
+ - "browse_video": 8 💡 浏览视频
16154
+ - "browse_audio": 9 💡 浏览音频
16155
+ - "browse_document": 10 💡 浏览文档
16156
+ - "receive_files": 14 💡 接收文件
16157
+ - "new_folder": 17 💡 新增目录
16158
+ - "copy_folder": 18 💡 复制目录
16159
+ - "folder_label": 19 💡 目录设置标签
16160
+ - "folder_rename": 20 💡 目录改名
16161
+ - "delete_file": 22 💡 删除文件或目录
16162
+ - "copy_file": ? 💡 复制文件(未实现)
16163
+ - "rename_file": ? 💡 文件改名(未实现)
16086
16164
 
16087
16165
  - limit: int = 32 💡 最大值为 1_000
16088
16166
  - offset: int = 0
@@ -16095,6 +16173,108 @@ class P115Client(P115OpenClient):
16095
16173
  payload = {"limit": 32, "offset": 0, **payload}
16096
16174
  return self.request(url=api, params=payload, async_=async_, **request_kwargs)
16097
16175
 
16176
+ @overload
16177
+ def life_behavior_doc_post_app(
16178
+ self,
16179
+ payload: int | str | Iterable[int | str] | dict,
16180
+ /,
16181
+ app: str = "android",
16182
+ base_url: bool | str | Callable[[], str] = False,
16183
+ *,
16184
+ async_: Literal[False] = False,
16185
+ **request_kwargs,
16186
+ ) -> dict:
16187
+ ...
16188
+ @overload
16189
+ def life_behavior_doc_post_app(
16190
+ self,
16191
+ payload: int | str | Iterable[int | str] | dict,
16192
+ /,
16193
+ app: str = "android",
16194
+ base_url: bool | str | Callable[[], str] = False,
16195
+ *,
16196
+ async_: Literal[True],
16197
+ **request_kwargs,
16198
+ ) -> Coroutine[Any, Any, dict]:
16199
+ ...
16200
+ def life_behavior_doc_post_app(
16201
+ self,
16202
+ payload: int | str | Iterable[int | str] | dict,
16203
+ /,
16204
+ app: str = "android",
16205
+ base_url: bool | str | Callable[[], str] = False,
16206
+ *,
16207
+ async_: Literal[False, True] = False,
16208
+ **request_kwargs,
16209
+ ) -> dict | Coroutine[Any, Any, dict]:
16210
+ """推送事件:浏览文档 "browse_document"
16211
+
16212
+ POST https://proapi.115.com/android/files/doc_behavior
16213
+
16214
+ :payload:
16215
+ - file_id: int | str
16216
+ - file_id[0]: int | str
16217
+ - file_id[1]: int | str
16218
+ - ...
16219
+ """
16220
+ api = complete_proapi("/files/doc_behavior", base_url, app)
16221
+ if isinstance(payload, (int, str)):
16222
+ payload = {"file_id": payload}
16223
+ elif not isinstance(payload, dict):
16224
+ payload = {f"file_id[{i}]": fid for i, fid in enumerate(payload)}
16225
+ return self.request(url=api, method="POST", data=payload, async_=async_, **request_kwargs)
16226
+
16227
+ @overload
16228
+ def life_behavior_img_post_app(
16229
+ self,
16230
+ payload: int | str | Iterable[int | str] | dict,
16231
+ /,
16232
+ app: str = "android",
16233
+ base_url: bool | str | Callable[[], str] = False,
16234
+ *,
16235
+ async_: Literal[False] = False,
16236
+ **request_kwargs,
16237
+ ) -> dict:
16238
+ ...
16239
+ @overload
16240
+ def life_behavior_img_post_app(
16241
+ self,
16242
+ payload: int | str | Iterable[int | str] | dict,
16243
+ /,
16244
+ app: str = "android",
16245
+ base_url: bool | str | Callable[[], str] = False,
16246
+ *,
16247
+ async_: Literal[True],
16248
+ **request_kwargs,
16249
+ ) -> Coroutine[Any, Any, dict]:
16250
+ ...
16251
+ def life_behavior_img_post_app(
16252
+ self,
16253
+ payload: int | str | Iterable[int | str] | dict,
16254
+ /,
16255
+ app: str = "android",
16256
+ base_url: bool | str | Callable[[], str] = False,
16257
+ *,
16258
+ async_: Literal[False, True] = False,
16259
+ **request_kwargs,
16260
+ ) -> dict | Coroutine[Any, Any, dict]:
16261
+ """推送事件:浏览图片 "browse_image"
16262
+
16263
+ POST https://proapi.115.com/android/files/img_behavior
16264
+
16265
+ :payload:
16266
+ - file_id: int | str
16267
+ - file_id[0]: int | str
16268
+ - file_id[1]: int | str
16269
+ - ...
16270
+ """
16271
+ api = complete_proapi("/files/img_behavior", base_url, app)
16272
+ if isinstance(payload, (int, str)):
16273
+ payload = {"file_id": payload}
16274
+ elif not isinstance(payload, dict):
16275
+ payload = {f"file_id[{i}]": fid for i, fid in enumerate(payload)}
16276
+ return self.request(url=api, method="POST", data=payload, async_=async_, **request_kwargs)
16277
+
16098
16278
  @overload
16099
16279
  def life_calendar_getoption(
16100
16280
  self,
@@ -16328,60 +16508,6 @@ class P115Client(P115OpenClient):
16328
16508
  payload = {"start_time": payload}
16329
16509
  return self.request(url=api, params=payload, async_=async_, **request_kwargs)
16330
16510
 
16331
- @overload
16332
- def life_img_behavior_post_app(
16333
- self,
16334
- payload: int | str | Iterable[int | str] | dict,
16335
- /,
16336
- app: str = "android",
16337
- base_url: bool | str | Callable[[], str] = False,
16338
- *,
16339
- async_: Literal[False] = False,
16340
- **request_kwargs,
16341
- ) -> dict:
16342
- ...
16343
- @overload
16344
- def life_img_behavior_post_app(
16345
- self,
16346
- payload: int | str | Iterable[int | str] | dict,
16347
- /,
16348
- app: str = "android",
16349
- base_url: bool | str | Callable[[], str] = False,
16350
- *,
16351
- async_: Literal[True],
16352
- **request_kwargs,
16353
- ) -> Coroutine[Any, Any, dict]:
16354
- ...
16355
- def life_img_behavior_post_app(
16356
- self,
16357
- payload: int | str | Iterable[int | str] | dict,
16358
- /,
16359
- app: str = "android",
16360
- base_url: bool | str | Callable[[], str] = False,
16361
- *,
16362
- async_: Literal[False, True] = False,
16363
- **request_kwargs,
16364
- ) -> dict | Coroutine[Any, Any, dict]:
16365
- """推送事件:浏览图片 "browse_image"
16366
-
16367
- POST https://proapi.115.com/android/files/img_behavior
16368
-
16369
- .. note::
16370
- 如果提供的是目录的 id,则会把其中(直属的)图片记为浏览
16371
-
16372
- :payload:
16373
- - file_id: int | str
16374
- - file_id[0]: int | str
16375
- - file_id[1]: int | str
16376
- - ...
16377
- """
16378
- api = complete_proapi("/files/img_behavior", base_url, app)
16379
- if isinstance(payload, (int, str)):
16380
- payload = {"file_id": payload}
16381
- elif not isinstance(payload, dict):
16382
- payload = {f"file_id[{i}]": fid for i, fid in enumerate(payload)}
16383
- return self.request(url=api, method="POST", data=payload, async_=async_, **request_kwargs)
16384
-
16385
16511
  @overload
16386
16512
  def life_list(
16387
16513
  self,
@@ -18436,12 +18562,12 @@ class P115Client(P115OpenClient):
18436
18562
  :payload:
18437
18563
  - flag: int = 0 💡 标识,用于对应某种情况
18438
18564
 
18439
- - 0: 已完成
18440
- - 1: 全部
18441
- - 2: 已失败
18442
- - 3: 进行中
18443
- - 4: 已完成+删除源文件
18444
- - 5: 全部+删除源文件
18565
+ - 0: 已完成
18566
+ - 1: 全部
18567
+ - 2: 已失败
18568
+ - 3: 进行中
18569
+ - 4: 已完成+删除源文件
18570
+ - 5: 全部+删除源文件
18445
18571
  """
18446
18572
  if isinstance(payload, int):
18447
18573
  payload = {"flag": payload}
@@ -20104,12 +20230,12 @@ class P115Client(P115OpenClient):
20104
20230
  - is_asc: 0 | 1 = 1 💡 是否升序排列
20105
20231
  - order: str = "file_name" 💡 用某字段排序
20106
20232
 
20107
- - "file_name": 文件名
20108
- - "file_size": 文件大小
20109
- - "file_type": 文件种类
20110
- - "user_utime": 修改时间
20111
- - "user_ptime": 创建时间
20112
- - "user_otime": 上一次打开时间
20233
+ - "file_name": 文件名
20234
+ - "file_size": 文件大小
20235
+ - "file_type": 文件种类
20236
+ - "user_utime": 修改时间
20237
+ - "user_ptime": 创建时间
20238
+ - "user_otime": 上一次打开时间
20113
20239
 
20114
20240
  - ignore_warn: 0 | 1 = 1 💡 忽略信息提示,传 1 就行了
20115
20241
  """
@@ -20163,12 +20289,12 @@ class P115Client(P115OpenClient):
20163
20289
  - is_asc: 0 | 1 = 1 💡 是否升序排列
20164
20290
  - order: str = "file_name" 💡 用某字段排序
20165
20291
 
20166
- - "file_name": 文件名
20167
- - "file_size": 文件大小
20168
- - "file_type": 文件种类
20169
- - "user_utime": 修改时间
20170
- - "user_ptime": 创建时间
20171
- - "user_otime": 上一次打开时间
20292
+ - "file_name": 文件名
20293
+ - "file_size": 文件大小
20294
+ - "file_type": 文件种类
20295
+ - "user_utime": 修改时间
20296
+ - "user_ptime": 创建时间
20297
+ - "user_otime": 上一次打开时间
20172
20298
 
20173
20299
  - ignore_warn: 0 | 1 = 1 💡 忽略信息提示,传 1 就行了
20174
20300
  """
@@ -20227,15 +20353,15 @@ class P115Client(P115OpenClient):
20227
20353
  - suffix: str = <default> 💡 文件后缀(扩展名),优先级高于 `type`
20228
20354
  - type: int = <default> 💡 文件类型
20229
20355
 
20230
- - 0: 全部
20231
- - 1: 文档
20232
- - 2: 图片
20233
- - 3: 音频
20234
- - 4: 视频
20235
- - 5: 压缩包
20236
- - 6: 软件/应用
20237
- - 7: 书籍
20238
- - 99: 仅文件
20356
+ - 0: 全部
20357
+ - 1: 文档
20358
+ - 2: 图片
20359
+ - 3: 音频
20360
+ - 4: 视频
20361
+ - 5: 压缩包
20362
+ - 6: 软件/应用
20363
+ - 7: 书籍
20364
+ - 99: 所有文件
20239
20365
  """
20240
20366
  api = complete_webapi("/share/search", base_url=base_url)
20241
20367
  payload = {"cid": 0, "limit": 32, "offset": 0, "search_value": ".", **payload}
@@ -20712,9 +20838,9 @@ class P115Client(P115OpenClient):
20712
20838
  - asc: 0 | 1 = <default> 💡 是否升序排列
20713
20839
  - o: str = <default> 💡 用某字段排序
20714
20840
 
20715
- - "file_name": 文件名
20716
- - "file_size": 文件大小
20717
- - "user_ptime": 创建时间/修改时间
20841
+ - "file_name": 文件名
20842
+ - "file_size": 文件大小
20843
+ - "user_ptime": 创建时间/修改时间
20718
20844
  """
20719
20845
  api = complete_webapi("/share/snap", base_url=base_url)
20720
20846
  if isinstance(self, dict):
@@ -20787,9 +20913,9 @@ class P115Client(P115OpenClient):
20787
20913
  - asc: 0 | 1 = <default> 💡 是否升序排列
20788
20914
  - o: str = <default> 💡 用某字段排序
20789
20915
 
20790
- - "file_name": 文件名
20791
- - "file_size": 文件大小
20792
- - "user_ptime": 创建时间/修改时间
20916
+ - "file_name": 文件名
20917
+ - "file_size": 文件大小
20918
+ - "user_ptime": 创建时间/修改时间
20793
20919
  """
20794
20920
  api = complete_proapi("/2.0/share/snap", base_url, app)
20795
20921
  if isinstance(self, dict):
@@ -21030,15 +21156,15 @@ class P115Client(P115OpenClient):
21030
21156
  :payload:
21031
21157
  - filter_field: "parents" | "file_name" | "" | "" = <default> 💡 保留条件(1. 用于批量删除)
21032
21158
 
21033
- - "file_name": 文件名(按长度)
21034
- - "parents": 所在目录路径(按长度)
21035
- - "user_utime": 操作时间
21036
- - "user_ptime": 创建时间
21159
+ - "file_name": 文件名(按长度)
21160
+ - "parents": 所在目录路径(按长度)
21161
+ - "user_utime": 操作时间
21162
+ - "user_ptime": 创建时间
21037
21163
 
21038
21164
  - filter_order: "asc" | "desc" = <default> 💡 排序(2. 用于批量删除)
21039
21165
 
21040
- - "asc": 升序,从小到大,取最小
21041
- - "desc": 降序,从大到小,取最大
21166
+ - "asc": 升序,从小到大,取最小
21167
+ - "desc": 降序,从大到小,取最大
21042
21168
 
21043
21169
  - batch: 0 | 1 = <default> 💡 是否批量操作(3. 用于批量删除)
21044
21170
  - sha1s[{sha1}]: int | str = <default> 💡 文件 id,多个用逗号 "," 隔开(1. 用于手动指定删除对象)