From ca94afc07df55cb7fc6fe3b4f3011877b7881195 Mon Sep 17 00:00:00 2001 From: Agustin Henze Date: Wed, 20 Nov 2013 16:58:50 -0300 Subject: Imported Upstream version 6.2.1 --- nikola/plugins/task_render_posts.py | 140 ------------------------------------ 1 file changed, 140 deletions(-) delete mode 100644 nikola/plugins/task_render_posts.py (limited to 'nikola/plugins/task_render_posts.py') diff --git a/nikola/plugins/task_render_posts.py b/nikola/plugins/task_render_posts.py deleted file mode 100644 index 4be68bf..0000000 --- a/nikola/plugins/task_render_posts.py +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright (c) 2012 Roberto Alsina y otros. - -# Permission is hereby granted, free of charge, to any -# person obtaining a copy of this software and associated -# documentation files (the "Software"), to deal in the -# Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the -# Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice -# shall be included in all copies or substantial portions of -# the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -# PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -# OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -from copy import copy -import codecs -import string - -from nikola.plugin_categories import Task -from nikola import utils, rc4 - - -def wrap_encrypt(path, password): - """Wrap a post with encryption.""" - with codecs.open(path, 'rb+', 'utf8') as inf: - data = inf.read() + "" - data = CRYPT.substitute(data=rc4.rc4(password, data)) - with codecs.open(path, 'wb+', 'utf8') as outf: - outf.write(data) - - -class RenderPosts(Task): - """Build HTML fragments from metadata and text.""" - - name = "render_posts" - - def gen_tasks(self): - """Build HTML fragments from metadata and text.""" - self.site.scan_posts() - kw = { - "translations": self.site.config["TRANSLATIONS"], - "timeline": self.site.timeline, - "default_lang": self.site.config["DEFAULT_LANG"], - "hide_untranslated_posts": self.site.config['HIDE_UNTRANSLATED_POSTS'], - } - - flag = False - for lang in kw["translations"]: - deps_dict = copy(kw) - deps_dict.pop('timeline') - for post in kw['timeline']: - source = post.source_path - dest = post.base_path - if not post.is_translation_available(lang) and kw["hide_untranslated_posts"]: - continue - else: - source = post.translated_source_path(lang) - if lang != post.default_lang: - dest = dest + '.' + lang - flag = True - task = { - 'basename': self.name, - 'name': dest, - 'file_dep': post.fragment_deps(lang), - 'targets': [dest], - 'actions': [(self.site.get_compiler(post.source_path), - [source, dest])], - 'clean': True, - 'uptodate': [utils.config_changed(deps_dict)], - } - if post.meta('password'): - task['actions'].append((wrap_encrypt, (dest, post.meta('password')))) - yield task - if flag is False: # Return a dummy task - yield { - 'basename': self.name, - 'name': 'None', - 'uptodate': [True], - 'actions': [], - } - - -CRYPT = string.Template("""\ - - - -
-
-
-This post is password-protected. - - -
-
-
""") -- cgit v1.2.3