mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-13 16:19:48 +08:00
change: rss_item key
This commit is contained in:
@@ -26,7 +26,7 @@ async def add_rss(rss: RSSItem, current_user=Depends(get_current_user)):
|
||||
if not current_user:
|
||||
raise UNAUTHORIZED
|
||||
with RSSEngine() as engine:
|
||||
result = engine.add_rss(rss.url, rss.item_path, rss.combine)
|
||||
result = engine.add_rss(rss.url, rss.name, rss.aggregate)
|
||||
return u_response(result)
|
||||
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ class RSSThread(ProgramStatus):
|
||||
while not self.stop_event.is_set():
|
||||
with DownloadClient() as client, RSSEngine() as engine:
|
||||
# Analyse RSS
|
||||
rss_list = engine.rss.search_combine()
|
||||
rss_list = engine.rss.search_aggregate()
|
||||
for rss in rss_list:
|
||||
self.analyser.rss_to_data(rss, engine)
|
||||
# Run RSS Engine
|
||||
|
||||
@@ -53,9 +53,9 @@ class RSSDatabase:
|
||||
def search_active(self) -> list[RSSItem]:
|
||||
return self.session.exec(select(RSSItem).where(RSSItem.enabled)).all()
|
||||
|
||||
def search_combine(self) -> list[RSSItem]:
|
||||
def search_aggregate(self) -> list[RSSItem]:
|
||||
return self.session.exec(
|
||||
select(RSSItem).where(and_(RSSItem.combine, RSSItem.enabled))
|
||||
select(RSSItem).where(and_(RSSItem.aggregate, RSSItem.enabled))
|
||||
).all()
|
||||
|
||||
def delete(self, _id: int):
|
||||
|
||||
@@ -25,7 +25,7 @@ class SeasonCollector(DownloadClient):
|
||||
data.added = True
|
||||
data.eps_collect = True
|
||||
engine.add_rss(
|
||||
rss_link=data.rss_link, name=data.official_title, combine=False
|
||||
rss_link=data.rss_link, name=data.official_title, aggregate=False
|
||||
)
|
||||
engine.bangumi.add(data)
|
||||
engine.refresh_rss(self)
|
||||
|
||||
@@ -4,16 +4,16 @@ from typing import Optional
|
||||
|
||||
class RSSItem(SQLModel, table=True):
|
||||
id: int = Field(default=None, primary_key=True, alias="id")
|
||||
item_path: Optional[str] = Field(None, alias="item_path")
|
||||
name: Optional[str] = Field(None, alias="name")
|
||||
url: str = Field("https://mikanani.me", alias="url")
|
||||
combine: bool = Field(True, alias="combine")
|
||||
aggregate: bool = Field(True, alias="aggregate")
|
||||
parser: str = Field("mikan", alias="parser")
|
||||
enabled: bool = Field(True, alias="enabled")
|
||||
|
||||
|
||||
class RSSUpdate(SQLModel):
|
||||
item_path: Optional[str] = Field("example path", alias="item_path")
|
||||
name: Optional[str] = Field(None, alias="name")
|
||||
url: Optional[str] = Field("https://mikanani.me", alias="url")
|
||||
combine: Optional[bool] = Field(True, alias="combine")
|
||||
aggregate: Optional[bool] = Field(True, alias="aggregate")
|
||||
parser: Optional[str] = Field("mikan", alias="parser")
|
||||
enabled: Optional[bool] = Field(True, alias="enabled")
|
||||
|
||||
@@ -25,9 +25,6 @@ class RSSEngine(Database):
|
||||
torrent.rss_id = rss.id
|
||||
return torrents
|
||||
|
||||
def get_combine_rss(self) -> list[RSSItem]:
|
||||
return self.rss.get_combine()
|
||||
|
||||
def get_rss_torrents(self, rss_id: int) -> list[Torrent]:
|
||||
rss = self.rss.search_id(rss_id)
|
||||
if rss:
|
||||
@@ -35,11 +32,11 @@ class RSSEngine(Database):
|
||||
else:
|
||||
return []
|
||||
|
||||
def add_rss(self, rss_link: str, name: str | None = None, combine: bool = True):
|
||||
def add_rss(self, rss_link: str, name: str | None = None, aggregate: bool = True):
|
||||
if not name:
|
||||
with RequestContent() as req:
|
||||
name = req.get_rss_title(rss_link)
|
||||
rss_data = RSSItem(item_path=name, url=rss_link, combine=combine)
|
||||
rss_data = RSSItem(name=name, url=rss_link, aggregate=aggregate)
|
||||
if self.rss.add(rss_data):
|
||||
return ResponseModel(
|
||||
status=True,
|
||||
|
||||
@@ -7,7 +7,7 @@ def test_rss_engine():
|
||||
with RSSEngine(e) as engine:
|
||||
rss_link = "https://mikanani.me/RSS/Bangumi?bangumiId=2353&subgroupid=552"
|
||||
|
||||
engine.add_rss(rss_link, combine=False)
|
||||
engine.add_rss(rss_link, aggregate=False)
|
||||
|
||||
result = engine.rss.search_active()
|
||||
assert result[1].item_path == "Mikan Project - 无职转生~到了异世界就拿出真本事~"
|
||||
|
||||
Reference in New Issue
Block a user