mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-04-14 10:10:20 +08:00
add workflow framework
This commit is contained in:
6
app/actions/__init__.py
Normal file
6
app/actions/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
||||
class BaseAction:
|
||||
"""
|
||||
工作流动作基类
|
||||
"""
|
||||
async def execute(self, params: dict, context: dict) -> dict:
|
||||
raise NotImplementedError
|
||||
@@ -2,7 +2,7 @@ from fastapi import APIRouter
|
||||
|
||||
from app.api.endpoints import login, user, site, message, webhook, subscribe, \
|
||||
media, douban, search, plugin, tmdb, history, system, download, dashboard, \
|
||||
transfer, mediaserver, bangumi, storage, discover, recommend
|
||||
transfer, mediaserver, bangumi, storage, discover, recommend, workflow
|
||||
|
||||
api_router = APIRouter()
|
||||
api_router.include_router(login.router, prefix="/login", tags=["login"])
|
||||
@@ -26,3 +26,4 @@ api_router.include_router(mediaserver.router, prefix="/mediaserver", tags=["medi
|
||||
api_router.include_router(bangumi.router, prefix="/bangumi", tags=["bangumi"])
|
||||
api_router.include_router(discover.router, prefix="/discover", tags=["discover"])
|
||||
api_router.include_router(recommend.router, prefix="/recommend", tags=["recommend"])
|
||||
api_router.include_router(workflow.router, prefix="/workflow", tags=["workflow"])
|
||||
|
||||
3
app/api/endpoints/workflow.py
Normal file
3
app/api/endpoints/workflow.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from fastapi import APIRouter
|
||||
|
||||
router = APIRouter()
|
||||
24
app/core/workflow.py
Normal file
24
app/core/workflow.py
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
|
||||
class WorkFlowManager:
|
||||
"""
|
||||
工作流管理器
|
||||
"""
|
||||
def __init__(self):
|
||||
self.workflows = {}
|
||||
|
||||
def register(self, workflow):
|
||||
"""
|
||||
注册工作流
|
||||
:param workflow: 工作流对象
|
||||
:return:
|
||||
"""
|
||||
self.workflows[workflow.name] = workflow
|
||||
|
||||
def get_workflow(self, name):
|
||||
"""
|
||||
获取工作流
|
||||
:param name: 工作流名称
|
||||
:return:
|
||||
"""
|
||||
return self.workflows.get(name)
|
||||
0
app/db/models/workflow.py
Normal file
0
app/db/models/workflow.py
Normal file
@@ -19,3 +19,4 @@ from .file import *
|
||||
from .exception import *
|
||||
from .system import *
|
||||
from .event import *
|
||||
from .workflow import *
|
||||
|
||||
0
app/schemas/workflow.py
Normal file
0
app/schemas/workflow.py
Normal file
Reference in New Issue
Block a user