modify scripts

This commit is contained in:
2025-12-25 15:02:07 +08:00
parent 2c0e3bd718
commit 6cf529541d

View File

@ -96,7 +96,7 @@ def sanitize_filename(name):
name = name.replace(char, '-')
return name
def process_scene_files(conn, mode, prefix):
def process_scene_files(conn, mode, prefix, rename_style):
"""处理所有场景文件映射关系(优化版:合并查询+预加载缓存)"""
results = []
try:
@ -179,11 +179,12 @@ def process_scene_files(conn, mode, prefix):
else:
new_basename = f"{sanitized_studio}.{release_date} {sanitized_performers} - {sanitized_title}"
# 特殊规则: 路径中带有 FA Pro 的(不区分大小写),新文件名只用 code 和 日期命名
if ("FA Pro" in folder_path or "fa pro" in folder_path.lower()) and scene_info.get('code'):
# code 转换成大写
new_code = scene_info['code'].upper()
new_basename = f"{new_code}_{release_date}.{ext}" if ext else f"{new_code}_{release_date}"
# 简化命名规则,适用于日本影片
if rename_style == 'simple':
if scene_info.get('code'):
# code 转换成大写
new_code = scene_info['code'].upper()
new_basename = f"{new_code}_{release_date}.{ext}" if ext else f"{new_code}_{release_date}"
if len(new_basename) > 254:
logger.warning(f"生成的文件名过长,跳过 (file_id={file_id}): {new_basename}")
@ -257,6 +258,7 @@ def main():
help='运行模式: check(检查) 或 run(执行)')
parser.add_argument('--db', default='movies.db', help='SQLite数据库文件路径')
parser.add_argument('--prefix', default='', help='目录前缀,用来过滤文件路径')
parser.add_argument('--rename_style', choices=['standard', 'simple'], default='standard', help='文件命名规则,标准格式和简化格式')
args = parser.parse_args()
if not os.path.exists(args.db):
@ -267,7 +269,7 @@ def main():
try:
conn = sqlite3.connect(args.db)
logger.info(f"成功连接到数据库: {args.db}")
process_scene_files(conn, args.mode, args.prefix)
process_scene_files(conn, args.mode, args.prefix, args.rename_style)
except sqlite3.Error as e:
logger.error(f"数据库连接失败: {str(e)}", exc_info=True)
finally: