import logging import pprint from pelican import signals log = logging.getLogger(__name__) def modify_feed(context, feed): articles = {} pprint.pprint(context) for article in context['articles']: articles[article.title] = article for item in feed.items: article = articles.get(item.title) if not article: raise Exception(f"Article not found for title: {item.title}") if not hasattr(article, 'guid') or not article.guid: raise Exception(f"Article '{article.title}' is missing a guid.") item.unique_id = article.guid def register(): signals.feed_generated.connect(modify_feed)