init
This commit is contained in:
33
app/chain/identify.py
Normal file
33
app/chain/identify.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from typing import Optional
|
||||
|
||||
from app.chain import _ChainBase
|
||||
from app.core import Context, MetaInfo, MediaInfo
|
||||
from app.log import logger
|
||||
|
||||
|
||||
class IdentifyChain(_ChainBase):
|
||||
"""
|
||||
识别处理链
|
||||
"""
|
||||
|
||||
def process(self, title: str, subtitle: str = None) -> Optional[Context]:
|
||||
"""
|
||||
识别媒体信息
|
||||
"""
|
||||
logger.info(f'开始识别媒体信息,标题:{title},副标题:{subtitle} ...')
|
||||
# 识别前预处理
|
||||
result = self.run_module('prepare_recognize', title=title, subtitle=subtitle)
|
||||
if result:
|
||||
title, subtitle = result
|
||||
# 识别元数据
|
||||
metainfo = MetaInfo(title, subtitle)
|
||||
# 识别媒体信息
|
||||
mediainfo: MediaInfo = self.run_module('recognize_media', meta=metainfo)
|
||||
if not mediainfo:
|
||||
logger.warn(f'{title} 未识别到媒体信息')
|
||||
return Context(meta=metainfo)
|
||||
logger.info(f'{title} 识别到媒体信息:{mediainfo.type.value} {mediainfo.get_title_string()}')
|
||||
# 更新媒体图片
|
||||
self.run_module('obtain_image', mediainfo=mediainfo)
|
||||
# 返回上下文
|
||||
return Context(meta=metainfo, mediainfo=mediainfo, title=title, subtitle=subtitle)
|
Reference in New Issue
Block a user