62 lines
2.5 KiB
Python
62 lines
2.5 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
# 多线程模式执行脚本
|
|
import os
|
|
import shutil
|
|
|
|
from main import __init_logger, __get_sys_args, __check_version, __create_default_dirs
|
|
from utils.scrape import Scrape
|
|
|
|
|
|
def __cut_dirs(log, dir_path, output):
|
|
log.logger.info("开始执行元数据文件分组:{0}".format(dir_path))
|
|
# 默认 language="zh-CN" (简体中文),可以通过修改 "language" 的值变更获取元数据的语言类别
|
|
# 将nfo文件根据首字母小些切分成不同的文件夹
|
|
nfo_list = os.path.join(os.path.dirname(output), "nfo_list")
|
|
if not os.path.exists(nfo_list):
|
|
os.makedirs(nfo_list)
|
|
for nfo_file_dir in dir_path:
|
|
for nfo_file in os.listdir(nfo_file_dir):
|
|
__name = nfo_file[0].lower()
|
|
__path_dir = os.path.join(nfo_list, __name)
|
|
if not os.path.exists(__path_dir):
|
|
os.makedirs(__path_dir)
|
|
shutil.copyfile(os.path.join(nfo_file_dir, nfo_file), os.path.join(__path_dir, nfo_file))
|
|
log.logger.info("结束执行元数据文件分组:{0}".format(nfo_list))
|
|
return nfo_list
|
|
|
|
|
|
if __name__ == '__main__':
|
|
# 初始化日志
|
|
__log = __init_logger()
|
|
sys_args = __get_sys_args(log=__log)
|
|
# 扫描目录
|
|
__dir_path = ["data/metadata/nfo"]
|
|
# 输出演员元数据目录
|
|
__output = "data/metadata/person"
|
|
# TMDB API TOKEN
|
|
__tmdb_token = "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxYTU4ODAxMGY5OTUwYWEyNThhYjFhYjJlMjI4NGVmYSIsInN1YiI6IjYxYmRmOGNjMzgzZGYyMDA0MjIzNDhjOSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.RPG8F8AELlK7MgrXDR2U0YRv61VteZZ9ponilnkQqkE"
|
|
__mode = "scrape"
|
|
__language = "zh-CN"
|
|
if len(sys_args.keys()) > 0:
|
|
# 扫描目录
|
|
__dir_path = sys_args["__dir_path"]
|
|
# 输出演员元数据目录
|
|
__output = sys_args["__output"]
|
|
# TMDB API TOKEN
|
|
__tmdb_token = sys_args["__tmdb_token"]
|
|
__language = sys_args["__language"]
|
|
# 检查python版本
|
|
__check_version(log=__log)
|
|
# 开始执行主程序
|
|
__create_default_dirs()
|
|
__nfo_list = __cut_dirs(log=__log, dir_path=__dir_path, output=__output)
|
|
# 删除异常信息存储文件
|
|
error_file_path = "./error_tmdb_ids.txt"
|
|
if os.path.exists(error_file_path):
|
|
os.remove(error_file_path)
|
|
for dir_name in os.listdir(__nfo_list):
|
|
scrape = Scrape(log=__log, dir_path=os.path.join(__nfo_list, dir_name), output=__output,
|
|
tmdb_token=__tmdb_token, language=__language)
|
|
scrape.start()
|