Remove private deployment details
This commit is contained in:
@@ -18,12 +18,12 @@ LOG = Path("/var/log/manual-media-import.log")
|
||||
IMPORTER_STATUS = Path("/run/manual-media-import/status.json")
|
||||
MANUAL_BATCHES = Path("/var/lib/importarr/manual-batches.json")
|
||||
QUEUE_ROOTS = {
|
||||
"manual": Path("/srv/scrypted/sabnzbd-data/downloads/manual"),
|
||||
"danish_legacy": Path("/srv/scrypted/sabnzbd-data/downloads/danish"),
|
||||
"manual": Path(os.getenv("IMPORTARR_DOWNLOAD_ROOT", "/data/downloads/manual")),
|
||||
"legacy": Path(os.getenv("IMPORTARR_LEGACY_DOWNLOAD_ROOT", "/data/downloads/legacy")),
|
||||
}
|
||||
VIDEO_EXT = {".mkv", ".mp4", ".m4v", ".avi", ".mov", ".wmv", ".mpg", ".mpeg", ".ts", ".m2ts", ".webm"}
|
||||
SAB_CONFIG = Path("/opt/stacks/media-transform/sabnzbd/config/sabnzbd.ini")
|
||||
SAB_API = "http://127.0.0.1:8080/api"
|
||||
SAB_CONFIG = Path(os.getenv("IMPORTARR_SABNZBD_CONFIG", "/config/sabnzbd/sabnzbd.ini"))
|
||||
SAB_API = os.getenv("IMPORTARR_SABNZBD_URL", "http://sabnzbd:8080/api")
|
||||
LONG_RUNTIME_SECONDS = 25 * 60
|
||||
HIGH_MEMORY_BYTES = 8 * 1024**3
|
||||
STALE_QUEUE_SECONDS = 6 * 60 * 60
|
||||
|
||||
+21
-24
@@ -1,10 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Import manual SABnzbd downloads into Jellyfin movie/TV library roots.
|
||||
|
||||
Run on dgsserver1. Intended live install path:
|
||||
`/usr/local/sbin/manual-media-import.py`, managed by
|
||||
`manual-media-import.timer`.
|
||||
"""
|
||||
"""Import manual SABnzbd downloads into Jellyfin movie/TV library roots."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
@@ -25,38 +20,38 @@ from collections import Counter
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
MANUAL_DOWNLOADS = Path("/srv/scrypted/sabnzbd-data/downloads/manual")
|
||||
LEGACY_DANISH_DOWNLOADS = Path("/srv/scrypted/sabnzbd-data/downloads/danish")
|
||||
MANUAL_DOWNLOADS = Path(os.getenv("IMPORTARR_DOWNLOAD_ROOT", "/data/downloads/manual"))
|
||||
LEGACY_DANISH_DOWNLOADS = Path(os.getenv("IMPORTARR_LEGACY_DOWNLOAD_ROOT", "/data/downloads/legacy"))
|
||||
DOWNLOAD_ROOTS = [MANUAL_DOWNLOADS, LEGACY_DANISH_DOWNLOADS]
|
||||
SAB_TRANSIENT_PREFIXES = ("_UNPACK_", "__UNPACK__", "_FAILED_", "_ADMIN_")
|
||||
|
||||
HOST_MEDIA_PREFIX = "/srv/media"
|
||||
MOVIES_ROOT = Path("/srv/media/movies")
|
||||
TV_ROOT = Path("/srv/media/tv")
|
||||
HOST_MEDIA_PREFIX = os.getenv("IMPORTARR_HOST_MEDIA_PREFIX", "/data")
|
||||
MOVIES_ROOT = Path(os.getenv("IMPORTARR_MOVIES_ROOT", "/data/movies"))
|
||||
TV_ROOT = Path(os.getenv("IMPORTARR_TV_ROOT", "/data/tv"))
|
||||
|
||||
LOG = Path("/var/log/manual-media-import.log")
|
||||
LOCK = Path("/run/manual-media-import.lock")
|
||||
STATUS = Path("/run/manual-media-import/status.json")
|
||||
MANUAL_BATCHES = Path("/var/lib/importarr/manual-batches.json")
|
||||
HOME_ASSISTANT_WEBHOOK = "https://hass.delphas.dk/api/webhook/jellyfin_event"
|
||||
HOME_ASSISTANT_WEBHOOK = os.getenv("IMPORTARR_HOME_ASSISTANT_WEBHOOK", "")
|
||||
|
||||
RADARR_CONFIG = Path("/opt/stacks/media-transform/radarr/config/config.xml")
|
||||
RADARR_URL = "http://127.0.0.1:7878"
|
||||
RADARR_DB = Path("/opt/stacks/media-transform/radarr/config/radarr.db")
|
||||
SONARR_CONFIG = Path("/opt/stacks/media-transform/sonarr/config/config.xml")
|
||||
SONARR_URL = "http://127.0.0.1:8989"
|
||||
SONARR_DB = Path("/opt/stacks/media-transform/sonarr/config/sonarr.db")
|
||||
SABNZBD_CONFIG = Path("/opt/stacks/media-transform/sabnzbd/config/sabnzbd.ini")
|
||||
SABNZBD_URL = "http://127.0.0.1:8080/api"
|
||||
RADARR_CONFIG = Path(os.getenv("IMPORTARR_RADARR_CONFIG", "/config/radarr/config.xml"))
|
||||
RADARR_URL = os.getenv("IMPORTARR_RADARR_URL", "http://radarr:7878")
|
||||
RADARR_DB = Path(os.getenv("IMPORTARR_RADARR_DB", "/config/radarr/radarr.db"))
|
||||
SONARR_CONFIG = Path(os.getenv("IMPORTARR_SONARR_CONFIG", "/config/sonarr/config.xml"))
|
||||
SONARR_URL = os.getenv("IMPORTARR_SONARR_URL", "http://sonarr:8989")
|
||||
SONARR_DB = Path(os.getenv("IMPORTARR_SONARR_DB", "/config/sonarr/sonarr.db"))
|
||||
SABNZBD_CONFIG = Path(os.getenv("IMPORTARR_SABNZBD_CONFIG", "/config/sabnzbd/sabnzbd.ini"))
|
||||
SABNZBD_URL = os.getenv("IMPORTARR_SABNZBD_URL", "http://sabnzbd:8080/api")
|
||||
ARR_API_TIMEOUT = 10
|
||||
|
||||
VIDEO_EXT = {".mkv", ".mp4", ".m4v", ".avi", ".mov", ".wmv", ".mpg", ".mpeg", ".ts", ".m2ts", ".webm"}
|
||||
SIDECAR_EXT = {".srt", ".ass", ".sub", ".idx", ".nfo"}
|
||||
MIN_SIZE = 100 * 1024 * 1024
|
||||
IMDB_DATASET_CANDIDATES = [
|
||||
Path("/srv/media/imdb"),
|
||||
Path("/srv/media/imdb-datasets"),
|
||||
Path("/srv/media/.cache/imdb"),
|
||||
Path("/data/imdb"),
|
||||
Path("/data/imdb-datasets"),
|
||||
Path("/data/.cache/imdb"),
|
||||
Path("/var/lib/imdb"),
|
||||
Path("/opt/imdb"),
|
||||
]
|
||||
@@ -869,6 +864,8 @@ def copy_then_remove(src: Path, dest: Path, *, media_type: str | None = None, so
|
||||
|
||||
|
||||
def notify_home_assistant(item: dict[str, object], dest: Path, source_tag: str) -> None:
|
||||
if not HOME_ASSISTANT_WEBHOOK:
|
||||
return
|
||||
item_type = str(item.get("item_type") or "Movie")
|
||||
name = item.get("title") or dest.parent.name
|
||||
payload_body: dict[str, object] = {
|
||||
@@ -906,7 +903,7 @@ def source_tag_for(path: Path) -> str:
|
||||
for root in DOWNLOAD_ROOTS:
|
||||
try:
|
||||
path.relative_to(root)
|
||||
return "manual" if root == MANUAL_DOWNLOADS else "danish-legacy"
|
||||
return "manual" if root == MANUAL_DOWNLOADS else "legacy"
|
||||
except ValueError:
|
||||
continue
|
||||
return "manual"
|
||||
|
||||
Reference in New Issue
Block a user