fix
This commit is contained in:
parent
f0666986f0
commit
17fcd77b8e
@ -255,19 +255,19 @@ class TransferChain(ChainBase):
|
|||||||
medias[file_mediainfo.tmdb_id] = file_mediainfo
|
medias[file_mediainfo.tmdb_id] = file_mediainfo
|
||||||
transfers[file_mediainfo.tmdb_id] = transferinfo
|
transfers[file_mediainfo.tmdb_id] = transferinfo
|
||||||
else:
|
else:
|
||||||
# 合并元数据剧集
|
# 合并元数据集
|
||||||
if (metas[file_mediainfo.tmdb_id].begin_episode or 0) > (file_meta.begin_episode or 0):
|
if (metas[file_mediainfo.tmdb_id].begin_episode or 0) > (file_meta.begin_episode or 0):
|
||||||
metas[file_mediainfo.tmdb_id].begin_episode = file_meta.begin_episode
|
metas[file_mediainfo.tmdb_id].begin_episode = file_meta.begin_episode
|
||||||
if (metas[file_mediainfo.tmdb_id].end_episode or 0) < (file_meta.end_episode or 0):
|
if (metas[file_mediainfo.tmdb_id].end_episode or 0) < (file_meta.end_episode or 0):
|
||||||
metas[file_mediainfo.tmdb_id].end_episode = file_meta.end_episode
|
metas[file_mediainfo.tmdb_id].end_episode = file_meta.end_episode
|
||||||
metas[file_mediainfo.tmdb_id].total_episode += file_meta.total_episode
|
metas[file_mediainfo.tmdb_id].total_episode += file_meta.total_episode
|
||||||
# 合并元数据季度
|
# 合并元数据季
|
||||||
if (metas[file_mediainfo.tmdb_id].begin_season or 0) > (file_meta.begin_season or 0):
|
if (metas[file_mediainfo.tmdb_id].begin_season or 0) > (file_meta.begin_season or 0):
|
||||||
metas[file_mediainfo.tmdb_id].begin_season = file_meta.begin_season
|
metas[file_mediainfo.tmdb_id].begin_season = file_meta.begin_season
|
||||||
if (metas[file_mediainfo.tmdb_id].end_season or 0) < (file_meta.end_season or 0):
|
if (metas[file_mediainfo.tmdb_id].end_season or 0) < (file_meta.end_season or 0):
|
||||||
metas[file_mediainfo.tmdb_id].end_season = file_meta.end_season
|
metas[file_mediainfo.tmdb_id].end_season = file_meta.end_season
|
||||||
metas[file_mediainfo.tmdb_id].total_season += file_meta.total_season
|
metas[file_mediainfo.tmdb_id].total_season += file_meta.total_season
|
||||||
# 合并转移
|
# 合并转移数据
|
||||||
transfers[file_mediainfo.tmdb_id].file_count += transferinfo.file_count
|
transfers[file_mediainfo.tmdb_id].file_count += transferinfo.file_count
|
||||||
transfers[file_mediainfo.tmdb_id].file_list.extend(transferinfo.file_list)
|
transfers[file_mediainfo.tmdb_id].file_list.extend(transferinfo.file_list)
|
||||||
transfers[file_mediainfo.tmdb_id].file_list_new.extend(transferinfo.file_list_new)
|
transfers[file_mediainfo.tmdb_id].file_list_new.extend(transferinfo.file_list_new)
|
||||||
@ -502,7 +502,7 @@ class TransferChain(ChainBase):
|
|||||||
"""
|
"""
|
||||||
新增转移成功历史记录
|
新增转移成功历史记录
|
||||||
"""
|
"""
|
||||||
self.transferhis.add(
|
self.transferhis.add_force(
|
||||||
src=str(src_path),
|
src=str(src_path),
|
||||||
dest=str(transferinfo.target_path),
|
dest=str(transferinfo.target_path),
|
||||||
mode=settings.TRANSFER_TYPE,
|
mode=settings.TRANSFER_TYPE,
|
||||||
@ -525,10 +525,10 @@ class TransferChain(ChainBase):
|
|||||||
def __insert_fail_history(self, src_path: Path, download_hash: str, meta: MetaBase,
|
def __insert_fail_history(self, src_path: Path, download_hash: str, meta: MetaBase,
|
||||||
transferinfo: TransferInfo = None, mediainfo: MediaInfo = None):
|
transferinfo: TransferInfo = None, mediainfo: MediaInfo = None):
|
||||||
"""
|
"""
|
||||||
新增转移失败历史记录,不能按download_hash判重
|
新增转移失败历史记录
|
||||||
"""
|
"""
|
||||||
if mediainfo and transferinfo:
|
if mediainfo and transferinfo:
|
||||||
his = self.transferhis.add(
|
his = self.transferhis.add_force(
|
||||||
src=str(src_path),
|
src=str(src_path),
|
||||||
dest=str(transferinfo.target_path),
|
dest=str(transferinfo.target_path),
|
||||||
mode=settings.TRANSFER_TYPE,
|
mode=settings.TRANSFER_TYPE,
|
||||||
@ -549,7 +549,7 @@ class TransferChain(ChainBase):
|
|||||||
files=json.dumps(transferinfo.file_list)
|
files=json.dumps(transferinfo.file_list)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
his = self.transferhis.add(
|
his = self.transferhis.add_force(
|
||||||
title=meta.name,
|
title=meta.name,
|
||||||
year=meta.year,
|
year=meta.year,
|
||||||
src=str(src_path),
|
src=str(src_path),
|
||||||
@ -562,8 +562,8 @@ class TransferChain(ChainBase):
|
|||||||
)
|
)
|
||||||
return his
|
return his
|
||||||
|
|
||||||
def send_transfer_message(self, meta: MetaBase, mediainfo: MediaInfo, transferinfo: TransferInfo,
|
def send_transfer_message(self, meta: MetaBase, mediainfo: MediaInfo,
|
||||||
season_episode: str = None):
|
transferinfo: TransferInfo, season_episode: str = None):
|
||||||
"""
|
"""
|
||||||
发送入库成功的消息
|
发送入库成功的消息
|
||||||
"""
|
"""
|
||||||
|
@ -89,3 +89,36 @@ class DownloadHistory(Base):
|
|||||||
DownloadHistory.seasons == season,
|
DownloadHistory.seasons == season,
|
||||||
DownloadHistory.episodes == episode).order_by(
|
DownloadHistory.episodes == episode).order_by(
|
||||||
DownloadHistory.id.desc()).all()
|
DownloadHistory.id.desc()).all()
|
||||||
|
|
||||||
|
|
||||||
|
class DownloadFiles(Base):
|
||||||
|
"""
|
||||||
|
下载文件记录
|
||||||
|
"""
|
||||||
|
id = Column(Integer, Sequence('id'), primary_key=True, index=True)
|
||||||
|
# 下载任务Hash
|
||||||
|
download_hash = Column(String, index=True)
|
||||||
|
# 下载器
|
||||||
|
downloader = Column(String)
|
||||||
|
# 完整路径
|
||||||
|
fullpath = Column(String, index=True)
|
||||||
|
# 保存路径
|
||||||
|
savepath = Column(String, index=True)
|
||||||
|
# 文件相对路径/名称
|
||||||
|
filepath = Column(String)
|
||||||
|
# 种子名称
|
||||||
|
torrentname = Column(String)
|
||||||
|
# 状态 0-已删除 1-正常
|
||||||
|
state = Column(Integer, nullable=False, default=1)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_by_hash(db: Session, download_hash: str):
|
||||||
|
return db.query(DownloadFiles).filter(DownloadFiles.download_hash == download_hash).all()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_by_full_path(db: Session, fullpath: str):
|
||||||
|
return db.query(DownloadFiles).filter(DownloadFiles.fullpath == fullpath).first()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_by_save_path(db: Session, savepath: str):
|
||||||
|
return db.query(DownloadFiles).filter(DownloadFiles.savepath == savepath).all()
|
||||||
|
@ -354,7 +354,7 @@ class FileTransferModule(_ModuleBase):
|
|||||||
and mediainfo.genre_ids \
|
and mediainfo.genre_ids \
|
||||||
and set(mediainfo.genre_ids).intersection(set(settings.ANIME_GENREIDS)):
|
and set(mediainfo.genre_ids).intersection(set(settings.ANIME_GENREIDS)):
|
||||||
# 动漫
|
# 动漫
|
||||||
target_dir = target_dir / settings.LIBRARY_ANIME_NAME / mediainfo.category
|
target_dir = target_dir / settings.LIBRARY_ANIME_NAME
|
||||||
elif settings.LIBRARY_TV_NAME:
|
elif settings.LIBRARY_TV_NAME:
|
||||||
# 电视剧
|
# 电视剧
|
||||||
target_dir = target_dir / settings.LIBRARY_TV_NAME / mediainfo.category
|
target_dir = target_dir / settings.LIBRARY_TV_NAME / mediainfo.category
|
||||||
@ -390,7 +390,7 @@ class FileTransferModule(_ModuleBase):
|
|||||||
# 返回转移后的路径
|
# 返回转移后的路径
|
||||||
return TransferInfo(path=in_path,
|
return TransferInfo(path=in_path,
|
||||||
target_path=new_path,
|
target_path=new_path,
|
||||||
total_size=in_path.stat().st_size,
|
total_size=new_path.stat().st_size,
|
||||||
is_bluray=bluray_flag)
|
is_bluray=bluray_flag)
|
||||||
else:
|
else:
|
||||||
# 转移单个文件
|
# 转移单个文件
|
||||||
@ -444,9 +444,9 @@ class FileTransferModule(_ModuleBase):
|
|||||||
|
|
||||||
logger.info(f"文件 {in_path} 转移成功")
|
logger.info(f"文件 {in_path} 转移成功")
|
||||||
return TransferInfo(path=in_path,
|
return TransferInfo(path=in_path,
|
||||||
target_path=new_file,
|
target_path=new_file.parent,
|
||||||
file_count=1,
|
file_count=1,
|
||||||
total_size=in_path.stat().st_size,
|
total_size=new_file.stat().st_size,
|
||||||
is_bluray=False,
|
is_bluray=False,
|
||||||
file_list=[in_path],
|
file_list=[in_path],
|
||||||
file_list_new=[new_file])
|
file_list_new=[new_file])
|
||||||
|
@ -490,7 +490,7 @@ class DirMonitor(_PluginBase):
|
|||||||
|
|
||||||
def get_download_hash(self, src: Path, tmdb_id: int):
|
def get_download_hash(self, src: Path, tmdb_id: int):
|
||||||
"""
|
"""
|
||||||
获取download_hash
|
FIXME 从表中获取download_hash,避免连接下载器
|
||||||
"""
|
"""
|
||||||
file_name = src.name
|
file_name = src.name
|
||||||
downloadHis = self.downloadhis.get_last_by(tmdbid=tmdb_id)
|
downloadHis = self.downloadhis.get_last_by(tmdbid=tmdb_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user