mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-24 18:40:03 +08:00
67 lines
2.5 KiB
Python
67 lines
2.5 KiB
Python
from pydantic import BaseModel, Field
|
|
|
|
# Sub config
|
|
|
|
|
|
class Program(BaseModel):
|
|
rss_time: int = Field(7200, description="Sleep time")
|
|
rename_time: int = Field(60, description="Rename times in one loop")
|
|
webui_port: int = Field(7892, description="WebUI port")
|
|
|
|
|
|
class Downloader(BaseModel):
|
|
type: str = Field("qbittorrent", description="Downloader type")
|
|
host: str = Field("172.17.0.1:8080", description="Downloader host")
|
|
username: str = Field("admin", description="Downloader username")
|
|
password: str = Field("adminadmin", description="Downloader password")
|
|
path: str = Field("/downloads/Bangumi", description="Downloader path")
|
|
ssl: bool = Field(False, description="Downloader ssl")
|
|
|
|
|
|
class RSSParser(BaseModel):
|
|
enable: bool = Field(True, description="Enable RSS parser")
|
|
type: str = Field("mikan", description="RSS parser type")
|
|
token: str = Field("token", description="RSS parser token")
|
|
custom_url: str = Field("mikanani.me", description="Custom RSS host url")
|
|
parser_type: str = Field("parser", description="Parser type")
|
|
filter: list[str] = Field(["720", r"\d+-\d"], description="Filter")
|
|
language: str = "zh"
|
|
|
|
|
|
class BangumiManage(BaseModel):
|
|
enable: bool = Field(True, description="Enable bangumi manage")
|
|
eps_complete: bool = Field(False, description="Enable eps complete")
|
|
rename_method: str = Field("pn", description="Rename method")
|
|
group_tag: bool = Field(False, description="Enable group tag")
|
|
remove_bad_torrent: bool = Field(False, description="Remove bad torrent")
|
|
|
|
|
|
class Log(BaseModel):
|
|
debug_enable: bool = Field(False, description="Enable debug")
|
|
|
|
|
|
class Proxy(BaseModel):
|
|
enable: bool = Field(False, description="Enable proxy")
|
|
type: str = Field("http", description="Proxy type")
|
|
host: str = Field("", description="Proxy host")
|
|
port: int = Field(0, description="Proxy port")
|
|
username: str = Field("", description="Proxy username")
|
|
password: str = Field("", description="Proxy password")
|
|
|
|
|
|
class Notification(BaseModel):
|
|
enable: bool = Field(False, description="Enable notification")
|
|
type: str = Field("telegram", description="Notification type")
|
|
token: str = Field("", description="Notification token")
|
|
chat_id: str = Field("", description="Notification chat id")
|
|
|
|
|
|
class Config(BaseModel):
|
|
program: Program = Program()
|
|
downloader: Downloader = Downloader()
|
|
rss_parser: RSSParser = RSSParser()
|
|
bangumi_manage: BangumiManage = BangumiManage()
|
|
log: Log = Log()
|
|
proxy: Proxy = Proxy()
|
|
notification: Notification = Notification()
|