mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-13 12:19:54 +08:00
Merge branch '3.1-dev-up' into 3.1-dev
This commit is contained in:
@@ -2,7 +2,6 @@ import threading
|
||||
import time
|
||||
|
||||
from module.conf import settings
|
||||
from module.database import Database
|
||||
from module.downloader import DownloadClient
|
||||
from module.manager import Renamer, eps_complete
|
||||
from module.notification import PostNotification
|
||||
|
||||
@@ -20,6 +20,7 @@ class BangumiDatabase:
|
||||
|
||||
def add_all(self, datas: list[Bangumi]):
|
||||
self.session.add_all(datas)
|
||||
self.session.commit()
|
||||
logger.debug(f"[Database] Insert {len(datas)} bangumi into database.")
|
||||
|
||||
def update(self, data: Bangumi) -> bool:
|
||||
|
||||
@@ -6,6 +6,8 @@ from .bangumi import BangumiDatabase
|
||||
from .user import UserDatabase
|
||||
from .engine import engine as e
|
||||
|
||||
from module.models import User, Bangumi
|
||||
|
||||
|
||||
class Database(Session):
|
||||
def __init__(self, engine=e):
|
||||
@@ -24,8 +26,19 @@ class Database(Session):
|
||||
|
||||
def migrate(self):
|
||||
# Run migration online
|
||||
from alembic import command
|
||||
from alembic.config import Config
|
||||
bangumi_data = self.bangumi.search_all()
|
||||
user_data = self.exec("SELECT * FROM user").all()
|
||||
readd_bangumi = []
|
||||
for bangumi in bangumi_data:
|
||||
dict_data = bangumi.dict()
|
||||
del dict_data["id"]
|
||||
readd_bangumi.append(Bangumi(**dict_data))
|
||||
self.drop_table()
|
||||
self.create_table()
|
||||
self.commit()
|
||||
bangumi_data = self.bangumi.search_all()
|
||||
self.bangumi.add_all(readd_bangumi)
|
||||
self.add(User(**user_data[0]))
|
||||
self.commit()
|
||||
|
||||
|
||||
alembic_cfg = Config("alembic.ini")
|
||||
command.upgrade(alembic_cfg, "head")
|
||||
|
||||
@@ -24,6 +24,10 @@ class RSSDatabase:
|
||||
self.session.commit()
|
||||
self.session.refresh(data)
|
||||
|
||||
def add_all(self, data: list[RSSItem]):
|
||||
for item in data:
|
||||
self.add(item)
|
||||
|
||||
def update(self, _id: int, data: RSSUpdate):
|
||||
# Check if exists
|
||||
statement = select(RSSItem).where(RSSItem.id == _id)
|
||||
|
||||
@@ -46,7 +46,6 @@ class RSSEngine(Database):
|
||||
_filter = matched.filter.replace(",", "|")
|
||||
if not re.search(_filter, torrent.name, re.IGNORECASE):
|
||||
torrent.bangumi_id = matched.id
|
||||
torrent.save_path = matched.save_path
|
||||
return matched
|
||||
return None
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ def start_up(first_run):
|
||||
engine.add_rss(settings.rss_link, name="Mikan RSS", combine=True)
|
||||
elif main_rss.url != settings.rss_link:
|
||||
main_rss.url = settings.rss_link
|
||||
engine.rss.update(main_rss)
|
||||
engine.rss.update(1, main_rss)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user