mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
refactor(module): simplify service instantiation with generics
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
from typing import Set, Tuple, Optional, Union, List, Dict
|
||||
from typing import Set, Tuple, Optional, Union, List
|
||||
|
||||
from torrentool.torrent import Torrent
|
||||
from transmission_rpc import File
|
||||
@@ -8,7 +8,6 @@ from transmission_rpc import File
|
||||
from app import schemas
|
||||
from app.core.config import settings
|
||||
from app.core.metainfo import MetaInfo
|
||||
from app.helper.downloader import DownloaderHelper
|
||||
from app.log import logger
|
||||
from app.modules import _ModuleBase, _DownloaderBase
|
||||
from app.modules.transmission.transmission import Transmission
|
||||
@@ -18,20 +17,14 @@ from app.utils.string import StringUtils
|
||||
from app.utils.system import SystemUtils
|
||||
|
||||
|
||||
class TransmissionModule(_ModuleBase, _DownloaderBase):
|
||||
class TransmissionModule(_ModuleBase, _DownloaderBase[Transmission]):
|
||||
|
||||
def init_module(self) -> None:
|
||||
# 读取下载器配置
|
||||
self._instances: Dict[str, Transmission] = {}
|
||||
configs = DownloaderHelper().get_downloader_conf()
|
||||
if not configs:
|
||||
return
|
||||
for conf in configs:
|
||||
if conf.type == "transmission" and conf.enabled:
|
||||
self._instances[conf.name] = Transmission(**conf.config)
|
||||
if conf.default:
|
||||
self._default_server_name = conf.name
|
||||
self._default_server = self._instances[conf.name]
|
||||
"""
|
||||
初始化模块
|
||||
"""
|
||||
super().init_service(service_name=Transmission.__name__.lower(),
|
||||
service_type=Transmission)
|
||||
|
||||
@staticmethod
|
||||
def get_name() -> str:
|
||||
|
||||
Reference in New Issue
Block a user