fix 目录监控登录转移方式错误
This commit is contained in:
parent
212e2f1287
commit
59b947fa65
@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
import shutil
|
import shutil
|
||||||
import threading
|
import threading
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@ -188,10 +187,11 @@ class TransferChain(ChainBase):
|
|||||||
if not file_mediainfo:
|
if not file_mediainfo:
|
||||||
logger.warn(f'{file_path} 未识别到媒体信息')
|
logger.warn(f'{file_path} 未识别到媒体信息')
|
||||||
# 新增转移失败历史记录
|
# 新增转移失败历史记录
|
||||||
his = self.__insert_fail_history(
|
his = self.transferhis.add_fail(
|
||||||
src_path=file_path,
|
src_path=file_path,
|
||||||
download_hash=download_hash,
|
mode=settings.TRANSFER_TYPE,
|
||||||
meta=file_meta
|
meta=file_meta,
|
||||||
|
download_hash=download_hash
|
||||||
)
|
)
|
||||||
self.post_message(Notification(
|
self.post_message(Notification(
|
||||||
mtype=NotificationType.Manual,
|
mtype=NotificationType.Manual,
|
||||||
@ -225,8 +225,9 @@ class TransferChain(ChainBase):
|
|||||||
logger.warn(f"{file_path.name} 入库失败:{transferinfo.message}")
|
logger.warn(f"{file_path.name} 入库失败:{transferinfo.message}")
|
||||||
err_msgs.append(f"{file_path.name} {transferinfo.message}")
|
err_msgs.append(f"{file_path.name} {transferinfo.message}")
|
||||||
# 新增转移失败历史记录
|
# 新增转移失败历史记录
|
||||||
self.__insert_fail_history(
|
self.transferhis.add_fail(
|
||||||
src_path=file_path,
|
src_path=file_path,
|
||||||
|
mode=settings.TRANSFER_TYPE,
|
||||||
download_hash=download_hash,
|
download_hash=download_hash,
|
||||||
meta=file_meta,
|
meta=file_meta,
|
||||||
mediainfo=file_mediainfo,
|
mediainfo=file_mediainfo,
|
||||||
@ -259,8 +260,9 @@ class TransferChain(ChainBase):
|
|||||||
transfers[mkey].fail_list.extend(transferinfo.fail_list)
|
transfers[mkey].fail_list.extend(transferinfo.fail_list)
|
||||||
|
|
||||||
# 新增转移成功历史记录
|
# 新增转移成功历史记录
|
||||||
self.__insert_sucess_history(
|
self.transferhis.add_success(
|
||||||
src_path=file_path,
|
src_path=file_path,
|
||||||
|
mode=settings.TRANSFER_TYPE,
|
||||||
download_hash=download_hash,
|
download_hash=download_hash,
|
||||||
meta=file_meta,
|
meta=file_meta,
|
||||||
mediainfo=file_mediainfo,
|
mediainfo=file_mediainfo,
|
||||||
@ -486,72 +488,6 @@ class TransferChain(ChainBase):
|
|||||||
min_filesize=min_filesize)
|
min_filesize=min_filesize)
|
||||||
return state, errmsg
|
return state, errmsg
|
||||||
|
|
||||||
def __insert_sucess_history(self, src_path: Path, meta: MetaBase,
|
|
||||||
mediainfo: MediaInfo, transferinfo: TransferInfo,
|
|
||||||
download_hash: str = None):
|
|
||||||
"""
|
|
||||||
新增转移成功历史记录
|
|
||||||
"""
|
|
||||||
self.transferhis.add_force(
|
|
||||||
src=str(src_path),
|
|
||||||
dest=str(transferinfo.target_path),
|
|
||||||
mode=settings.TRANSFER_TYPE,
|
|
||||||
type=mediainfo.type.value,
|
|
||||||
category=mediainfo.category,
|
|
||||||
title=mediainfo.title,
|
|
||||||
year=mediainfo.year,
|
|
||||||
tmdbid=mediainfo.tmdb_id,
|
|
||||||
imdbid=mediainfo.imdb_id,
|
|
||||||
tvdbid=mediainfo.tvdb_id,
|
|
||||||
doubanid=mediainfo.douban_id,
|
|
||||||
seasons=meta.season,
|
|
||||||
episodes=meta.episode,
|
|
||||||
image=mediainfo.get_poster_image(),
|
|
||||||
download_hash=download_hash,
|
|
||||||
status=1,
|
|
||||||
files=json.dumps(transferinfo.file_list)
|
|
||||||
)
|
|
||||||
|
|
||||||
def __insert_fail_history(self, src_path: Path, download_hash: str, meta: MetaBase,
|
|
||||||
transferinfo: TransferInfo = None, mediainfo: MediaInfo = None):
|
|
||||||
"""
|
|
||||||
新增转移失败历史记录
|
|
||||||
"""
|
|
||||||
if mediainfo and transferinfo:
|
|
||||||
his = self.transferhis.add_force(
|
|
||||||
src=str(src_path),
|
|
||||||
dest=str(transferinfo.target_path),
|
|
||||||
mode=settings.TRANSFER_TYPE,
|
|
||||||
type=mediainfo.type.value,
|
|
||||||
category=mediainfo.category,
|
|
||||||
title=mediainfo.title or meta.name,
|
|
||||||
year=mediainfo.year or meta.year,
|
|
||||||
tmdbid=mediainfo.tmdb_id,
|
|
||||||
imdbid=mediainfo.imdb_id,
|
|
||||||
tvdbid=mediainfo.tvdb_id,
|
|
||||||
doubanid=mediainfo.douban_id,
|
|
||||||
seasons=meta.season,
|
|
||||||
episodes=meta.episode,
|
|
||||||
image=mediainfo.get_poster_image(),
|
|
||||||
download_hash=download_hash,
|
|
||||||
status=0,
|
|
||||||
errmsg=transferinfo.message or '未知错误',
|
|
||||||
files=json.dumps(transferinfo.file_list)
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
his = self.transferhis.add_force(
|
|
||||||
title=meta.name,
|
|
||||||
year=meta.year,
|
|
||||||
src=str(src_path),
|
|
||||||
mode=settings.TRANSFER_TYPE,
|
|
||||||
seasons=meta.season,
|
|
||||||
episodes=meta.episode,
|
|
||||||
download_hash=download_hash,
|
|
||||||
status=0,
|
|
||||||
errmsg="未识别到媒体信息"
|
|
||||||
)
|
|
||||||
return his
|
|
||||||
|
|
||||||
def send_transfer_message(self, meta: MetaBase, mediainfo: MediaInfo,
|
def send_transfer_message(self, meta: MetaBase, mediainfo: MediaInfo,
|
||||||
transferinfo: TransferInfo, season_episode: str = None):
|
transferinfo: TransferInfo, season_episode: str = None):
|
||||||
"""
|
"""
|
||||||
|
@ -1,8 +1,13 @@
|
|||||||
|
import json
|
||||||
import time
|
import time
|
||||||
|
from pathlib import Path
|
||||||
from typing import Any, List
|
from typing import Any, List
|
||||||
|
|
||||||
|
from app.core.context import MediaInfo
|
||||||
|
from app.core.meta import MetaBase
|
||||||
from app.db import DbOper
|
from app.db import DbOper
|
||||||
from app.db.models.transferhistory import TransferHistory
|
from app.db.models.transferhistory import TransferHistory
|
||||||
|
from app.schemas import TransferInfo
|
||||||
|
|
||||||
|
|
||||||
class TransferHistoryOper(DbOper):
|
class TransferHistoryOper(DbOper):
|
||||||
@ -88,3 +93,69 @@ class TransferHistoryOper(DbOper):
|
|||||||
补充转移记录download_hash
|
补充转移记录download_hash
|
||||||
"""
|
"""
|
||||||
TransferHistory.update_download_hash(self._db, historyid, download_hash)
|
TransferHistory.update_download_hash(self._db, historyid, download_hash)
|
||||||
|
|
||||||
|
def add_success(self, src_path: Path, mode: str, meta: MetaBase,
|
||||||
|
mediainfo: MediaInfo, transferinfo: TransferInfo,
|
||||||
|
download_hash: str = None):
|
||||||
|
"""
|
||||||
|
新增转移成功历史记录
|
||||||
|
"""
|
||||||
|
self.add_force(
|
||||||
|
src=str(src_path),
|
||||||
|
dest=str(transferinfo.target_path),
|
||||||
|
mode=mode,
|
||||||
|
type=mediainfo.type.value,
|
||||||
|
category=mediainfo.category,
|
||||||
|
title=mediainfo.title,
|
||||||
|
year=mediainfo.year,
|
||||||
|
tmdbid=mediainfo.tmdb_id,
|
||||||
|
imdbid=mediainfo.imdb_id,
|
||||||
|
tvdbid=mediainfo.tvdb_id,
|
||||||
|
doubanid=mediainfo.douban_id,
|
||||||
|
seasons=meta.season,
|
||||||
|
episodes=meta.episode,
|
||||||
|
image=mediainfo.get_poster_image(),
|
||||||
|
download_hash=download_hash,
|
||||||
|
status=1,
|
||||||
|
files=json.dumps(transferinfo.file_list)
|
||||||
|
)
|
||||||
|
|
||||||
|
def add_fail(self, src_path: Path, mode: str, meta: MetaBase, mediainfo: MediaInfo = None,
|
||||||
|
transferinfo: TransferInfo = None, download_hash: str = None):
|
||||||
|
"""
|
||||||
|
新增转移失败历史记录
|
||||||
|
"""
|
||||||
|
if mediainfo and transferinfo:
|
||||||
|
his = self.add_force(
|
||||||
|
src=str(src_path),
|
||||||
|
dest=str(transferinfo.target_path),
|
||||||
|
mode=mode,
|
||||||
|
type=mediainfo.type.value,
|
||||||
|
category=mediainfo.category,
|
||||||
|
title=mediainfo.title or meta.name,
|
||||||
|
year=mediainfo.year or meta.year,
|
||||||
|
tmdbid=mediainfo.tmdb_id,
|
||||||
|
imdbid=mediainfo.imdb_id,
|
||||||
|
tvdbid=mediainfo.tvdb_id,
|
||||||
|
doubanid=mediainfo.douban_id,
|
||||||
|
seasons=meta.season,
|
||||||
|
episodes=meta.episode,
|
||||||
|
image=mediainfo.get_poster_image(),
|
||||||
|
download_hash=download_hash,
|
||||||
|
status=0,
|
||||||
|
errmsg=transferinfo.message or '未知错误',
|
||||||
|
files=json.dumps(transferinfo.file_list)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
his = self.add_force(
|
||||||
|
title=meta.name,
|
||||||
|
year=meta.year,
|
||||||
|
src=str(src_path),
|
||||||
|
mode=mode,
|
||||||
|
seasons=meta.season,
|
||||||
|
episodes=meta.episode,
|
||||||
|
download_hash=download_hash,
|
||||||
|
status=0,
|
||||||
|
errmsg="未识别到媒体信息"
|
||||||
|
)
|
||||||
|
return his
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import json
|
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import threading
|
import threading
|
||||||
import time
|
|
||||||
import traceback
|
import traceback
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@ -17,7 +15,6 @@ from watchdog.observers.polling import PollingObserver
|
|||||||
from app.chain.transfer import TransferChain
|
from app.chain.transfer import TransferChain
|
||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
from app.core.context import MediaInfo
|
from app.core.context import MediaInfo
|
||||||
from app.core.meta import MetaBase
|
|
||||||
from app.core.metainfo import MetaInfo
|
from app.core.metainfo import MetaInfo
|
||||||
from app.db.downloadhistory_oper import DownloadHistoryOper
|
from app.db.downloadhistory_oper import DownloadHistoryOper
|
||||||
from app.db.transferhistory_oper import TransferHistoryOper
|
from app.db.transferhistory_oper import TransferHistoryOper
|
||||||
@ -251,17 +248,10 @@ class DirMonitor(_PluginBase):
|
|||||||
title=f"{file_path.name} 未识别到媒体信息,无法入库!"
|
title=f"{file_path.name} 未识别到媒体信息,无法入库!"
|
||||||
))
|
))
|
||||||
# 新增转移成功历史记录
|
# 新增转移成功历史记录
|
||||||
self.transferhis.add_force(
|
self.transferhis.add_fail(
|
||||||
src=event_path,
|
src_path=file_path,
|
||||||
dest=str(target),
|
|
||||||
mode=self._transfer_type,
|
mode=self._transfer_type,
|
||||||
title=meta.name,
|
meta=file_meta
|
||||||
year=meta.year,
|
|
||||||
seasons=file_meta.season,
|
|
||||||
episodes=file_meta.episode,
|
|
||||||
status=0,
|
|
||||||
errmsg="未识别到媒体信息",
|
|
||||||
date=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
logger.info(f"{file_path.name} 识别为:{mediainfo.type.value} {mediainfo.title_year}")
|
logger.info(f"{file_path.name} 识别为:{mediainfo.type.value} {mediainfo.title_year}")
|
||||||
@ -286,8 +276,9 @@ class DirMonitor(_PluginBase):
|
|||||||
# 转移失败
|
# 转移失败
|
||||||
logger.warn(f"{file_path.name} 入库失败:{transferinfo.message}")
|
logger.warn(f"{file_path.name} 入库失败:{transferinfo.message}")
|
||||||
# 新增转移失败历史记录
|
# 新增转移失败历史记录
|
||||||
self.__insert_fail_history(
|
self.transferhis.add_fail(
|
||||||
src_path=file_path,
|
src_path=file_path,
|
||||||
|
mode=self._transfer_type,
|
||||||
download_hash=download_hash,
|
download_hash=download_hash,
|
||||||
meta=file_meta,
|
meta=file_meta,
|
||||||
mediainfo=mediainfo,
|
mediainfo=mediainfo,
|
||||||
@ -302,8 +293,9 @@ class DirMonitor(_PluginBase):
|
|||||||
return
|
return
|
||||||
|
|
||||||
# 新增转移成功历史记录
|
# 新增转移成功历史记录
|
||||||
self.__insert_sucess_history(
|
self.transferhis.add_success(
|
||||||
src_path=file_path,
|
src_path=file_path,
|
||||||
|
mode=self._transfer_type,
|
||||||
download_hash=download_hash,
|
download_hash=download_hash,
|
||||||
meta=file_meta,
|
meta=file_meta,
|
||||||
mediainfo=mediainfo,
|
mediainfo=mediainfo,
|
||||||
@ -467,72 +459,6 @@ class DirMonitor(_PluginBase):
|
|||||||
return downloadHis.download_hash
|
return downloadHis.download_hash
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def __insert_sucess_history(self, src_path: Path, meta: MetaBase,
|
|
||||||
mediainfo: MediaInfo, transferinfo: TransferInfo,
|
|
||||||
download_hash: str = None):
|
|
||||||
"""
|
|
||||||
新增转移成功历史记录
|
|
||||||
"""
|
|
||||||
self.transferhis.add_force(
|
|
||||||
src=str(src_path),
|
|
||||||
dest=str(transferinfo.target_path),
|
|
||||||
mode=self._transfer_type,
|
|
||||||
type=mediainfo.type.value,
|
|
||||||
category=mediainfo.category,
|
|
||||||
title=mediainfo.title,
|
|
||||||
year=mediainfo.year,
|
|
||||||
tmdbid=mediainfo.tmdb_id,
|
|
||||||
imdbid=mediainfo.imdb_id,
|
|
||||||
tvdbid=mediainfo.tvdb_id,
|
|
||||||
doubanid=mediainfo.douban_id,
|
|
||||||
seasons=meta.season,
|
|
||||||
episodes=meta.episode,
|
|
||||||
image=mediainfo.get_poster_image(),
|
|
||||||
download_hash=download_hash,
|
|
||||||
status=1,
|
|
||||||
files=json.dumps(transferinfo.file_list)
|
|
||||||
)
|
|
||||||
|
|
||||||
def __insert_fail_history(self, src_path: Path, download_hash: str, meta: MetaBase,
|
|
||||||
transferinfo: TransferInfo = None, mediainfo: MediaInfo = None):
|
|
||||||
"""
|
|
||||||
新增转移失败历史记录
|
|
||||||
"""
|
|
||||||
if mediainfo and transferinfo:
|
|
||||||
his = self.transferhis.add_force(
|
|
||||||
src=str(src_path),
|
|
||||||
dest=str(transferinfo.target_path),
|
|
||||||
mode=settings.TRANSFER_TYPE,
|
|
||||||
type=mediainfo.type.value,
|
|
||||||
category=mediainfo.category,
|
|
||||||
title=mediainfo.title or meta.name,
|
|
||||||
year=mediainfo.year or meta.year,
|
|
||||||
tmdbid=mediainfo.tmdb_id,
|
|
||||||
imdbid=mediainfo.imdb_id,
|
|
||||||
tvdbid=mediainfo.tvdb_id,
|
|
||||||
doubanid=mediainfo.douban_id,
|
|
||||||
seasons=meta.season,
|
|
||||||
episodes=meta.episode,
|
|
||||||
image=mediainfo.get_poster_image(),
|
|
||||||
download_hash=download_hash,
|
|
||||||
status=0,
|
|
||||||
errmsg=transferinfo.message or '未知错误',
|
|
||||||
files=json.dumps(transferinfo.file_list)
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
his = self.transferhis.add_force(
|
|
||||||
title=meta.name,
|
|
||||||
year=meta.year,
|
|
||||||
src=str(src_path),
|
|
||||||
mode=settings.TRANSFER_TYPE,
|
|
||||||
seasons=meta.season,
|
|
||||||
episodes=meta.episode,
|
|
||||||
download_hash=download_hash,
|
|
||||||
status=0,
|
|
||||||
errmsg="未识别到媒体信息"
|
|
||||||
)
|
|
||||||
return his
|
|
||||||
|
|
||||||
def get_state(self) -> bool:
|
def get_state(self) -> bool:
|
||||||
return self._enabled
|
return self._enabled
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user