fix: _derive_title crashes on non-string content instead of returning Untitled (#1751)

This commit is contained in:
Afonso Coutinho
2026-06-03 05:25:41 +01:00
committed by GitHub
parent 2625e97f11
commit a714915afe
2 changed files with 15 additions and 0 deletions

View File

@@ -203,6 +203,8 @@ def _assert_pdf_marker_upload_owned(
def _derive_title(content: str) -> str:
"""Derive a title from document content."""
import re
if not isinstance(content, str):
return "Untitled"
text = content.strip()
if not text:
return "Untitled"

View File

@@ -0,0 +1,13 @@
from routes.document_helpers import _derive_title
def test_derive_title_handles_non_string_content():
# content normally comes from a document text column, but the helper is
# public and a non-string (None / int) made content.strip() raise
# AttributeError instead of falling back to a default title.
assert _derive_title(None) == "Untitled"
assert _derive_title(123) == "Untitled"
def test_derive_title_still_reads_markdown_heading():
assert _derive_title("# Heading Title\nbody text") == "Heading Title"