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)