From a3ec85c864713494b53d988e7431e5696546ace9 Mon Sep 17 00:00:00 2001 From: Trent Palmer Date: Mon, 22 Mar 2021 19:01:58 -0700 Subject: [PATCH] add html to item description in rss --- audio/audiorssfeed.py | 4 ++++ audio/rss_utils.py | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 audio/rss_utils.py diff --git a/audio/audiorssfeed.py b/audio/audiorssfeed.py index 7494586..19d0576 100644 --- a/audio/audiorssfeed.py +++ b/audio/audiorssfeed.py @@ -5,6 +5,7 @@ from django.utils.feedgenerator import Rss201rev2Feed from tp.settings import IMAGES_URL, MP3_URL from .models import Feed from datetime import datetime +from .rss_utils import get_rss_item_desc class AudioRssFeedGenerator(Rss201rev2Feed): @@ -75,6 +76,9 @@ class AudioRssFeed(RSSFeed): def item_title(self, item): return f'{item.episode_number}: {item.title}' + def item_description(self, item): + return get_rss_item_desc(item) + def item_extra_kwargs(self, item): x = {} x['image_url'] = f'{IMAGES_URL}{item.image.name}' diff --git a/audio/rss_utils.py b/audio/rss_utils.py new file mode 100644 index 0000000..dc21723 --- /dev/null +++ b/audio/rss_utils.py @@ -0,0 +1,41 @@ +from tp.settings import IMAGES_URL + + +def get_rss_item_desc(item): + a = f'

{item}

' + b = f'' + c = f'

{item.description}

' + + d = f'

Photo {item.feed.image_title} by ' + if item.feed.image_attribution_url == '': + e = f'{item.feed.image_attribution}' + else: + e = f'{item.feed.image_attribution}' + f = f' is licensed {item.feed.image_license_name}' + g = f' {item.feed.image_license_jurisdiction}.

' + + h = f'

Photo {item.image_title} by ' + if item.feed.image_attribution_url == '': + i = f'{item.image_attribution}' + else: + i = f'{item.feed.image_attribution}' + j = f' is licensed {item.image_license_name}' + k = f' {item.image_license_jurisdiction}.

' + + m = f'

{item.feed.ebook_title} by ' + n = f'{item.feed.author} ' + o = f'is licensed {item.feed.license_name}' + + if item.feed.translator == '': + p = '' + else: + p = f' Translated by {item.feed.translator}.' + + if item.feed.intro_author == '': + q = '' + else: + q = f' Intro by {item.feed.intro_author}.' + + r = f' {item.feed.image_license_jurisdiction}.{p}{q}

' + + return f'{a}{b}{c}{d}{e}{f}{g}{h}{i}{j}{k}{m}{n}{o}{r}'