updatedb

更新数据库

这个模块提供了一些和更新数据库有关的函数

p115client.tool.updatedb.updatedb(client: str | PathLike | P115Client, con='', cid: int | str = 0, recursive: bool = True, only_alive: bool = False, lock=None, *, async_: Literal[False] = False, **request_kwargs) int[source]
p115client.tool.updatedb.updatedb(client: str | PathLike | P115Client, con='', cid: int | str = 0, recursive: bool = True, only_alive: bool = False, lock=None, *, async_: Literal[True], **request_kwargs) Coroutine[Any, Any, int]

拉取一个目录

Parameters:
  • client – 115 客户端或 cookies

  • con – 数据库链接、游标或路径

  • cid – 目录的 id 或 pickcode

  • recursive – 是否拉取目录树

  • only_alive – 只更新 is_alive=True 的条目

  • lock – 更新数据库时加锁

  • async – 是否异步

  • request_kwargs – 其它请求参数

p115client.tool.updatedb.updatedb_event_iter(client: str | PathLike | P115Client, con='', from_id: int = -1, from_time: float = 0, cooldown: float = 5, app: str = 'android', history: bool = False, lock=None, *, async_: Literal[False] = False, **request_kwargs) Iterator[list[dict]][source]
p115client.tool.updatedb.updatedb_event_iter(client: str | PathLike | P115Client, con='', from_id: int = -1, from_time: float = 0, cooldown: float = 5, app: str = 'android', history: bool = False, lock=None, *, async_: Literal[True], **request_kwargs) AsyncIterator[list[dict]]

持续采集 115 生活日志,以更新 SQLite 数据库

Note

from_id < 0 时,会从数据库获取最大 id 作为 from_id,获取不到时设为 0。 当 from_id != 0 时,如果 from_time 为 0,则自动重设为 -1。

Parameters:
  • client – 115 网盘客户端对象

  • con – 数据库文件路径,如果为 None,则自动确定

  • from_id – 开始的事件 id (不含),若 < 0 则是从数据库获取最大 id

  • from_time – 开始时间(含),若为 0 则从当前时间开始,若 < 0 则从最早开始

  • cooldown – 冷却时间,大于 0 时,两次接口调用之间至少间隔这么多秒

  • app – 使用指定 app(设备)的接口

  • history – 如果为 False,拉取 life 事件,否则拉取 history 事件

  • lock – 更新数据库时加锁

  • async – 是否异步

  • request_kwargs – 其它请求参数

Returns:

迭代器,每次产生一批事件(从当前到上次截止)

from time import sleep
from p115client import P115Client
from p115client.tool import updatedb_life_iter

client = P115Client.from_path()

for event_list in updatedb_life_iter(client):
    if event_list:
        print("采集到操作事件列表:", event_list)
    else:
        sleep(1)
p115client.tool.updatedb.updatedb_initdb(con, /)[source]

初始化数据库,然后返回游标