aboutsummaryrefslogtreecommitdiffstats
path: root/nikola/plugins/task_render_rss.py
diff options
context:
space:
mode:
Diffstat (limited to 'nikola/plugins/task_render_rss.py')
-rw-r--r--nikola/plugins/task_render_rss.py11
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)],
}