This commit is contained in:
thsrite 2023-08-20 21:24:40 +08:00
parent 8b8473b92c
commit 062e9e467d
3 changed files with 15 additions and 17 deletions

View File

@ -85,7 +85,7 @@ class TransferHistory(Base):
return db.query(func.count(TransferHistory.id)).filter(TransferHistory.title.like(f'%{title}%')).first()[0] return db.query(func.count(TransferHistory.id)).filter(TransferHistory.title.like(f'%{title}%')).first()[0]
@staticmethod @staticmethod
def list_by(db: Session, mtype: str = None, title: str = None, year: int = None, season: str = None, def list_by(db: Session, title: str = None, year: int = None, season: str = None,
episode: str = None, tmdbid: str = None): episode: str = None, tmdbid: str = None):
""" """
据tmdbidseasonseason_episode查询转移记录 据tmdbidseasonseason_episode查询转移记录
@ -101,19 +101,16 @@ class TransferHistory(Base):
TransferHistory.episodes == episode).all() TransferHistory.episodes == episode).all()
# 电视剧所有季集|电影 # 电视剧所有季集|电影
if not season and not episode: if not season and not episode:
return db.query(TransferHistory).filter(TransferHistory.type == mtype, return db.query(TransferHistory).filter(TransferHistory.title == title,
TransferHistory.title == title,
TransferHistory.year == year).all() TransferHistory.year == year).all()
# 电视剧某季 # 电视剧某季
if season and not episode: if season and not episode:
return db.query(TransferHistory).filter(TransferHistory.type == mtype, return db.query(TransferHistory).filter(TransferHistory.title == title,
TransferHistory.title == title,
TransferHistory.year == year, TransferHistory.year == year,
TransferHistory.seasons == season).all() TransferHistory.seasons == season).all()
# 电视剧某季某集 # 电视剧某季某集
if season and episode: if season and episode:
return db.query(TransferHistory).filter(TransferHistory.type == mtype, return db.query(TransferHistory).filter(TransferHistory.title == title,
TransferHistory.title == title,
TransferHistory.year == year, TransferHistory.year == year,
TransferHistory.seasons == season, TransferHistory.seasons == season,
TransferHistory.episodes == episode).all() TransferHistory.episodes == episode).all()

View File

@ -50,13 +50,12 @@ class TransferHistoryOper(DbOper):
""" """
return TransferHistory.statistic(self._db, days) return TransferHistory.statistic(self._db, days)
def get_by(self, mtype: str = None, title: str = None, year: str = None, def get_by(self, title: str = None, year: str = None,
season: str = None, episode: str = None, tmdbid: str = None) -> Any: season: str = None, episode: str = None, tmdbid: str = None) -> Any:
""" """
按类型标题年份季集查询转移记录 按类型标题年份季集查询转移记录
""" """
return TransferHistory.list_by(db=self._db, return TransferHistory.list_by(db=self._db,
mtype=mtype,
title=title, title=title,
year=year, year=year,
season=season, season=season,

View File

@ -493,14 +493,17 @@ class MediaSyncDel(_PluginBase):
logger.error(f"{media_name} 季同步删除失败,未获取到具体季") logger.error(f"{media_name} 季同步删除失败,未获取到具体季")
return return
msg = f'剧集 {media_name} S{season_num} {tmdb_id}' msg = f'剧集 {media_name} S{season_num} {tmdb_id}'
transfer_history: List[TransferHistory] = self._transferhis.get_by(tmdbid=tmdb_id) transfer_history: List[TransferHistory] = self._transferhis.get_by(tmdbid=tmdb_id,
season=f'S{season_num}')
# 删除剧集S02E02 # 删除剧集S02E02
elif media_type == "Episode": elif media_type == "Episode":
if not season_num or not str(season_num).isdigit() or not episode_num or not str(episode_num).isdigit(): if not season_num or not str(season_num).isdigit() or not episode_num or not str(episode_num).isdigit():
logger.error(f"{media_name} 集同步删除失败,未获取到具体集") logger.error(f"{media_name} 集同步删除失败,未获取到具体集")
return return
msg = f'剧集 {media_name} S{season_num}E{episode_num} {tmdb_id}' msg = f'剧集 {media_name} S{season_num}E{episode_num} {tmdb_id}'
transfer_history: List[TransferHistory] = self._transferhis.get_by(tmdbid=tmdb_id) transfer_history: List[TransferHistory] = self._transferhis.get_by(tmdbid=tmdb_id,
season=f'S{season_num}',
episode=f'E{episode_num}')
else: else:
return return
@ -620,30 +623,29 @@ class MediaSyncDel(_PluginBase):
if media_type == "Movie": if media_type == "Movie":
msg = f'电影 {media_name}' msg = f'电影 {media_name}'
transfer_history: List[TransferHistory] = self._transferhis.get_by( transfer_history: List[TransferHistory] = self._transferhis.get_by(
mtype="电影",
title=media_name, title=media_name,
year=media_year) year=media_year)
# 删除电视剧 # 删除电视剧
elif media_type == "Series": elif media_type == "Series":
msg = f'剧集 {media_name}' msg = f'剧集 {media_name}'
transfer_history: List[TransferHistory] = self._transferhis.get_by( transfer_history: List[TransferHistory] = self._transferhis.get_by(
mtype="电视剧",
title=media_name, title=media_name,
year=media_year) year=media_year)
# 删除季 S02 # 删除季 S02
elif media_type == "Season": elif media_type == "Season":
msg = f'剧集 {media_name} {media_season}' msg = f'剧集 {media_name} {media_season}'
transfer_history: List[TransferHistory] = self._transferhis.get_by( transfer_history: List[TransferHistory] = self._transferhis.get_by(
mtype="电视剧",
title=media_name, title=media_name,
year=media_year) year=media_year,
season=media_season)
# 删除剧集S02E02 # 删除剧集S02E02
elif media_type == "Episode": elif media_type == "Episode":
msg = f'剧集 {media_name} {media_season}{media_episode}' msg = f'剧集 {media_name} {media_season}{media_episode}'
transfer_history: List[TransferHistory] = self._transferhis.get_by( transfer_history: List[TransferHistory] = self._transferhis.get_by(
mtype="电视剧",
title=media_name, title=media_name,
year=media_year) year=media_year,
season=media_season,
episode=media_episode)
else: else:
continue continue