Merge branch '3.1-dev-up' into 3.1-dev

This commit is contained in:
Rewrite0
2023-08-10 12:22:10 +08:00
6 changed files with 23 additions and 7 deletions

View File

@@ -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

View File

@@ -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:

View File

@@ -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")

View File

@@ -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)

View File

@@ -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

View File

@@ -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__":