From 902640ee99d4dd53c972f41ae46b29f4d1f88782 Mon Sep 17 00:00:00 2001 From: MinchinWeb Date: Tue, 12 Dec 2023 20:02:27 -0700 Subject: [PATCH] Better error message on bad slug --- pelican/generators.py | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/pelican/generators.py b/pelican/generators.py index 2bc2b13e..c4c9300c 100644 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -574,9 +574,16 @@ class ArticlesGenerator(CachingGenerator): page_name=tag.page_name, all_articles=self.articles, ) - except RuntimeError as e: - logger.error('Trying to write Tag page for "%s".' % (tag)) - raise e + except RuntimeError: + if not tag.slug: + logger.warning( + 'Tag "%s" has an invalid slug; skipping writing tag page...', + tag, + ) + continue + else: + logger.error('Failed to write Tag page for "%s".', tag) + raise def generate_categories(self, write): """Generate category pages.""" @@ -597,9 +604,16 @@ class ArticlesGenerator(CachingGenerator): page_name=cat.page_name, all_articles=self.articles, ) - except RuntimeError as e: - logger.error('Trying to write Category page for "%s".' % (cat)) - raise e + except RuntimeError: + if not cat.slug: + logger.warning( + 'Category "%s" has an invalid slug; skipping writing category page...', + cat, + ) + continue + else: + logger.error('Failed to write Category page for "%s".', cat) + raise def generate_authors(self, write): """Generate Author pages.""" @@ -620,9 +634,16 @@ class ArticlesGenerator(CachingGenerator): page_name=aut.page_name, all_articles=self.articles, ) - except RuntimeError as e: - logger.error('Trying to write Author page for "%s".' % (aut)) - raise e + except RuntimeError: + if not aut.slug: + logger.warning( + 'Author "%s" has an invalid slug; skipping writing author page...', + aut, + ) + continue + else: + logger.error('Failed to write Author page for "%s".', aut) + raise def generate_drafts(self, write): """Generate drafts pages."""