Mercurial > piecrust2
comparison piecrust/data/linker.py @ 401:8e1e55ad35fb
linker: Fix error when trying to list non-existing children.
Add unit tests.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Mon, 18 May 2015 23:32:43 -0700 |
parents | 4c9eab0e283b |
children | 043b9d8304c7 |
comparison
equal
deleted
inserted
replaced
400:c12ee6936b8c | 401:8e1e55ad35fb |
---|---|
21 | 21 |
22 @property | 22 @property |
23 def children(self): | 23 def children(self): |
24 self._linker._load() | 24 self._linker._load() |
25 if self._linker._self_item is None: | 25 if self._linker._self_item is None: |
26 return None | 26 return [] |
27 return self._linker._self_item._linker_info.child_linker | 27 return self._linker._self_item._linker_info.child_linker |
28 | 28 |
29 @property | 29 @property |
30 def root(self): | 30 def root(self): |
31 return self._linker.root | 31 return self._linker.root |
103 | 103 |
104 class _LinkerInfo(object): | 104 class _LinkerInfo(object): |
105 def __init__(self): | 105 def __init__(self): |
106 self.name = None | 106 self.name = None |
107 self.is_self = False | 107 self.is_self = False |
108 self.child_linker = None | 108 self.child_linker = [] |
109 | 109 |
110 | 110 |
111 class _LinkedPage(object): | 111 class _LinkedPage(object): |
112 def __init__(self, page): | 112 def __init__(self, page): |
113 self._page = page | 113 self._page = page |
242 def filter_page_items(item): | 242 def filter_page_items(item): |
243 return not isinstance(item, Linker) | 243 return not isinstance(item, Linker) |
244 | 244 |
245 | 245 |
246 def filter_directory_items(item): | 246 def filter_directory_items(item): |
247 return isinstance(item, linker) | 247 return isinstance(item, Linker) |
248 | 248 |
249 | 249 |
250 def walk_linkers(linker, depth=0, max_depth=-1, filter_func=None): | 250 def walk_linkers(linker, depth=0, max_depth=-1, filter_func=None): |
251 linker._load() | 251 linker._load() |
252 for item in linker._items.values(): | 252 for item in linker._items.values(): |