Skip to content

Commit

Permalink
Fix empty text in meta[@name='title']
Browse files Browse the repository at this point in the history
  • Loading branch information
tomschr committed Jul 16, 2024
1 parent 7f6707b commit 38c481f
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Version and author"""

__version__ = "0.3.2"
__version__ = "0.3.3"
__author__ = "Tom Schraitle <[email protected]>"
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,14 @@ def check_meta_title(tree: etree._ElementTree,
)
return

# the meta[@name='title'] element exists, but must not be empty
if meta.text is None:
raise InvalidValueError(
f"Empty meta[@name='title'] element (line {meta.sourceline})."
)

length = config.get("metadata", {}).get("meta_title_length", 55)
if len(meta.text) > length:
if meta.text is not None and len(meta.text) > length:
raise InvalidValueError(
f"Meta title is too long. Max length is {length} characters"
f" (line {meta.sourceline})."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,11 @@ def test_check_optional_meta_title(tree):
config = dict(metadata=dict(meta_title_required=False))
assert check_meta_title(tree, config) is None

def test_check_meta_title_empty(tree):
meta = D("meta", {"name": "title"})
appendnode(tree, meta)

with pytest.raises(InvalidValueError,
match=r".*Empty meta\[@name='title'\] element.*"):
check_meta_title(tree, dict(metadata=dict(meta_title_length=10,
meta_title_required=True)))

0 comments on commit 38c481f

Please sign in to comment.