MoviePilot/app/db/models/downloadhistory.py
2023-06-26 11:51:54 +08:00

48 lines
1.4 KiB
Python

from sqlalchemy import Column, Integer, String, Sequence
from sqlalchemy.orm import Session
from app.db.models import Base
class DownloadHistory(Base):
"""
下载历史记录
"""
id = Column(Integer, Sequence('id'), primary_key=True, index=True)
# 保存路径
path = Column(String, nullable=False, index=True)
# 类型 电影/电视剧
type = Column(String, nullable=False)
# 标题
title = Column(String, nullable=False)
# 年份
year = Column(String)
tmdbid = Column(Integer, index=True)
imdbid = Column(String)
tvdbid = Column(Integer)
doubanid = Column(String)
# Sxx
seasons = Column(Integer)
# Exx
episodes = Column(String)
# 海报
image = Column(String)
# 下载任务Hash
download_hash = Column(String, index=True)
# 种子名称
torrent_name = Column(String)
# 种子描述
torrent_description = Column(String)
# 种子站点
torrent_site = Column(String)
# 附加信息
note = Column(String)
@staticmethod
def get_by_hash(db: Session, download_hash: str):
return db.query(DownloadHistory).filter(DownloadHistory.download_hash == download_hash).first()
@staticmethod
def list_by_page(db: Session, page: int = 1, count: int = 30):
return db.query(DownloadHistory).offset((page - 1) * count).limit(count).all()