add: 增加redo

This commit is contained in:
Carol 2023-09-12 10:29:19 +08:00
parent ea01fec3f8
commit a95e3b456a
3 changed files with 26 additions and 15 deletions

View File

@ -95,7 +95,7 @@ if __name__ == '__main__':
__output = "data/data/metadata/person"
# TMDB API TOKEN
__tmdb_token = "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxYTU4ODAxMGY5OTUwYWEyNThhYjFhYjJlMjI4NGVmYSIsInN1YiI6IjYxYmRmOGNjMzgzZGYyMDA0MjIzNDhjOSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.RPG8F8AELlK7MgrXDR2U0YRv61VteZZ9ponilnkQqkE"
__mode = "scrape"
__mode = "redo"
if len(sys_args.keys()) > 0:
# 扫描目录
__dir_path = sys_args["__dir_path"]

22
redo.py
View File

@ -15,29 +15,31 @@ from tmdb import Tmdb
def __redo(log, output, tmdb_token, language="zh-CN"):
log.logger.info("------------------- 开始重新刮削: {0} -------------------".format("./error_tmdb_ids.txt"))
with open("./error_tmdb_ids.txt", "r") as error_f:
error_info = error_f.read()
for info in error_info.split(","):
info = info.strip()
__tmdbid = info.split("-")[2]
__actor_name = info.split("-")[0]
if "" == info:
break
__tmdb_id = info.split("-tmdb-")[1]
__actor_name = info.split("-tmdb-")[0]
__name = __actor_name[0].lower()
__full_actor_name = __actor_name + "-tmdb-" + __tmdbid
__full_actor_name = __actor_name + "-tmdb-" + __tmdb_id
__path_dir = os.path.join(output, __name, __full_actor_name)
if not os.path.exists(__path_dir):
os.makedirs(__path_dir)
# 如果存在元数据则不再进行刮削
if "person.nfo" not in os.listdir(__path_dir):
Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token,
language=language).create_actor_nfo()
else:
log.logger.info("当前路径已存在person.nfo文件, 跳过刮削:{0}".format(__path_dir))
# 如果存在元数据则覆盖刮削
Tmdb(log=log, tmdb_id=__tmdb_id, actor_path=__path_dir, tmdb_token=tmdb_token,
language=language).create_actor_nfo(redo=True)
# 如果存在海报则不再进行刮削
if "folder.jpg" not in os.listdir(__path_dir):
Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token,
Tmdb(log=log, tmdb_id=__tmdb_id, actor_path=__path_dir, tmdb_token=tmdb_token,
language=language).get_actor_image()
else:
log.logger.info("当前路径已存在folder.jpg文件, 跳过刮削:{0}".format(__path_dir))
log.logger.info("------------------- 结束重新刮削: {0} -------------------".format("./error_tmdb_ids.txt"))
if __name__ == '__main__':

17
tmdb.py
View File

@ -77,7 +77,7 @@ class Tmdb:
plot = plot.replace("\n", "").replace("\r\n", "")
return plot
def create_actor_nfo(self):
def create_actor_nfo(self, redo=False):
actor_json = {}
plot = self.get_actor_plot()
actor_json["plot"] = plot
@ -120,10 +120,19 @@ class Tmdb:
person_nfo = os.path.join(self.actor_path, "person.nfo")
try:
Make(xml_path=person_nfo, data=actor_data).create()
# 重做模式下删除重新成功刮削的信息
if redo:
error_file_read = open("./error_tmdb_ids.txt", "r+")
new_read = error_file_read.read().replace(os.path.basename(self.actor_path) + ",", "")
error_file_w = open("./error_tmdb_ids.txt", "w")
error_file_w.write(new_read)
error_file_w.close()
except Exception as e:
os.remove(person_nfo)
error_file = open("./error_tmdb_ids.txt", "w+")
error_file.write(os.path.basename(self.actor_path) + ",")
error_file.close()
# 非重做模式下记录刮削异常信息,重做模式下不再重复记录
if not redo:
error_file = open("./error_tmdb_ids.txt", "w+")
error_file.write(os.path.basename(self.actor_path) + ",")
error_file.close()
self.log.logger.error(actor_data)
self.log.logger.error("当前写入元数据出现异常,路径:{0}, 异常:{1}".format(self.actor_path, e))