getting started with backend and uploader

This commit is contained in:
dreamer committed 2026-10-13 16:54:05 +02:00
commit 1e1000268a
50 files changed
+2237

No files matched your search

+49
View File
@@ -0,0 +1,49 @@
from datetime import datetime
from pathlib import Path
import pytest
from fdhview.services.screenwriter.importer import _clean_title
from fdhview.services.screenwriter.schema import AAMPos
def test_xml():
xml = Path('tests/data/minimal.xml').read_text()
data = AAMPos.from_xml(xml)
sessions = data.sessions.root
assert isinstance(sessions[1].start, datetime)
assert isinstance(sessions[1].end, datetime)
assert len(sessions[1].attributes) == 5
assert len(sessions[2].attributes) == 2
def test_broken_xml():
xml = Path('tests/data/broken.xml').read_text()
with pytest.raises(ValueError):
AAMPos.from_xml(xml)
def test_clean_title():
# Basic cases
assert _clean_title("Good Movie - EN subs") == "Good Movie"
assert _clean_title("Good Movie- EN subs") == "Good Movie"
assert _clean_title("Good Movie - en subs") == "Good Movie"
assert _clean_title("Good Movie - NL sub") == "Good Movie"
# Presentation / talk variations
assert _clean_title("Good Movie - met inleiding") == "Good Movie"
assert _clean_title("Good Movie - met inleiding en nagesprek") == "Good Movie"
assert _clean_title("Good Movie – met nagesprek") == "Good Movie"
assert _clean_title("Good Movie - met voorfilms en nagesprek") == "Good Movie"
assert _clean_title("Good Movie - EN subs met inleiding") == "Good Movie"
# Stacked suffixes
assert _clean_title("Good Movie - met inleiding - EN subs") == "Good Movie"
# Titles that should NOT be modified
assert _clean_title("Good Movie") == "Good Movie"
assert _clean_title("De la Comédie-Française") == "De la Comédie-Française"
assert _clean_title("Dikkie Dik (re-release)") == "Dikkie Dik (re-release)"
assert _clean_title("Aguirre - Epic Summer - EN subs") == "Aguirre - Epic Summer"