more UI polish and schedule safe guards and optimization

This commit is contained in:
Bryan Van Deusen
2026-01-30 00:01:45 -05:00
parent c1fe8148b8
commit 097ab16c50
6 changed files with 133 additions and 25 deletions
+6 -5
View File
@@ -154,10 +154,10 @@ class GalleryDLService:
# Automatic infinite scroll pagination is built-in
},
"hentaifoundry": {
"content_types": ["pictures"],
"content_types": ["all"], # Download all content types
"directory": [], # Flat structure within platform folder
"filename": "{category}_{index:>03}_{title[:50]}.{extension}",
"include": "all", # Include all content types (pictures, scraps, stories)
"include": "all", # Include pictures, scraps, stories - complete content
# Automatic pagination through all pages (25 items/page)
},
"discord": {
@@ -206,7 +206,8 @@ class GalleryDLService:
"archive": str(Path(self.settings.config_path) / "archive.sqlite3"),
"skip": True,
"sleep": self._rate_limit,
"sleep-request": max(1.0, self._rate_limit / 2),
# Faster request rate for pagination/checking (1/4 of rate_limit, min 0.5s)
"sleep-request": max(0.5, self._rate_limit / 4),
"retries": 3,
"timeout": 30.0,
"verify": True,
@@ -624,7 +625,7 @@ class GalleryDLService:
if platform == "patreon":
return ["images", "image_large", "attachments", "postfile", "content"]
elif platform == "hentaifoundry":
return ["pictures", "stories"]
return ["all", "pictures", "scraps", "stories"]
elif platform == "subscribestar":
return ["all"] # No granular control
elif platform == "discord":
@@ -643,5 +644,5 @@ class GalleryDLService:
"directory_pattern": defaults.get("directory"),
"filename_pattern": defaults.get("filename"),
"sleep": self._rate_limit,
"sleep_request": max(1.0, self._rate_limit / 2),
"sleep_request": max(0.5, self._rate_limit / 4),
}
+3 -2
View File
@@ -287,9 +287,10 @@ async def _download_source_async(source_id: int, download_id: int = None) -> dic
# Update download record with results
download.completed_at = utcnow()
download.file_count = dl_result.files_downloaded
# Store full logs - cleanup task will age out old records
download.metadata_ = {
"stdout": dl_result.stdout[:10000] if dl_result.stdout else None,
"stderr": dl_result.stderr[:5000] if dl_result.stderr else None,
"stdout": dl_result.stdout if dl_result.stdout else None,
"stderr": dl_result.stderr if dl_result.stderr else None,
"duration_seconds": dl_result.duration_seconds,
}