Change Data Model

This commit is contained in:
EstrellaXD
2023-04-26 18:14:17 +08:00
parent b2fc5c2bba
commit 7dc6d8d8a5
15 changed files with 127 additions and 86 deletions

View File

@@ -37,7 +37,7 @@ class APIProcess:
if not self._client.authed:
self._client.auth()
data = self.link_process(link)
self._client.add_rss_feed(link, data.get("official_title"))
self._client.add_rss_feed(link, data.official_title)
self._client.set_rule(data, link)
return data
@@ -49,14 +49,15 @@ class APIProcess:
return "Success"
@staticmethod
def remove_rule(name):
def remove_rule(_id: int):
datas = json_config.load(DATA_PATH)["bangumi_info"]
for data in datas:
if re.search(name.lower(), data["title_raw"].lower()):
if data["id"] == _id:
datas.remove(data)
json_config.save(DATA_PATH, datas)
return "Success"
return "Not matched"
break
json_config.save(DATA_PATH, datas)
return "Success"
@staticmethod
def add_rule(title, season):

View File

@@ -3,8 +3,8 @@ import logging
import os
from module.downloader import getClient
from module.conf import settings, RSSLink
from module.models import BangumiData
RSS_LINK = RSSLink()
@@ -36,8 +36,8 @@ class DownloadClient:
prefs = self.client.get_app_prefs()
settings.downloader.path = os.path.join(prefs["save_path"], "Bangumi")
def set_rule(self, info: dict, rss_link):
official_name, raw_name, season, group = info["official_title"], info["title_raw"], info["season"], info["group"]
def set_rule(self, info: BangumiData, rss_link):
official_name, raw_name, season, group = info.official_title, info.title_raw, info.season, info.group
rule = {
"enable": True,
"mustContain": raw_name,
@@ -76,13 +76,12 @@ class DownloadClient:
self.client.rss_add_feed(url=rss_link, item_path=item_path)
logger.info("Add RSS Feed successfully.")
def add_rules(self, bangumi_info, rss_link=RSS_LINK):
def add_rules(self, bangumi_info: list[BangumiData], rss_link=RSS_LINK):
logger.debug("Start adding rules.")
for info in bangumi_info:
if not info["added"]:
if not info.added:
self.set_rule(info, rss_link)
info["added"] = True
# logger.info("to rule.")
info.added = True
logger.debug("Finished.")
def get_torrent_info(self, category="Bangumi"):