fix: add to download
This commit is contained in:
parent
55781a8448
commit
dbb5701660
@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"created_at": "2025-10-30T19:51:12.073703",
|
|
||||||
"last_updated": "2025-10-30T19:51:12.073709",
|
|
||||||
"download_stats": {
|
|
||||||
"total_downloads": 0,
|
|
||||||
"successful_downloads": 0,
|
|
||||||
"failed_downloads": 0,
|
|
||||||
"total_bytes_downloaded": 0,
|
|
||||||
"average_speed_mbps": 0.0,
|
|
||||||
"success_rate": 0.0,
|
|
||||||
"average_duration_seconds": 0.0
|
|
||||||
},
|
|
||||||
"series_popularity": [],
|
|
||||||
"storage_history": [],
|
|
||||||
"performance_samples": []
|
|
||||||
}
|
|
||||||
@ -17,7 +17,7 @@
|
|||||||
"keep_days": 30
|
"keep_days": 30
|
||||||
},
|
},
|
||||||
"other": {
|
"other": {
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$gDAmhLCWsrY25vz/f28NIQ$Oi7qK6MnW/N67bDCiut6wiU/5KVFkdnxkg34XjQEDmQ",
|
"master_password_hash": "$pbkdf2-sha256$29000$DwGg9P5fS4mxNiZEyBnjvA$prwrz.LHaPTVVqtZMVAXPkw3GclQrCiIfa35SvcV2RA",
|
||||||
"anime_directory": "/home/lukas/Volume/serien/"
|
"anime_directory": "/home/lukas/Volume/serien/"
|
||||||
},
|
},
|
||||||
"version": "1.0.0"
|
"version": "1.0.0"
|
||||||
|
|||||||
@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Aniworld",
|
|
||||||
"data_dir": "data",
|
|
||||||
"scheduler": {
|
|
||||||
"enabled": true,
|
|
||||||
"interval_minutes": 60
|
|
||||||
},
|
|
||||||
"logging": {
|
|
||||||
"level": "INFO",
|
|
||||||
"file": null,
|
|
||||||
"max_bytes": null,
|
|
||||||
"backup_count": 3
|
|
||||||
},
|
|
||||||
"backup": {
|
|
||||||
"enabled": false,
|
|
||||||
"path": "data/backups",
|
|
||||||
"keep_days": 30
|
|
||||||
},
|
|
||||||
"other": {
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$8D5nbO3d23sPASAE4FzLWQ$CqXdc8Zryr9Jgyb4AEC/9GrMBnKrmFYt/rEBuYyHFqo",
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/"
|
|
||||||
},
|
|
||||||
"version": "1.0.0"
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Aniworld",
|
|
||||||
"data_dir": "data",
|
|
||||||
"scheduler": {
|
|
||||||
"enabled": true,
|
|
||||||
"interval_minutes": 60
|
|
||||||
},
|
|
||||||
"logging": {
|
|
||||||
"level": "INFO",
|
|
||||||
"file": null,
|
|
||||||
"max_bytes": null,
|
|
||||||
"backup_count": 3
|
|
||||||
},
|
|
||||||
"backup": {
|
|
||||||
"enabled": false,
|
|
||||||
"path": "data/backups",
|
|
||||||
"keep_days": 30
|
|
||||||
},
|
|
||||||
"other": {
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$qLVW6j3nPIeQUioFwLjX.g$w.mBJsPDLs5wO9E2NL1wcHrBgVOFaDwSh684x8f1FDg",
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/"
|
|
||||||
},
|
|
||||||
"version": "1.0.0"
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Aniworld",
|
|
||||||
"data_dir": "data",
|
|
||||||
"scheduler": {
|
|
||||||
"enabled": true,
|
|
||||||
"interval_minutes": 60
|
|
||||||
},
|
|
||||||
"logging": {
|
|
||||||
"level": "INFO",
|
|
||||||
"file": null,
|
|
||||||
"max_bytes": null,
|
|
||||||
"backup_count": 3
|
|
||||||
},
|
|
||||||
"backup": {
|
|
||||||
"enabled": false,
|
|
||||||
"path": "data/backups",
|
|
||||||
"keep_days": 30
|
|
||||||
},
|
|
||||||
"other": {
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$.r9Xag1BSKl17j3H.P./tw$XLhO13awaCA0TUXFdd6pMlefl41zxL1rLWON/wy.FSU",
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/"
|
|
||||||
},
|
|
||||||
"version": "1.0.0"
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Aniworld",
|
|
||||||
"data_dir": "data",
|
|
||||||
"scheduler": {
|
|
||||||
"enabled": true,
|
|
||||||
"interval_minutes": 60
|
|
||||||
},
|
|
||||||
"logging": {
|
|
||||||
"level": "INFO",
|
|
||||||
"file": null,
|
|
||||||
"max_bytes": null,
|
|
||||||
"backup_count": 3
|
|
||||||
},
|
|
||||||
"backup": {
|
|
||||||
"enabled": false,
|
|
||||||
"path": "data/backups",
|
|
||||||
"keep_days": 30
|
|
||||||
},
|
|
||||||
"other": {
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$ivEe41yLkZIyBqA0Rmht7Q$71tDA8ymSS.OrdyZ0KYGQ5GFxqCaAR4UxbNVMH8nJNs",
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/"
|
|
||||||
},
|
|
||||||
"version": "1.0.0"
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Aniworld",
|
|
||||||
"data_dir": "data",
|
|
||||||
"scheduler": {
|
|
||||||
"enabled": true,
|
|
||||||
"interval_minutes": 60
|
|
||||||
},
|
|
||||||
"logging": {
|
|
||||||
"level": "INFO",
|
|
||||||
"file": null,
|
|
||||||
"max_bytes": null,
|
|
||||||
"backup_count": 3
|
|
||||||
},
|
|
||||||
"backup": {
|
|
||||||
"enabled": false,
|
|
||||||
"path": "data/backups",
|
|
||||||
"keep_days": 30
|
|
||||||
},
|
|
||||||
"other": {
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$3zuHECKEcK4VwjjnHMN4rw$IQMdj42ajSj4Gp16BPTKt.Hl6byaTQOZSnSfPaej6xY",
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/"
|
|
||||||
},
|
|
||||||
"version": "1.0.0"
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -106,8 +106,3 @@ For each task completed:
|
|||||||
---
|
---
|
||||||
|
|
||||||
# Tasks
|
# Tasks
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
- [x] Redirect to setup if no config is present.
|
|
||||||
- [x] After setup confirmed redirect to login
|
|
||||||
|
|||||||
@ -692,4 +692,3 @@ async def create_anime_test(request: AnimeCreateRequest):
|
|||||||
),
|
),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ from datetime import datetime, timezone
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, Field, HttpUrl
|
from pydantic import BaseModel, Field, HttpUrl, field_validator
|
||||||
|
|
||||||
|
|
||||||
class DownloadStatus(str, Enum):
|
class DownloadStatus(str, Enum):
|
||||||
@ -168,6 +168,14 @@ class DownloadRequest(BaseModel):
|
|||||||
DownloadPriority.NORMAL, description="Priority level for queue items"
|
DownloadPriority.NORMAL, description="Priority level for queue items"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@field_validator('priority', mode='before')
|
||||||
|
@classmethod
|
||||||
|
def normalize_priority(cls, v):
|
||||||
|
"""Normalize priority to lowercase for case-insensitive matching."""
|
||||||
|
if isinstance(v, str):
|
||||||
|
return v.lower()
|
||||||
|
return v
|
||||||
|
|
||||||
|
|
||||||
class DownloadResponse(BaseModel):
|
class DownloadResponse(BaseModel):
|
||||||
"""Response after adding items to the download queue."""
|
"""Response after adding items to the download queue."""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user