Skip to content

Commit 83ffc8b

Browse files
committedOct 29, 2016
Fixing wrong .dep filename bug.
1 parent 3c5edb3 commit 83ffc8b

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed
 

‎nikola/plugin_categories.py

+12-4
Original file line numberDiff line numberDiff line change
@@ -263,9 +263,13 @@ class PageCompiler(BasePlugin):
263263
}
264264
config_dependencies = []
265265

266-
def _read_extra_deps(self, post):
266+
def get_dep_filename(self, post, lang):
267+
"""Return the .dep file's name for the given post and language."""
268+
return post.translated_base_path(lang) + '.dep'
269+
270+
def _read_extra_deps(self, post, lang):
267271
"""Read contents of .dep file and return them as a list."""
268-
dep_path = post.base_path + '.dep'
272+
dep_path = self.get_dep_filename(post, lang)
269273
if os.path.isfile(dep_path):
270274
with io.open(dep_path, 'r+', encoding='utf8') as depf:
271275
deps = [l.strip() for l in depf.readlines()]
@@ -274,12 +278,16 @@ def _read_extra_deps(self, post):
274278

275279
def register_extra_dependencies(self, post):
276280
"""Add dependency to post object to check .dep file."""
277-
post.add_dependency(lambda: self._read_extra_deps(post), 'fragment')
281+
def create_lambda(lang):
282+
return lambda: self._read_extra_deps(post, lang)
283+
284+
for lang in self.site.config['TRANSLATIONS']:
285+
post.add_dependency(create_lambda(lang), 'fragment')
278286

279287
def get_extra_targets(self, post, lang, dest):
280288
"""Return a list of extra targets for the render_posts task when compiling the post for the specified language."""
281289
if self.use_dep_file:
282-
return [post.base_path + '.dep']
290+
return [self.get_dep_filename(post, lang)]
283291
else:
284292
return []
285293

‎nikola/post.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -461,9 +461,12 @@ def register_depfile(self, dep, dest=None, lang=None):
461461
self._depfile[dest].append(dep)
462462

463463
@staticmethod
464-
def write_depfile(dest, deps_list, post=None):
464+
def write_depfile(dest, deps_list, post=None, lang=None):
465465
"""Write a depfile for a given language."""
466-
deps_path = dest + '.dep'
466+
if post is None or lang is None:
467+
deps_path = dest + '.dep'
468+
else:
469+
deps_path = post.compiler.get_dep_filename(post, lang)
467470
if deps_list or (post.compiler.use_dep_file if post else False):
468471
deps_list = [p for p in deps_list if p != dest] # Don't depend on yourself (#1671)
469472
with io.open(deps_path, "w+", encoding="utf8") as deps_file:
@@ -543,7 +546,7 @@ def wrap_encrypt(path, password):
543546
self.is_two_file,
544547
self,
545548
lang)
546-
Post.write_depfile(dest, self._depfile[dest], post=self)
549+
Post.write_depfile(dest, self._depfile[dest], post=self, lang=lang)
547550

548551
signal('compiled').send({
549552
'source': self.translated_source_path(lang),

0 commit comments

Comments
 (0)
Please sign in to comment.