mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-25 02:50:27 +08:00
92 lines
2.5 KiB
Python
92 lines
2.5 KiB
Python
import os.path
|
|
import time
|
|
import logging
|
|
import threading
|
|
|
|
from module.rss import RSSAnalyser, add_rules
|
|
from module.manager import Renamer, FullSeasonGet
|
|
from module.database import BangumiDatabase
|
|
from module.downloader import DownloadClient
|
|
from module.conf import settings
|
|
from module.conf import VERSION
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
stop_event = threading.Event()
|
|
|
|
|
|
def rss_loop(stop_event):
|
|
rss_analyser = RSSAnalyser()
|
|
rss_link = settings.rss_link()
|
|
while not stop_event.is_set():
|
|
rss_analyser.run(rss_link)
|
|
add_rules()
|
|
if settings.bangumi_manage.eps_complete:
|
|
with FullSeasonGet() as full_season_get:
|
|
full_season_get.eps_complete()
|
|
stop_event.wait(settings.program.rss_time)
|
|
|
|
|
|
def rename_loop(stop_event):
|
|
while not stop_event.is_set():
|
|
with Renamer() as renamer:
|
|
renamer.rename()
|
|
stop_event.wait(settings.program.rename_time)
|
|
|
|
|
|
rss_thread = threading.Thread(
|
|
target=rss_loop,
|
|
args=(stop_event,),
|
|
)
|
|
|
|
rename_thread = threading.Thread(
|
|
target=rename_loop,
|
|
args=(stop_event,),
|
|
)
|
|
|
|
|
|
def start_info():
|
|
with open("icon", "r") as f:
|
|
for line in f.readlines():
|
|
logger.info(line.strip("\n"))
|
|
logger.info(
|
|
f"Version {VERSION} Author: EstrellaXD Twitter: https://twitter.com/Estrella_Pan"
|
|
)
|
|
logger.info("GitHub: https://github.com/EstrellaXD/Auto_Bangumi/")
|
|
logger.info("Starting AutoBangumi...")
|
|
|
|
|
|
def stop_thread():
|
|
global rss_thread, rename_thread
|
|
if not stop_event.is_set():
|
|
stop_event.set()
|
|
rename_thread.join()
|
|
rss_thread.join()
|
|
|
|
|
|
def start_thread():
|
|
global rss_thread, rename_thread
|
|
if stop_event.is_set():
|
|
stop_event.clear()
|
|
time.sleep(1)
|
|
settings.load()
|
|
rss_thread = threading.Thread(target=rss_loop, args=(stop_event,))
|
|
rename_thread = threading.Thread(target=rename_loop, args=(stop_event,))
|
|
rss_thread.start()
|
|
rename_thread.start()
|
|
return {"status": "ok"}
|
|
|
|
|
|
def start_program():
|
|
global rss_thread, rename_thread
|
|
start_info()
|
|
with BangumiDatabase() as database:
|
|
database.update_table()
|
|
with DownloadClient() as client:
|
|
client.init_downloader()
|
|
client.add_rss_feed(settings.rss_link())
|
|
rss_thread = threading.Thread(target=rss_loop, args=(stop_event,))
|
|
rename_thread = threading.Thread(target=rename_loop, args=(stop_event,))
|
|
rss_thread.start()
|
|
rename_thread.start()
|