feat(e-pub): e-bog/lydbog fra et indsat link, med live-log, kø, timeout og /admin/epub
Claude-Session: https://claude.ai/code/session_01AUj1LSMmrowcomkn1ciAgj
This commit is contained in:
@@ -81,6 +81,20 @@ YT_DEFAULTS = {
|
||||
"library_name": "YouTube",
|
||||
}
|
||||
|
||||
# ---- e-pub (ebog/lydbog fra en biblioteks-reference) ----
|
||||
EPUB_SETTINGS_PATH = DATA / "epub_settings.json"
|
||||
# Per-job-mapper (output + TMP) oprettes her og slettes efter hentning/udløb.
|
||||
EPUB_SCRATCH = Path(os.environ.get("EPUB_SCRATCH", str(DATA / "e-pub-scratch")))
|
||||
# Standardindstillinger - kan redigeres i /admin/epub (RP_API_KEY/RP_BASE_URL kommer fra env ovenfor):
|
||||
EPUB_DEFAULTS = {
|
||||
"max_concurrent_jobs": 2, # samtidige jobs; resten venter i kø
|
||||
"job_timeout_seconds": 1200, # et job dræbes efter så lang tid
|
||||
"output_ttl_seconds": 1800, # færdig fil slettes efter så lang tid, hvis den ikke er hentet
|
||||
"tools_dir": "/opt/portal/tools/e-pub", # mappen med fetch.sh m.fl.
|
||||
"rp_required": True, # job fejler (exit 4) frem for at gå direkte ud uden proxy-nøgle
|
||||
"allowed_group": "", # tom = kun admins må bruge /e-pub
|
||||
}
|
||||
|
||||
GROUP_ORDER = {n: i for i, n in enumerate(
|
||||
["Home", "Familie", "Medie", "Social", "AI", "Office", "Finans", "dev", "game", "Admin"])}
|
||||
|
||||
@@ -107,6 +121,8 @@ ADMIN_MODULES = [
|
||||
"desc": "Slet aldrig-set film & serier automatisk — med karens, behold-liste og ntfy."},
|
||||
{"key": "yt", "title": "YouTube offline", "icon": "📺",
|
||||
"desc": "Hent YouTube-videoer til Emby - og slet dem igen naar de er set."},
|
||||
{"key": "epub", "title": "E-bøger & lydbøger", "icon": "📚",
|
||||
"desc": "/e-pub: hvem der må bruge den, samtidige jobs, timeout og hvor længe filer ligger."},
|
||||
{"key": "secrets", "title": "Hemmeligheder til Claude", "icon": "🔏",
|
||||
"desc": "Giv et token eller kodeord til serveren krypteret, uden at skrive det i chatten."},
|
||||
{"key": "podcast", "title": "Podcast", "icon": "🎙️",
|
||||
|
||||
Reference in New Issue
Block a user