fixed: recan issues
This commit is contained in:
parent
12688b9770
commit
75aa410f98
@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"created_at": "2025-10-23T20:54:38.147564",
|
|
||||||
"last_updated": "2025-10-23T20:54:38.147574",
|
|
||||||
"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,8 +17,8 @@
|
|||||||
"keep_days": 30
|
"keep_days": 30
|
||||||
},
|
},
|
||||||
"other": {
|
"other": {
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
"master_password_hash": "$pbkdf2-sha256$29000$pRSCMOZcy1mLUeo951zrXQ$8/lWKoHbJJQDk2j7fM9RYrpLyxu3xwJXSpISYfs7jnM",
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$gdCa897bm/Oec07J2RvDOA$L60V4C1PUEGWC3WtX.32koXvTA12P6J2rYPXTIPFg5g"
|
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$w3jPmfM.B8DY2xsjJCQkZA$BT52/04WG0hpMP/4uRnJUgBjYyrLxEwQodBoa6mKVOQ"
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$fw.hFMI4JyRkrHXufU/J2Q$Lu.CArOq.fQ32HPX8IeiH/dNX1NOjOqVQl1uXuoTP4k"
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$d.7dG8N4r/V.zzknxHiv9Q$pL5O6lAj4YhG1VNJYQKyojEti1yhvfxkjmP.O3OMXMk"
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$aS1l7H3vnbM2JqT03jun1A$ZDIgiVSD5j6Gj/WrOJObZzhB/UBTDzjg3KebQj62ae0"
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$s3YOYUyplRJiDOGcs3autQ$/Uxgp3nQSzYwKYB1tt7H230PL.zR7DQrB4Dp/8Y0xBI"
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$RigFgPD.n9O69/5fq9Xauw$Vy2ak.30Y89iiSq9NOWKNxTp49ZyuZcIUCyzmyMgiCc"
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$VQohxNhb6x0j5Lz3XqsVIg$yNJHqC7RxzhwScZVDmOY60CrCQG5RQbzCBGVz8FZrf0"
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$I8S41/p/D2HsXYsxhvCeUw$0MEEWNZA3RJlxKtqZ8TDqahhDlueTvHWE100uo115R4"
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"anime_directory": "/home/lukas/Volume/serien/",
|
|
||||||
"master_password_hash": "$pbkdf2-sha256$29000$YoyRkvIeg/D.H8NYKwWgdA$AWAYrJO3h7vDZJ3IZCc1men8OrroAzRXlJWvXcBpBDA"
|
|
||||||
},
|
|
||||||
"version": "1.0.0"
|
|
||||||
}
|
|
||||||
@ -1,425 +0,0 @@
|
|||||||
{
|
|
||||||
"pending": [
|
|
||||||
{
|
|
||||||
"id": "fb90e232-52cc-4315-a994-725d132df69a",
|
|
||||||
"serie_id": "workflow-series",
|
|
||||||
"serie_name": "Workflow Test Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "high",
|
|
||||||
"added_at": "2025-10-25T15:25:53.734312Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "37ab9885-cf61-4417-96b7-383490ce2fca",
|
|
||||||
"serie_id": "series-2",
|
|
||||||
"serie_name": "Series 2",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.327912Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "ede47aa4-4533-4a86-90e6-81126ff1189a",
|
|
||||||
"serie_id": "series-1",
|
|
||||||
"serie_name": "Series 1",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.324487Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "33af9d7b-4787-4d54-af2a-6b9af4f2b061",
|
|
||||||
"serie_id": "series-0",
|
|
||||||
"serie_name": "Series 0",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.322230Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "c04610c9-fa71-43fc-9cbf-2f8934b097bd",
|
|
||||||
"serie_id": "series-high",
|
|
||||||
"serie_name": "Series High",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "high",
|
|
||||||
"added_at": "2025-10-25T15:25:53.022054Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "1da55781-81dd-43bc-89a7-b4f9149c0cfe",
|
|
||||||
"serie_id": "test-series-2",
|
|
||||||
"serie_name": "Another Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "high",
|
|
||||||
"added_at": "2025-10-25T15:25:52.986476Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "155cef74-9b1d-4582-b836-d13c48290c80",
|
|
||||||
"serie_id": "test-series-1",
|
|
||||||
"serie_name": "Test Anime Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": "Episode 1"
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:52.952839Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "682399d3-6b56-4bc2-b3a6-8aa0f30d91ba",
|
|
||||||
"serie_id": "test-series-1",
|
|
||||||
"serie_name": "Test Anime Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 2,
|
|
||||||
"title": "Episode 2"
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:52.952940Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "b12de848-efcd-4e4d-838e-992f48dca631",
|
|
||||||
"serie_id": "series-normal",
|
|
||||||
"serie_name": "Series Normal",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.024208Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "901ea5d2-1491-492f-8f7b-62db605d6bb4",
|
|
||||||
"serie_id": "series-low",
|
|
||||||
"serie_name": "Series Low",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "low",
|
|
||||||
"added_at": "2025-10-25T15:25:53.026631Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "6cddccb4-14cd-43e7-9425-5c4b20dd34f2",
|
|
||||||
"serie_id": "test-series",
|
|
||||||
"serie_name": "Test Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.257343Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "2b6e4d96-70e9-4d71-806f-ffd6348ef205",
|
|
||||||
"serie_id": "test-series",
|
|
||||||
"serie_name": "Test Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.364247Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "1ac25804-5be3-420a-93df-1ca7b70a40e2",
|
|
||||||
"serie_id": "invalid-series",
|
|
||||||
"serie_name": "Invalid Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 99,
|
|
||||||
"episode": 99,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.430806Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "4e568aec-ac73-444a-aeb3-d8c6c27cf630",
|
|
||||||
"serie_id": "test-series",
|
|
||||||
"serie_name": "Test Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.464054Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "1e387ffb-c029-4fa6-9e48-93244c9b91fc",
|
|
||||||
"serie_id": "series-4",
|
|
||||||
"serie_name": "Series 4",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.550292Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "73c2af3f-784c-4351-9bac-ddefa11e5e18",
|
|
||||||
"serie_id": "series-2",
|
|
||||||
"serie_name": "Series 2",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.552089Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "d6a798ce-be87-42d9-847a-39e3ae1bc704",
|
|
||||||
"serie_id": "series-3",
|
|
||||||
"serie_name": "Series 3",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.552805Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "1c34959e-bcdb-4dce-812b-32fe278f5a42",
|
|
||||||
"serie_id": "series-0",
|
|
||||||
"serie_name": "Series 0",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.553458Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "9a02ae1f-c264-4a72-98e0-a2120dc625ea",
|
|
||||||
"serie_id": "series-1",
|
|
||||||
"serie_name": "Series 1",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.554161Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "3080213e-4a0f-4b62-8dd5-871640e4379d",
|
|
||||||
"serie_id": "persistent-series",
|
|
||||||
"serie_name": "Persistent Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.636324Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "6bd8762b-9800-4306-9143-8277b7d23611",
|
|
||||||
"serie_id": "ws-series",
|
|
||||||
"serie_name": "WebSocket Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.700590Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "b0f208df-9fa1-4952-a65b-97d39696ee72",
|
|
||||||
"serie_id": "pause-test",
|
|
||||||
"serie_name": "Pause Test Series",
|
|
||||||
"episode": {
|
|
||||||
"season": 1,
|
|
||||||
"episode": 1,
|
|
||||||
"title": null
|
|
||||||
},
|
|
||||||
"status": "pending",
|
|
||||||
"priority": "normal",
|
|
||||||
"added_at": "2025-10-25T15:25:53.876408Z",
|
|
||||||
"started_at": null,
|
|
||||||
"completed_at": null,
|
|
||||||
"progress": null,
|
|
||||||
"error": null,
|
|
||||||
"retry_count": 0,
|
|
||||||
"source_url": null
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"active": [],
|
|
||||||
"failed": [],
|
|
||||||
"timestamp": "2025-10-25T15:25:53.876987+00:00"
|
|
||||||
}
|
|
||||||
@ -239,15 +239,15 @@ async def trigger_rescan(
|
|||||||
_auth: dict = Depends(require_auth),
|
_auth: dict = Depends(require_auth),
|
||||||
series_app: Any = Depends(get_series_app),
|
series_app: Any = Depends(get_series_app),
|
||||||
) -> dict:
|
) -> dict:
|
||||||
"""Kick off a background rescan of the local library.
|
"""Kick off a rescan of the local library.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
_auth: Ensures the caller is authenticated (value unused)
|
_auth: Ensures the caller is authenticated (value unused)
|
||||||
series_app: Core `SeriesApp` instance provided via dependency.
|
series_app: Core `SeriesApp` instance provided via dependency.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict[str, Any]: Status payload communicating whether the rescan
|
Dict[str, Any]: Status payload with scan results including
|
||||||
launched successfully.
|
number of series found.
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
HTTPException: If the rescan command is unsupported or fails.
|
HTTPException: If the rescan command is unsupported or fails.
|
||||||
@ -255,8 +255,23 @@ async def trigger_rescan(
|
|||||||
try:
|
try:
|
||||||
# SeriesApp.ReScan expects a callback; pass a no-op
|
# SeriesApp.ReScan expects a callback; pass a no-op
|
||||||
if hasattr(series_app, "ReScan"):
|
if hasattr(series_app, "ReScan"):
|
||||||
series_app.ReScan(lambda *args, **kwargs: None)
|
result = series_app.ReScan(lambda *args, **kwargs: None)
|
||||||
return {"success": True, "message": "Rescan started"}
|
|
||||||
|
if result.success:
|
||||||
|
series_count = (
|
||||||
|
result.data.get("series_count", 0)
|
||||||
|
if result.data else 0
|
||||||
|
)
|
||||||
|
return {
|
||||||
|
"success": True,
|
||||||
|
"message": result.message,
|
||||||
|
"series_count": series_count
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
return {
|
||||||
|
"success": False,
|
||||||
|
"message": result.message
|
||||||
|
}
|
||||||
|
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_501_NOT_IMPLEMENTED,
|
status_code=status.HTTP_501_NOT_IMPLEMENTED,
|
||||||
|
|||||||
@ -924,15 +924,28 @@ class AniWorldApp {
|
|||||||
|
|
||||||
async rescanSeries() {
|
async rescanSeries() {
|
||||||
try {
|
try {
|
||||||
|
this.showToast('Scanning directory...', 'info');
|
||||||
|
|
||||||
const response = await this.makeAuthenticatedRequest('/api/anime/rescan', {
|
const response = await this.makeAuthenticatedRequest('/api/anime/rescan', {
|
||||||
method: 'POST'
|
method: 'POST'
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!response) return;
|
if (!response) return;
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|
||||||
|
// Debug logging
|
||||||
|
console.log('Rescan response:', data);
|
||||||
|
console.log('Success value:', data.success, 'Type:', typeof data.success);
|
||||||
|
|
||||||
if (data.status === 'success') {
|
if (data.success === true) {
|
||||||
this.showToast('Rescan started', 'success');
|
const seriesCount = data.series_count || 0;
|
||||||
|
this.showToast(
|
||||||
|
`Rescan complete! Found ${seriesCount} series with missing episodes.`,
|
||||||
|
'success'
|
||||||
|
);
|
||||||
|
|
||||||
|
// Reload the series list to show the updated data
|
||||||
|
await this.loadSeries();
|
||||||
} else {
|
} else {
|
||||||
this.showToast(`Rescan error: ${data.message}`, 'error');
|
this.showToast(`Rescan error: ${data.message}`, 'error');
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user