diff --git a/app/main.py b/app/main.py index d4d0893..d0928e0 100644 --- a/app/main.py +++ b/app/main.py @@ -333,8 +333,18 @@ def parse_artist_title(filename_or_title): if not filename_or_title: return (None, None) - # Odstrani extension - name = Path(filename_or_title).stem if "." in filename_or_title else filename_or_title + # Odstrani extension SAMO če je dejansko file extension (kratko, brez presledka). + # Path("ANS.NAVEZA - SREČA OPOTEČA").stem vrne "ANS" — narobe za YT title. + # Pravilno: samo če je string brez presledkov ali se konča na običajno ext. + _COMMON_EXT = {".mp4", ".mp3", ".m4a", ".webm", ".mkv", ".avi", ".mov", + ".wav", ".flac", ".aac", ".opus", ".ogg", ".wmv", ".mxf"} + name = filename_or_title + if "." in name: + # Vzemi zadnjo piko in preveri ali je to znana ext + last_dot = name.rfind(".") + ext = name[last_dot:].lower() + if ext in _COMMON_EXT and last_dot > 0: + name = name[:last_dot] # Odstrani noise patterns for pat in _NOISE_PATTERNS: @@ -1032,7 +1042,7 @@ def process_job(job_id): if final_job.get("auto_upload_to_nextcloud") and _nextcloud_configured(): update_job(job_id, nextcloud_status="uploading", nextcloud_error=None) download_name = build_download_filename(final_job) - tv_station = final_job.get("tv_station", "FOLX SLOVENIJA") + tv_station = final_job.get("tv_station", "FOLX SLO") nc_folder = _nextcloud_folder_for_station(tv_station) target_subdir = f"folxspeed/REELS/{nc_folder}" print(f"☁️ Avto-upload v Nextcloud: /{target_subdir}/{download_name}", flush=True) @@ -1300,7 +1310,7 @@ class YouTubeJobIn(BaseModel): subtitle_style: str = "reels" whisper_model: str = "large-v3" quality: str = "medium" - tv_station: str = "FOLX SLOVENIJA" # za Nextcloud target mapo + tv_station: str = "FOLX SLO" # za Nextcloud target mapo class StartJobIn(BaseModel): @@ -1325,7 +1335,7 @@ class StartJobIn(BaseModel): # Batch tracking za multi-upload (Telegram summary) batch_id: Optional[str] = None # TV postaja — določa Nextcloud target mapo - tv_station: str = "FOLX SLOVENIJA" + tv_station: str = "FOLX SLO" # ──────────────────────────────────────────────────────────────── @@ -1333,7 +1343,7 @@ class StartJobIn(BaseModel): # ──────────────────────────────────────────────────────────────── class DedupCheckRequest(BaseModel): filenames: list[str] - tv_station: str = "FOLX SLOVENIJA" + tv_station: str = "FOLX SLO" @app.post("/api/dedup/check") @@ -2308,7 +2318,7 @@ async def upload_nextcloud(job_id: str, user: str = Depends(check_auth)): download_name = build_download_filename(job) # TV postaja določa target mapo (mapping Qnet -> Nextcloud folder) - tv_station = job.get("tv_station", "FOLX SLOVENIJA") + tv_station = job.get("tv_station", "FOLX SLO") nc_folder = _nextcloud_folder_for_station(tv_station) target_subdir = f"folxspeed/REELS/{nc_folder}" diff --git a/templates/index.html b/templates/index.html index 49bb430..3e05d8a 100644 --- a/templates/index.html +++ b/templates/index.html @@ -351,13 +351,13 @@
- +
- + @@ -428,8 +428,8 @@ - `); // TV station label (brez emoji) - const tvStation = job.tv_station || "FOLX SLOVENIJA"; + const tvStation = job.tv_station || "FOLX SLO"; const tvBadge = `${escapeHtml(tvStation)}`; el.innerHTML = `