Skip to content

Commit e62b74d

Browse files
committedJul 11, 2015
Fix json encoder and template hook registries (#1887)
Signed-off-by: Chris Warrick <kwpolska@gmail.com>
1 parent 38750a9 commit e62b74d

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed
 

‎nikola/post.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ def deps(self, lang):
438438
deps.extend([cand_1, cand_2])
439439
deps += self._get_dependencies(self._dependency_file_page[lang])
440440
deps += self._get_dependencies(self._dependency_file_page[None])
441-
return deps
441+
return sorted(deps)
442442

443443
def deps_uptodate(self, lang):
444444
"""Return a list of uptodate dependencies to build this post's page.
@@ -498,7 +498,7 @@ def fragment_deps(self, lang):
498498
deps = [d for d in deps if os.path.exists(d)]
499499
deps += self._get_dependencies(self._dependency_file_fragment[lang])
500500
deps += self._get_dependencies(self._dependency_file_fragment[None])
501-
return deps
501+
return sorted(deps)
502502

503503
def fragment_deps_uptodate(self, lang):
504504
"""Return a list of file dependencies to build this post's fragment."""

‎nikola/utils.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -492,13 +492,19 @@ def __hash__(self):
492492
def __str__(self):
493493
return '<TemplateHookRegistry: {0}>'.format(self._items)
494494

495+
def __repr__(self):
496+
return '<TemplateHookRegistry: {0}>'.format(self.name)
497+
495498

496499
class CustomEncoder(json.JSONEncoder):
497500
def default(self, obj):
498501
try:
499502
return super(CustomEncoder, self).default(obj)
500503
except TypeError:
501-
s = repr(obj).split('0x', 1)[0]
504+
if isinstance(obj, set):
505+
return self.encode(sorted(list(obj)))
506+
else:
507+
s = repr(obj).split('0x', 1)[0]
502508
return s
503509

504510

0 commit comments

Comments
 (0)