diff options
Diffstat (limited to 'nikola/plugins/task_render_rss.py')
| -rw-r--r-- | nikola/plugins/task_render_rss.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/nikola/plugins/task_render_rss.py b/nikola/plugins/task_render_rss.py index 9ce1d63..3000e47 100644 --- a/nikola/plugins/task_render_rss.py +++ b/nikola/plugins/task_render_rss.py @@ -43,25 +43,30 @@ class RenderRSS(Task): "blog_description": self.site.config["BLOG_DESCRIPTION"], "output_folder": self.site.config["OUTPUT_FOLDER"], "rss_teasers": self.site.config["RSS_TEASERS"], + "hide_untranslated_posts": self.site.config['HIDE_UNTRANSLATED_POSTS'], } self.site.scan_posts() - # TODO: timeline is global, kill it for lang in kw["translations"]: output_name = os.path.join(kw['output_folder'], self.site.path("rss", None, lang)) deps = [] - posts = [x for x in self.site.timeline if x.use_in_feeds][:10] + if kw["hide_untranslated_posts"]: + posts = [x for x in self.site.timeline if x.use_in_feeds + and x.is_translation_available(lang)][:10] + else: + posts = [x for x in self.site.timeline if x.use_in_feeds][:10] for post in posts: deps += post.deps(lang) yield { 'basename': 'render_rss', - 'name': output_name.encode('utf8'), + 'name': os.path.normpath(output_name), 'file_dep': deps, 'targets': [output_name], 'actions': [(utils.generic_rss_renderer, (lang, kw["blog_title"], kw["site_url"], kw["blog_description"], posts, output_name, kw["rss_teasers"]))], + 'task_dep': ['render_posts'], 'clean': True, 'uptodate': [utils.config_changed(kw)], } |
