Release v0.1.0: GDM Refactor, Rate Limit, Metallic UI
This commit is contained in:
45
model.py
Normal file
45
model.py
Normal file
@@ -0,0 +1,45 @@
|
||||
"""
|
||||
다운로드 큐 모델 정의
|
||||
"""
|
||||
from plugin import ModelBase, db
|
||||
|
||||
package_name = 'gommi_download_manager'
|
||||
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
class ModelDownloadItem(ModelBase):
|
||||
"""다운로드 아이템 DB 모델"""
|
||||
__tablename__ = f'{package_name}_download_item'
|
||||
__table_args__ = {'mysql_collate': 'utf8_general_ci'}
|
||||
__bind_key__ = package_name
|
||||
|
||||
id: int = db.Column(db.Integer, primary_key=True)
|
||||
created_time: datetime = db.Column(db.DateTime)
|
||||
|
||||
# 다운로드 정보
|
||||
url: str = db.Column(db.String)
|
||||
filename: str = db.Column(db.String)
|
||||
save_path: str = db.Column(db.String)
|
||||
source_type: str = db.Column(db.String) # youtube, ani24, linkkf, anilife, http
|
||||
|
||||
# 상태
|
||||
status: str = db.Column(db.String) # pending, downloading, paused, completed, error
|
||||
progress: int = db.Column(db.Integer, default=0)
|
||||
speed: str = db.Column(db.String)
|
||||
eta: str = db.Column(db.String)
|
||||
|
||||
# 메타데이터
|
||||
title: str = db.Column(db.String)
|
||||
thumbnail: str = db.Column(db.String)
|
||||
duration: int = db.Column(db.Integer)
|
||||
filesize: int = db.Column(db.Integer)
|
||||
|
||||
# 호출자 정보
|
||||
caller_plugin: str = db.Column(db.String)
|
||||
callback_id: str = db.Column(db.String)
|
||||
|
||||
# 에러 정보
|
||||
error_message: str = db.Column(db.Text)
|
||||
retry_count: int = db.Column(db.Integer, default=0)
|
||||
|
||||
Reference in New Issue
Block a user