Fix+Debug: generate-previews mit Dir-Info + no such column fix (SW by-v939)
This commit is contained in:
parent
8080d7cda1
commit
947832f63d
1 changed files with 12 additions and 5 deletions
|
|
@ -1058,21 +1058,25 @@ async def ors_stats(user=Depends(require_mod)):
|
||||||
|
|
||||||
@router.post("/media/generate-previews")
|
@router.post("/media/generate-previews")
|
||||||
async def generate_media_previews(user=Depends(require_admin)):
|
async def generate_media_previews(user=Depends(require_admin)):
|
||||||
"""Generiert fehlende _preview.jpg für alle Bilder in /data/media."""
|
"""Generiert fehlende _preview.webp für alle Bilder in /data/media."""
|
||||||
import io as _io
|
import logging as _log
|
||||||
from media_utils import generate_preview, _PREVIEW_EXTS
|
from media_utils import generate_preview, _PREVIEW_EXTS
|
||||||
|
_logger = _log.getLogger(__name__)
|
||||||
MEDIA_DIR = os.getenv("MEDIA_DIR", "/data/media")
|
MEDIA_DIR = os.getenv("MEDIA_DIR", "/data/media")
|
||||||
|
|
||||||
generated = 0
|
generated = 0
|
||||||
skipped = 0
|
skipped = 0
|
||||||
errors = 0
|
errors = 0
|
||||||
|
dirs_info = {}
|
||||||
|
|
||||||
for subdir in ("diary", "forum", "breeds", "breeds/gallery", "breeds/submissions"):
|
for subdir in ("diary", "forum", "breeds", "breeds/gallery", "breeds/submissions"):
|
||||||
folder = os.path.join(MEDIA_DIR, subdir)
|
folder = os.path.join(MEDIA_DIR, subdir)
|
||||||
if not os.path.isdir(folder):
|
if not os.path.isdir(folder):
|
||||||
|
dirs_info[subdir] = "not found"
|
||||||
continue
|
continue
|
||||||
for fname in os.listdir(folder):
|
files = os.listdir(folder)
|
||||||
# Nur Original-Bilder (keine _preview, _thumb, Videos, PDFs)
|
dirs_info[subdir] = f"{len(files)} files"
|
||||||
|
for fname in files:
|
||||||
low = fname.lower()
|
low = fname.lower()
|
||||||
if "_preview" in low or "_thumb" in low:
|
if "_preview" in low or "_thumb" in low:
|
||||||
continue
|
continue
|
||||||
|
|
@ -1091,10 +1095,13 @@ async def generate_media_previews(user=Depends(require_admin)):
|
||||||
generated += 1
|
generated += 1
|
||||||
else:
|
else:
|
||||||
skipped += 1
|
skipped += 1
|
||||||
|
_logger.warning(f"Preview None für {subdir}/{fname}")
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
errors += 1
|
errors += 1
|
||||||
|
_logger.error(f"Preview-Fehler {subdir}/{fname}: {exc}")
|
||||||
|
|
||||||
return {"generated": generated, "skipped": skipped, "errors": errors}
|
_logger.info(f"generate-previews: {generated} neu, {skipped} vorhanden, {errors} Fehler | dirs: {dirs_info}")
|
||||||
|
return {"generated": generated, "skipped": skipped, "errors": errors, "dirs": dirs_info}
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue