From 59a17fc3abc2dfb0ab3e3936f89bde4d8abc456f Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Tue, 17 May 2022 20:55:42 +0800 Subject: [PATCH] fix some bugs --- AutoBangumi2.0/app/auto_set_rule.py | 7 ++++++ AutoBangumi2.0/app/collect_bangumi_info.py | 16 ++++++++++--- AutoBangumi2.0/config/config.json | 2 +- test/test.py | 27 ++++++++++++++++++++++ 4 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 test/test.py diff --git a/AutoBangumi2.0/app/auto_set_rule.py b/AutoBangumi2.0/app/auto_set_rule.py index 8cba2e00..cd89bae0 100644 --- a/AutoBangumi2.0/app/auto_set_rule.py +++ b/AutoBangumi2.0/app/auto_set_rule.py @@ -1,3 +1,6 @@ +import sys +import time + import qbittorrentapi import json import os @@ -35,6 +38,10 @@ class SetRule: self.qb.rss_set_rule(rule_name=bangumi_name, rule_def=rule) def run(self): + sys.stdout.write(f"[{time.strftime('%X')}] Start adding rules.") + sys.stdout.flush() for info in self.bangumi_info: self.set_rule(info["title"], info["season"]) + sys.stdout.write(f"[{time.strftime('%X')}] Finished.") + sys.stdout.flush() diff --git a/AutoBangumi2.0/app/collect_bangumi_info.py b/AutoBangumi2.0/app/collect_bangumi_info.py index 25cca792..ace30c43 100644 --- a/AutoBangumi2.0/app/collect_bangumi_info.py +++ b/AutoBangumi2.0/app/collect_bangumi_info.py @@ -1,11 +1,14 @@ # -*- coding: UTF-8 -*- import os +import sys +import time import requests from bs4 import BeautifulSoup import json import re + class CollectRSS: def __init__(self, config, info): self.info = info @@ -28,7 +31,8 @@ class CollectRSS: for a in item: name = str(a.find('title')) name = re.sub('|', '', name) - parrten = r'\[|\]|\u3010|\u3011|\★|\*' + print(name) + parrten = r'\[|\]|\u3010|\u3011|\★|\*|\(|\)|\(|\)' for i in range(2): n = re.split(parrten, name) name = re.sub(f'\[{n[1]}\]|【{n[1]}】|★{n[1]}★', '', name) @@ -37,6 +41,7 @@ class CollectRSS: if matchObj is not None: new_name = re.sub(r'\[|\]', '', f'{matchObj.group(1)}') new_name = re.split(r'/', new_name)[-1].strip() + print(new_name) if new_name not in self.bangumi_title: self.bangumi_title.append(new_name) @@ -57,11 +62,16 @@ class CollectRSS: "title": title, "season": season }) - print(f"add {title} {season}") + sys.stdout.write(f"[{time.strftime('%X')}] add {title} {season}") + sys.stdout.flush() # 写入数据 with open("/config/bangumi.json", 'w', encoding='utf8') as f: json.dump(bangumi_info, f, indent=4, separators=(',', ': '), ensure_ascii=False) def run(self): + sys.stdout.write(f"[{time.strftime('%X')}] Start scanning RSS Feed.") + sys.stdout.flush() self.collect_info() - self.write_info() \ No newline at end of file + self.write_info() + sys.stdout.write(f"[{time.strftime('%X')}] Finished.") + sys.stdout.flush() \ No newline at end of file diff --git a/AutoBangumi2.0/config/config.json b/AutoBangumi2.0/config/config.json index 31c36bf7..73fb7cfb 100644 --- a/AutoBangumi2.0/config/config.json +++ b/AutoBangumi2.0/config/config.json @@ -3,6 +3,6 @@ "user_name": "admin", "password": "adminadmin", "method": "pn", - "rss_link": "https://mikanani.me/RSS/MyBangumi?token=Td8ceWZZv3s2OZm5ji9RoMer8vk5VS3xzC1Hmg8A26E%3d", + "rss_link": "https://mikanani.me/RSS/MyBangumi?token=qTxKo48gH1SrFNy8X%2fCfQUoeElNsgKNWFNzNieKwBH8%3d", "download_path": "/downloads/Bangumi" } \ No newline at end of file diff --git a/test/test.py b/test/test.py new file mode 100644 index 00000000..1021bf21 --- /dev/null +++ b/test/test.py @@ -0,0 +1,27 @@ +import re + +import requests +from bs4 import BeautifulSoup + + + +episode_rules = [r'(.*)\[(\d{1,3}|\d{1,3}\.\d{1,2})(?:v\d{1,2})?(?:END)?\](.*)', + r'(.*)\[E(\d{1,3}|\d{1,3}\.\d{1,2})(?:v\d{1,2})?(?:END)?\](.*)', + r'(.*)\[第(\d*\.*\d*)话(?:END)?\](.*)', + r'(.*)\[第(\d*\.*\d*)話(?:END)?\](.*)', + r'(.*)第(\d*\.*\d*)话(?:END)?(.*)', + r'(.*)第(\d*\.*\d*)話(?:END)?(.*)', + r'(.*)- (\d{1,3}|\d{1,3}\.\d{1,2})(?:v\d{1,2})?(?:END)? (.*)'] + + +name = "[NC-Raws] 小书痴的下克上:为了成为图书管理员不择手段!第三季 / Honzuki no Gekokujou S3 - 32 (Baha 1920x1080 AVC AAC MP4)" +parrten = r'\[|\]|\u3010|\u3011|\★|\*|\(|\)|\(|\)' +for i in range(2): + n = re.split(parrten, name) + name = re.sub(f'\[{n[1]}\]|【{n[1]}】|★{n[1]}★', '', name) +for rule in episode_rules: + matchObj = re.match(rule, name, re.I) + if matchObj is not None: + new_name = re.sub(r'\[|\]', '', f'{matchObj.group(1)}') + new_name = re.split(r'/', new_name)[-1].strip() + print(new_name)