Metadata-Version: 2.1
Name: p115updatedb
Version: 0.0.10.3
Summary: 把 115 网盘的文件列表导出到数据库
Home-page: https://github.com/ChenyangGao/p115client/tree/main/modules/p115updatedb
License: MIT
Keywords: python-115,updatedb
Author: ChenyangGao
Author-email: wosiwujm@gmail.com
Requires-Python: >=3.12,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: orjson
Requires-Dist: p115client (>=0.0.4.8.2)
Requires-Dist: posixpatht (>=0.0.4)
Requires-Dist: python-concurrenttools (>=0.0.6)
Requires-Dist: python-iterutils (>=0.1.1)
Requires-Dist: sqlitetools (>=0.0.2.1)
Project-URL: Repository, https://github.com/ChenyangGao/p115client/tree/main/modules/p115updatedb
Description-Content-Type: text/markdown

# 把 115 网盘的文件列表导出到数据库

## 安装

你可以通过 [pypi](https://pypi.org/project/p115updatedb/) 安装

```console
pip install -U p115updatedb
```

## 用法

### 模块

```python
from p115updatedb import updatedb_life_iter, updatedb_life, updatedb, updatedb_one, updatedb_tree
```

另外也提供了一些工具函数，封装了一些数据库查询

```python
from p115updatedb.query import *
```

### 命令行

```console
$ p115updatedb -h
usage: p115updatedb [-h] [-cp COOKIES_PATH] [-f DBFILE] [-i INTERVAL] [-st AUTO_SPLITTING_THRESHOLD] [-sst AUTO_SPLITTING_STATISTICS_TIMEOUT] [-nm] [-nr] [-de] [-v]
                    [-l]
                    [dir ...]

遍历 115 网盘的目录信息导出到数据库

positional arguments:
  dir                   115 目录，可以传入多个，如果不传默认为 0
                        允许 3 种类型的目录
                            1. 整数，视为目录的 id
                            2. 形如 "/名字/名字/..." 的路径，最前面的 "/" 可以省略，本程序会尝试获取对应的 id
                            3. 形如 "根目录 > 名字 > 名字 > ..." 的路径，来自点击文件的【显示属性】，在【位置】这部分看到的路径，本程序会尝试获取对应的 id

options:
  -h, --help            show this help message and exit
  -cp COOKIES_PATH, --cookies-path COOKIES_PATH
                        cookies 文件保存路径，默认为当前工作目录下的 115-cookies.txt
  -f DBFILE, --dbfile DBFILE
                        sqlite 数据库文件路径，默认为在当前工作目录下的 f'115-{user_id}.db'
  -i INTERVAL, --interval INTERVAL
                        两次批量拉取之间的睡眠时间，如果 <= 0，则不睡眠
  -st AUTO_SPLITTING_THRESHOLD, --auto-splitting-threshold AUTO_SPLITTING_THRESHOLD
                        自动拆分的文件数阈值，大于此值时，自动进行拆分，如果 = 0，则总是拆分，如果 < 0，则总是不拆分，默认值 100,000（10 万）
  -sst AUTO_SPLITTING_STATISTICS_TIMEOUT, --auto-splitting-statistics-timeout AUTO_SPLITTING_STATISTICS_TIMEOUT
                        自动拆分前的执行文件数统计的超时时间（秒），大于此值时，视为文件数无穷大，如果 <= 0，视为永不超时，默认值 3
  -nm, --no-dir-moved   声明没有目录被移动或改名（但可以有目录被新增或删除），这可以加快批量拉取时的速度
  -nr, --not-recursive  不遍历目录树：只拉取顶层目录，不递归子目录
  -de, --disable-event  关闭 event 表的数据收集
  -v, --version         输出版本号
  -l, --license         输出开源协
```

