pool

cookies 池

这个模块提供了一些和 cookies 池有关的函数

p115client.tool.pool.auth_pool(client: str | PathLike | P115Client, app_ids: Iterable[int], heap: None | list[tuple[float, dict | ComparedWithID[dict]]] = None, cooldown_time: int | float = 1, live_time: int | float = 7000, lock: bool = False, **request_kwargs) Callable[source]

authorization 请求头池

Parameters:
  • client – 115 客户端或 cookies

  • app_ids – 一组开放应用的 AppID

  • heap – 最小堆,可以包含一组初始值,各是一个元组,包含(上一次获取时刻, 值)

  • cooldown_time – 值的冷却时间

  • live_time – 值的存活时间,默认是无穷大

  • lock – 锁,如果不需要锁,传入 False

  • request_kwargs – 其它请求参数

Returns:

返回一个函数,调用后返回一个元组,包含值 和 一个调用(以在完成后把值返还池中)

p115client.tool.pool.call_wrap_with_pool(get_cert_headers: Callable, /, func: Callable) Callable[source]

包装函数,用认证信息请求头的分发池执行请求

Parameters:
  • get_cert_headers – 获取认证信息的请求头的函数

  • func – 执行请求的函数

p115client.tool.pool.client_pool(client: str | PathLike | P115Client, app: str | Iterable[str] = '', heap: None | list[tuple[float, P115Client | ComparedWithID[P115Client]]] = None, cooldown_time: int | float = 1, live_time: int | float = inf, lock: bool = False, **request_kwargs) Callable[source]

client 池

Parameters:
  • client – 115 客户端或 cookies

  • app – 自动扫码后绑定的 app(多个则传入一组 app 的可迭代对象)

  • heap – 最小堆,可以包含一组初始值,各是一个元组,包含(上一次获取时刻, 值)

  • cooldown_time – 值的冷却时间

  • live_time – 值的存活时间,默认是无穷大

  • lock – 锁,如果不需要锁,传入 False

  • request_kwargs – 其它请求参数

Returns:

返回一个函数,调用后返回一个元组,包含值 和 一个调用(以在完成后把值返还池中)

p115client.tool.pool.cookies_pool(client: str | PathLike | P115Client, app: str | Iterable[str] = '', heap: None | list[tuple[float, dict | ComparedWithID[dict]]] = None, cooldown_time: int | float = 1, live_time: int | float = inf, lock: bool = False, **request_kwargs) Callable[source]

cookie 请求头池

Parameters:
  • client – 115 客户端或 cookies

  • app – 自动扫码后绑定的 app(多个则传入一组 app 的可迭代对象)

  • heap – 最小堆,可以包含一组初始值,各是一个元组,包含(上一次获取时刻, 值)

  • cooldown_time – 值的冷却时间

  • live_time – 值的存活时间,默认是无穷大

  • lock – 锁,如果不需要锁,传入 False

  • request_kwargs – 其它请求参数

Returns:

返回一个函数,调用后返回一个元组,包含值 和 一个调用(以在完成后把值返还池中)

p115client.tool.pool.generate_auth_factory(client: str | PathLike | P115Client, app_ids: Iterable[int], **request_kwargs) Callable[source]

利用一个已登录设备的 cookies,产生若干开放应用的 access_token

Parameters:
  • client – 115 客户端或 cookies

  • app_ids – 一组开放应用的 AppID

  • request_kwargs – 其它请求参数

Returns:

函数,调用以返回一个字典,包含 authorization 请求头

p115client.tool.pool.generate_client_factory(client: str | PathLike | P115Client, app: str | Iterable[str] = '', **request_kwargs) Callable[source]

利用一个已登录设备的 client,产生另一个设备的若干 client

Parameters:
  • client – 115 客户端或 cookies

  • app – 自动扫码后绑定的 app(多个则传入一组 app 的可迭代对象)

  • request_kwargs – 其它请求参数

Returns:

函数,调用以返回一个 client

p115client.tool.pool.generate_cookies_factory(client: str | PathLike | P115Client, app: str | Iterable[str] = '', **request_kwargs) Callable[source]

利用一个已登录设备的 cookies,产生另一个设备的若干 cookies

Parameters:
  • client – 115 客户端或 cookies

  • app – 自动扫码后绑定的 app(多个则传入一组 app 的可迭代对象)

  • request_kwargs – 其它请求参数

Returns:

函数,调用以返回一个字典,包含 cookie 请求头

p115client.tool.pool.make_pool(generate_factory: Callable, heap: None | list[tuple[float, T | ComparedWithID]] = None, cooldown_time: int | float = 1, live_time: int | float = inf, lock: bool = True, **request_kwargs) Callable[source]

创建池

Parameters:
  • generate_factory – 产生值的工厂函数

  • heap – 最小堆,可以包含一组初始值,各是一个元组,包含(上一次获取时刻, 值)

  • cooldown_time – 值的冷却时间

  • live_time – 值的存活时间,默认是无穷大

  • lock – 是否需要锁

  • request_kwargs – 其它请求参数

Returns:

返回一个函数,调用后返回一个元组,包含 值 和 一个调用以在完成后把 值 返还池中