Skip to content

Commit 49b497c

Browse files
authored
Merge pull request #566 from EstrellaXD/3.1-dev
3.1.9
2 parents 1fb8938 + cf7424b commit 49b497c

File tree

8 files changed

+25
-23
lines changed

8 files changed

+25
-23
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ cython_debug/
172172

173173
/src/module/conf/config_dev.ini
174174

175-
test.*
175+
176176
.run
177177
/backend/src/templates/
178178
/backend/src/config/
@@ -190,6 +190,7 @@ lerna-debug.log*
190190

191191
node_modules
192192
dist
193+
webui/.vite/deps/*
193194
dist.zip
194195
dist-ssr
195196
*.local

backend/src/module/conf/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
DATA_PATH = "sqlite:///data/data.db"
99
LEGACY_DATA_PATH = Path("data/data.json")
1010
VERSION_PATH = Path("config/version.info")
11+
POSTERS_PATH = Path("data/posters")
1112

1213
PLATFORM = "Windows" if "\\" in settings.downloader.path else "Unix"

backend/src/module/manager/collector.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,9 @@ def subscribe_season(data: Bangumi):
5353
engine.add_rss(
5454
rss_link=data.rss_link, name=data.official_title, aggregate=False
5555
)
56+
result = engine.download_bangumi(data)
5657
engine.bangumi.add(data)
57-
return engine.download_bangumi(data)
58+
return result
5859

5960

6061
def eps_complete():

backend/src/module/manager/torrent.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,16 @@ def delete_rule(self, _id: int | str, file: bool = False):
4040
data = self.bangumi.search_id(int(_id))
4141
if isinstance(data, Bangumi):
4242
with DownloadClient() as client:
43-
# client.remove_rule(data.rule_name)
44-
# client.remove_rss_feed(data.official_title)
4543
self.rss.delete(data.official_title)
4644
self.bangumi.delete_one(int(_id))
4745
if file:
4846
torrent_message = self.delete_torrents(data, client)
49-
return torrent_message
5047
logger.info(f"[Manager] Delete rule for {data.official_title}")
5148
return ResponseModel(
5249
status_code=200,
5350
status=True,
54-
msg_en=f"Delete rule for {data.official_title}",
55-
msg_zh=f"删除 {data.official_title} 规则",
51+
msg_en=f"Delete rule for {data.official_title}. {torrent_message.msg_en if file else ''}",
52+
msg_zh=f"删除 {data.official_title} 规则{torrent_message.msg_zh if file else ''}",
5653
)
5754
else:
5855
return ResponseModel(

backend/src/module/notification/plugin/telegram.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,12 @@ def post_msg(self, notify: Notification) -> bool:
2626
data = {
2727
"chat_id": self.chat_id,
2828
"caption": text,
29+
"text": text,
2930
"disable_notification": True,
3031
}
3132
photo = load_image(notify.poster_path)
3233
if photo:
33-
resp = self.post_files(
34-
self.photo_url, data, files={"photo": photo}
35-
)
34+
resp = self.post_files(self.photo_url, data, files={"photo": photo})
3635
else:
3736
resp = self.post_data(self.message_url, data)
3837
logger.debug(f"Telegram notification: {resp.status_code}")

backend/src/module/parser/analyser/mikan_parser.py

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import re
2+
13
from bs4 import BeautifulSoup
24
from urllib3.util import parse_url
35

@@ -14,6 +16,7 @@ def mikan_parser(homepage: str):
1416
official_title = soup.select_one(
1517
'p.bangumi-title a[href^="/Home/Bangumi/"]'
1618
).text
19+
official_title = re.sub(r"第.*季", "", official_title)
1720
if poster_div:
1821
poster_path = poster_div.split("url('")[1].split("')")[0]
1922
img = req.get_content(f"https://{root_path}{poster_path}")

backend/src/module/rss/analyser.py

+11-13
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,14 @@ def rss_to_data(
8282

8383
def link_to_data(self, rss: RSSItem) -> Bangumi | ResponseModel:
8484
torrents = self.get_rss_torrents(rss.url, False)
85-
try:
86-
for torrent in torrents:
87-
data = self.torrent_to_data(torrent, rss)
88-
if data:
89-
return data
90-
except Exception as e:
91-
logger.debug(e)
92-
return ResponseModel(
93-
status=False,
94-
status_code=406,
95-
msg_en="No new title has been found.",
96-
msg_zh="没有找到新的番剧。",
97-
)
85+
for torrent in torrents:
86+
data = self.torrent_to_data(torrent, rss)
87+
if data:
88+
return data
89+
else:
90+
return ResponseModel(
91+
status=False,
92+
status_code=406,
93+
msg_en="Cannot parse this link.",
94+
msg_zh="无法解析此链接。",
95+
)

backend/src/module/update/startup.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import logging
22

33
from module.rss import RSSEngine
4+
from module.conf import POSTERS_PATH
45

56
logger = logging.getLogger(__name__)
67

@@ -15,3 +16,4 @@ def first_run():
1516
with RSSEngine() as engine:
1617
engine.create_table()
1718
engine.user.add_default_user()
19+
POSTERS_PATH.mkdir(parents=True, exist_ok=True)

0 commit comments

Comments
 (0)