feat: add support for dmhy and nyaa.

This commit is contained in:
EstrellaXD
2023-08-12 19:15:24 +08:00
parent 6c43a2d694
commit ab6eda1640
6 changed files with 29 additions and 6 deletions

View File

@@ -14,7 +14,8 @@
- 增加手动刷新 API可以手动刷新 RSS 订阅。
- 新增 RSS 订阅管理 API。
- 新增 `Search Engine`模块,可以通过关键词搜索种子并解析成收集或者订阅任务。
- 插件化的搜索引擎,可以通过插件的方式添加新的搜索目标,目前支持 `mikan``dmhy`
- 插件化的搜索引擎,可以通过插件的方式添加新的搜索目标,目前支持 `mikan``dmhy``nyaa`
- 新增对字幕组的特异性规则,可以针对不同的字幕组进行单独设置。
- 新增 IPv6 监听支持,需要在环境变量中设置 `IPV6=1`
- API 新增批量操作,可以批量管理规则和 RSS 订阅。

View File

@@ -79,5 +79,9 @@ class Settings(Config):
else:
return os.environ[env]
@property
def group_rules(self):
return self.__dict__["group_rules"]
settings = Settings()

View File

@@ -1,8 +1,14 @@
from .mikan import mikan_url
from .nyaa import nyaa_url
from .dmhy import dmhy_url
def search_url(site: str, keywords: list[str]):
if site == "mikan":
return mikan_url(keywords)
elif site == "nyaa":
return nyaa_url(keywords)
elif site == "dmhy":
return dmhy_url(keywords)
else:
raise NotImplementedError(f"site {site} is not supported")

View File

@@ -0,0 +1,8 @@
import re
def dmhy_url(keywords: list[str]):
keyword = "+".join(keywords)
search_str = re.sub(r"[\W_ ]", "+", keyword)
url = f"http://dmhy.org/topics/rss/rss.xml?keyword={search_str}"
return url

View File

@@ -1,12 +1,8 @@
import re
from module.conf import settings
def mikan_url(keywords: list[str]):
keyword = "+".join(keywords)
search_str = re.sub(r"[\W_ ]", "+", keyword)
url = f"{settings.rss_parser.custom_url}/RSS/Search?searchstr={search_str}"
if "://" not in url:
url = f"https://{url}"
url = f"https://mikanani.me/RSS/Search?searchstr={search_str}"
return url

View File

@@ -0,0 +1,8 @@
import re
def nyaa_url(keywords: list[str]):
keyword = "+".join(keywords)
search_str = re.sub(r"[\W_ ]", "+", keyword)
url = f"https://nyaa.si/?page=rss&q={search_str}&c=0_0&f=0"
return url