def get_content(self, info): """Infer sorted content of a folder.""" reflinks = self.site['reflinks'] refcontent = [] key = info['order'] reverse = info.get('reverse', False) navcomps = info['components'] def pred(item): itemcomps = item['components'] if len(itemcomps) == len(navcomps) + 1 and \ itemcomps[:-1] == navcomps and \ itemcomps[-1] != 'index' and \ item['layout'] is not None: if key not in item: raise UrubuError(_error.undef_key, msg=key, fn=item['fn']) return True return False allinfo = itertools.chain(self.filelist, self.navlist) refcontent = ifilter(pred, allinfo) def get_keyval(item): return item[key] refcontent = sorted(refcontent, key=get_keyval, reverse=reverse) info['content'] = refcontent
def get_content(self, info): """Infer sorted content of a folder.""" reflinks = self.site['reflinks'] refcontent = [] key = info['order'] reverse = info.get('reverse', False) navcomps = info['components'] def pred(item): itemcomps = item['components'] if len(itemcomps) == len(navcomps) + 1 and \ itemcomps[:-1] == navcomps and \ itemcomps[-1] != 'index' and \ item['layout'] is not None: if key not in item: raise UrubuError(undef_key_error.format(key, item['fn'])) return True return False allinfo = itertools.chain(self.filelist, self.navlist) refcontent = ifilter(pred, allinfo) def get_keyval(item): return item[key] refcontent = sorted(refcontent, key=get_keyval, reverse=reverse) info['content'] = refcontent