# HG changeset patch # User Ludovic Chabant # Date 1519799786 28800 # Node ID 1a214de1e1f72a62e05a55668bb598e6c8f7866f # Parent 587bccf72d754983ceab643b24133c4dd02ceaaa data: Fix bug with page family data not returning correct `is_dir` value. diff -r 587bccf72d75 -r 1a214de1e1f7 piecrust/data/linker.py --- a/piecrust/data/linker.py Tue Feb 27 21:52:21 2018 -0800 +++ b/piecrust/data/linker.py Tue Feb 27 22:36:26 2018 -0800 @@ -98,7 +98,7 @@ @property def has_children(self): - return bool(self.children) + return bool(self._getAllChildren()) @property def children(self): @@ -174,7 +174,8 @@ return self._parent_group def _makePageData(self, page): - return _PageData(self, page) + is_self = page.content_spec == self._content_item.spec + return _PageData(page, is_self) def _makeGroupData(self, group): return _GroupData(self._source, group) @@ -190,19 +191,15 @@ class _PageData(PaginationData): - def __init__(self, linker, page): + def __init__(self, page, is_self): super().__init__(page) - self._linker = linker + self.is_self = is_self + self.is_page = True def _load(self): super()._load() - self._mapValue('is_page', True) - self._mapValue( - 'is_self', - self._page.content_spec == self._linker._content_item.spec) - - self._mapLoader('is_dir', lambda d, n: self._linker.has_children) - self._mapLoader('is_group', lambda d, n: self._linker.has_children) + self._mapLoader('is_dir', lambda d, n: self.family.has_children) + self._mapLoader('is_group', lambda d, n: self.family.has_children) class _GroupData: