29 lines
669 B
Python
29 lines
669 B
Python
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)
|
|
|