feat: 增加转移覆盖模式配置
This commit is contained in:
parent
6415fd9286
commit
9a810f440d
@ -199,6 +199,8 @@ MoviePilot需要配套下载器和媒体服务器配合使用。
|
||||
|
||||
- **BIG_MEMORY_MODE:** 大内存模式,默认为`false`,开启后会占用更多的内存,但响应速度会更快
|
||||
|
||||
- **OVERWRITE_MODE:** 转移覆盖模式,默认为`nerver`,支持`nerver`/`size`/`always`,分别表示`不覆盖`/`根据大小覆盖(大覆盖小)`/`总是覆盖`
|
||||
|
||||
- **MOVIE_RENAME_FORMAT:** 电影重命名格式
|
||||
|
||||
`MOVIE_RENAME_FORMAT`支持的配置项:
|
||||
|
@ -204,6 +204,8 @@ class Settings(BaseSettings):
|
||||
"/Season {{season}}" \
|
||||
"/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}" \
|
||||
"{{fileExt}}"
|
||||
# 转移时覆盖模式
|
||||
OVERWRITE_MODE: str = "nerver"
|
||||
# 大内存模式
|
||||
BIG_MEMORY_MODE: bool = False
|
||||
|
||||
|
@ -468,9 +468,20 @@ class FileTransferModule(_ModuleBase):
|
||||
# 判断是否要覆盖
|
||||
overflag = False
|
||||
if new_file.exists():
|
||||
if new_file.stat().st_size < in_path.stat().st_size:
|
||||
logger.info(f"目标文件已存在,但文件大小更小,将覆盖:{new_file}")
|
||||
# 目标文件已存在
|
||||
match settings.OVERWRITE_MODE:
|
||||
case 'always':
|
||||
overflag = True
|
||||
logger.info(f"目标文件已存在,将被覆盖:{new_file}")
|
||||
case 'size':
|
||||
if new_file.stat().st_size < in_path.stat().st_size:
|
||||
logger.info(f"目标文件已存在,但文件大小更小,将被覆盖:{new_file}")
|
||||
overflag = True
|
||||
case 'never':
|
||||
overflag = False
|
||||
logger.info(f"目标文件已存在,停止转移")
|
||||
case _:
|
||||
pass
|
||||
# 原文件大小
|
||||
file_size = in_path.stat().st_size
|
||||
# 转移文件
|
||||
|
Loading…
x
Reference in New Issue
Block a user