add: 新增check模式
This commit is contained in:
parent
7016c93141
commit
403f137a1e
14
README.md
14
README.md
|
@ -1,4 +1,6 @@
|
||||||
# tmdb-person
|
# tmdb-person
|
||||||
|
|
||||||
|
![Version](https://img.shields.io/badge/version-1.0.2-blue)
|
||||||
![Python](https://img.shields.io/badge/Python-3.9-green)
|
![Python](https://img.shields.io/badge/Python-3.9-green)
|
||||||
![TMDB](https://img.shields.io/badge/TMDB-V3-orign)
|
![TMDB](https://img.shields.io/badge/TMDB-V3-orign)
|
||||||
![https://blog.cnkj.site](https://img.shields.io/badge/Blog-blog.cnkj.site-blue)
|
![https://blog.cnkj.site](https://img.shields.io/badge/Blog-blog.cnkj.site-blue)
|
||||||
|
@ -61,9 +63,11 @@ pip3 install -r requirements.txt
|
||||||
* 访问 [API](https://www.themoviedb.org/settings/api)
|
* 访问 [API](https://www.themoviedb.org/settings/api)
|
||||||
* 复制 `API 读访问令牌`
|
* 复制 `API 读访问令牌`
|
||||||
* __mode: 脚本执行模式, 可选参数. 命令行执行脚本使用```--mode collect``` 调用
|
* __mode: 脚本执行模式, 可选参数. 命令行执行脚本使用```--mode collect``` 调用
|
||||||
* scrape: 刮削模式,从扫描目录直接识别nfo文件并刮削元数据和图片到输出目录中
|
* scrape: 刮削模式.从扫描目录直接识别nfo文件并刮削元数据和图片到输出目录中
|
||||||
* collect: 转移模式,从扫描目录收集所有nfo文件并复制到输出目录中(不执行刮削操作)
|
* collect: 转移模式.从扫描目录收集所有nfo文件并复制到输出目录中(不执行刮削操作)
|
||||||
* redo: 重做模式,执行正常刮削数据中出现的异常进行重新处理
|
* redo: 重做模式.执行正常刮削数据中出现的异常进行重新处理
|
||||||
|
* check: 检查模式.检查指定路径下的全部文件夹中演员元数据`person.nfo` 和 演员图片`folder.jpg` 是否存在并分别记录到 [no_nfo_tmdb_ids.txt](no_nfo_tmdb_ids.txt) 和 [no_image_tmdb_ids.txt](no_image_tmdb_ids.txt) 日志文件中
|
||||||
|
* `scan_path` 扫描目录路径使用 `__output` 路径
|
||||||
|
|
||||||
**`目录结构说明`**
|
**`目录结构说明`**
|
||||||
- ./movies
|
- ./movies
|
||||||
|
@ -82,7 +86,7 @@ pip3 install -r requirements.txt
|
||||||
> 参数 `__mode` 为可选参数,具体请参考`参数说明`内容
|
> 参数 `__mode` 为可选参数,具体请参考`参数说明`内容
|
||||||
|
|
||||||
#### 直接修改脚本文件方式
|
#### 直接修改脚本文件方式
|
||||||
1. 修改 `main.py` 文件中 `if __name__ == '__main__':` 方法中 `__dir_path` 、 `__output` 、 `__tmdb_token` 参数值
|
1. 修改 `main.py` 文件中 `if __name__ == '__main__':` 方法中 `__dir_path` 、 `__output` 、 `__tmdb_token` 、 `__mode`参数值
|
||||||
2. 执行脚本
|
2. 执行脚本
|
||||||
```python
|
```python
|
||||||
python3 main.py
|
python3 main.py
|
||||||
|
@ -92,7 +96,7 @@ python3 main.py
|
||||||
> 注意参数 `--dir_path` 的值如果需要配置多个,请使用英文半角逗号拼接,不要有空格
|
> 注意参数 `--dir_path` 的值如果需要配置多个,请使用英文半角逗号拼接,不要有空格
|
||||||
|
|
||||||
```python
|
```python
|
||||||
python3 main.py --dir_path "example/movies","example/tvs" --output data/metadata/person --tmdb_token
|
python3 main.py --dir_path "example/movies","example/tvs" --output data/metadata/person --tmdb_token tmdb_token --mode collect
|
||||||
```
|
```
|
||||||
|
|
||||||
### 补充
|
### 补充
|
||||||
|
|
5
main.py
5
main.py
|
@ -4,7 +4,7 @@ import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from collect_metadata import __collect_nfo
|
from collect_metadata import __collect_nfo
|
||||||
from redo import __redo
|
from redo import __redo,__check
|
||||||
from scrape import __execute
|
from scrape import __execute
|
||||||
from utils.LoggerUtil import Logger
|
from utils.LoggerUtil import Logger
|
||||||
|
|
||||||
|
@ -119,3 +119,6 @@ if __name__ == '__main__':
|
||||||
__execute(log=__log, dir_path=__real_dir_path, output=__output, tmdb_token=__tmdb_token)
|
__execute(log=__log, dir_path=__real_dir_path, output=__output, tmdb_token=__tmdb_token)
|
||||||
if "redo" == __mode:
|
if "redo" == __mode:
|
||||||
__redo(log=__log, output=__output, tmdb_token=__tmdb_token)
|
__redo(log=__log, output=__output, tmdb_token=__tmdb_token)
|
||||||
|
if "check" == __mode:
|
||||||
|
__check(scan_path=__output)
|
||||||
|
|
||||||
|
|
11
redo.py
11
redo.py
|
@ -42,17 +42,16 @@ def __redo(log, output, tmdb_token, language="zh-CN"):
|
||||||
log.logger.info("------------------- 结束重新刮削: {0} -------------------".format("./error_tmdb_ids.txt"))
|
log.logger.info("------------------- 结束重新刮削: {0} -------------------".format("./error_tmdb_ids.txt"))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
def __check(scan_path="data/metadata/person"):
|
||||||
os.remove("./no_nfo_tmdb_ids.txt")
|
os.remove("./no_nfo_tmdb_ids.txt")
|
||||||
os.remove("./no_image_tmdb_ids.txt")
|
os.remove("./no_image_tmdb_ids.txt")
|
||||||
error_file_nfo = open("./no_nfo_tmdb_ids.txt", "w+")
|
error_file_nfo = open("./no_nfo_tmdb_ids.txt", "w+")
|
||||||
error_file_image = open("./no_image_tmdb_ids.txt", "w+")
|
error_file_image = open("./no_image_tmdb_ids.txt", "w+")
|
||||||
for i in os.listdir("data/metadata/person"):
|
for i in os.listdir(scan_path):
|
||||||
for files in os.listdir(os.path.join("data/metadata/person", i)):
|
for files in os.listdir(os.path.join(scan_path, i)):
|
||||||
print(files)
|
if "person.nfo" not in os.listdir(os.path.join(scan_path, i, files)):
|
||||||
if "person.nfo" not in os.listdir(os.path.join("data/metadata/person", i, files)):
|
|
||||||
error_file_nfo.write(files + "\n")
|
error_file_nfo.write(files + "\n")
|
||||||
if "folder.jpg" not in os.listdir(os.path.join("data/metadata/person", i, files)):
|
if "folder.jpg" not in os.listdir(os.path.join(scan_path, i, files)):
|
||||||
error_file_image.write(files + "\n")
|
error_file_image.write(files + "\n")
|
||||||
error_file_nfo.close()
|
error_file_nfo.close()
|
||||||
error_file_image.close()
|
error_file_image.close()
|
||||||
|
|
|
@ -27,7 +27,7 @@ def __execute(log, dir_path, output, tmdb_token, language="zh-CN"):
|
||||||
# __file_path = "example/神出鬼没 (2023) - 2160p.nfo"
|
# __file_path = "example/神出鬼没 (2023) - 2160p.nfo"
|
||||||
__nfo_data = Analyze(file_path=__file_path).analyze()
|
__nfo_data = Analyze(file_path=__file_path).analyze()
|
||||||
for __actor in __nfo_data["actors"]:
|
for __actor in __nfo_data["actors"]:
|
||||||
log.logger.warn("当前解析的演员信息: {0}".format(__actor))
|
log.logger.info("当前解析的演员信息: {0}".format(__actor))
|
||||||
if "tmdbid" in __actor.keys():
|
if "tmdbid" in __actor.keys():
|
||||||
__tmdbid = __actor["tmdbid"]
|
__tmdbid = __actor["tmdbid"]
|
||||||
__actor_name = __actor["name"]
|
__actor_name = __actor["name"]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user