From a3c0360be2dda41082f1846bb5807aff38bfc114 Mon Sep 17 00:00:00 2001 From: MinchinWeb Date: Fri, 12 Oct 2018 19:35:43 -0600 Subject: [PATCH] Warn on old format settings rather than trying to update them in place. Relies on the user to make the needed changes. Fallback is the default setting. --- pelican/generators.py | 34 ++++++++++++++-------------------- pelican/settings.py | 18 ++++++++++++++++++ 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/pelican/generators.py b/pelican/generators.py index cd64f313..89f512ea 100644 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -342,8 +342,7 @@ class ArticlesGenerator(CachingGenerator): writer.write_feed( arts, self.context, - self.settings['CATEGORY_FEED_ATOM'].replace('%s', '{slug}') - .format(slug=cat.slug), + self.settings['CATEGORY_FEED_ATOM'].format(slug=cat.slug), self.settings.get( 'CATEGORY_FEED_ATOM_URL', self.settings['CATEGORY_FEED_ATOM']).format( @@ -356,8 +355,7 @@ class ArticlesGenerator(CachingGenerator): writer.write_feed( arts, self.context, - self.settings['CATEGORY_FEED_RSS'].replace('%s', '{slug}') - .format(slug=cat.slug), + self.settings['CATEGORY_FEED_RSS'].format(slug=cat.slug), self.settings.get( 'CATEGORY_FEED_RSS_URL', self.settings['CATEGORY_FEED_RSS']).format( @@ -372,12 +370,11 @@ class ArticlesGenerator(CachingGenerator): writer.write_feed( arts, self.context, - self.settings['AUTHOR_FEED_ATOM'].replace('%s', '{slug}') - .format(slug=auth.slug), + self.settings['AUTHOR_FEED_ATOM'].format(slug=auth.slug), self.settings.get( 'AUTHOR_FEED_ATOM_URL', self.settings['AUTHOR_FEED_ATOM'] - ).replace('%s', '{slug}').format(slug=auth.slug), + ).format(slug=auth.slug), feed_title=auth.name ) @@ -385,12 +382,11 @@ class ArticlesGenerator(CachingGenerator): writer.write_feed( arts, self.context, - self.settings['AUTHOR_FEED_RSS'].replace('%s', '{slug}') - .format(slug=auth.slug), + self.settings['AUTHOR_FEED_RSS'].format(slug=auth.slug), self.settings.get( 'AUTHOR_FEED_RSS_URL', self.settings['AUTHOR_FEED_RSS'] - ).replace('%s', '{slug}').format(slug=auth.slug), + ).format(slug=auth.slug), feed_title=auth.name, feed_type='rss' ) @@ -402,12 +398,11 @@ class ArticlesGenerator(CachingGenerator): writer.write_feed( arts, self.context, - self.settings['TAG_FEED_ATOM'].replace('%s', '{slug}') - .format(slug=tag.slug), + self.settings['TAG_FEED_ATOM'].format(slug=tag.slug), self.settings.get( 'TAG_FEED_ATOM_URL', self.settings['TAG_FEED_ATOM'] - ).replace('%s', '{slug}').format(slug=tag.slug), + ).format(slug=tag.slug), feed_title=tag.name ) @@ -415,12 +410,11 @@ class ArticlesGenerator(CachingGenerator): writer.write_feed( arts, self.context, - self.settings['TAG_FEED_RSS'].replace('%s', '{slug}') - .format(slug=tag.slug), + self.settings['TAG_FEED_RSS'].format(slug=tag.slug), self.settings.get( 'TAG_FEED_RSS_URL', self.settings['TAG_FEED_RSS'] - ).replace('%s', '{slug}').format(slug=tag.slug), + ).format(slug=tag.slug), feed_title=tag.name, feed_type='rss' ) @@ -439,22 +433,22 @@ class ArticlesGenerator(CachingGenerator): items, self.context, self.settings['TRANSLATION_FEED_ATOM'] - .replace('%s', '{lang}').format(lang=lang), + .format(lang=lang), self.settings.get( 'TRANSLATION_FEED_ATOM_URL', self.settings['TRANSLATION_FEED_ATOM'] - ).replace('%s', '{lang}').format(lang=lang), + ).format(lang=lang), ) if self.settings.get('TRANSLATION_FEED_RSS'): writer.write_feed( items, self.context, self.settings['TRANSLATION_FEED_RSS'] - .replace('%s', '{lang}').format(lang=lang), + .format(lang=lang), self.settings.get( 'TRANSLATION_FEED_RSS_URL', self.settings['TRANSLATION_FEED_RSS'] - ).replace('%s', '{lang}').format(lang=lang), + ).format(lang=lang), feed_type='rss' ) diff --git a/pelican/settings.py b/pelican/settings.py index 7c9557f9..bf40c25b 100644 --- a/pelican/settings.py +++ b/pelican/settings.py @@ -185,6 +185,24 @@ def read_settings(path=None, override=None): local_settings['JINJA_ENVIRONMENT']['extensions'] = \ local_settings['JINJA_EXTENSIONS'] del local_settings['JINJA_EXTENSIONS'] + for key in ['TRANSLATION_FEED_ATOM', + 'TRANSLATION_FEED_RSS' + ]: + if key in local_settings and '%s' in local_settings[key]: + logger.warning('%%s usage in %s is deprecated, use {lang} ' + 'instead. Falling back to default.', key) + local_settings[key] = DEFAULT_CONFIG[key] + for key in ['AUTHOR_FEED_ATOM', + 'AUTHOR_FEED_RSS', + 'CATEGORY_FEED_ATOM', + 'CATEGORY_FEED_RSS', + 'TAG_FEED_ATOM', + 'TAG_FEED_RSS', + ]: + if key in local_settings and '%s' in local_settings[key]: + logger.warning('%%s usage in %s is deprecated, use {slug} ' + 'instead. Falling back to default.', key) + local_settings[key] = DEFAULT_CONFIG[key] if isinstance(local_settings['PLUGIN_PATHS'], six.string_types): logger.warning("Defining PLUGIN_PATHS setting as string " "has been deprecated (should be a list)")