Example #1
0
    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
Example #2
0
    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