def content_list(): """ Show list of content """ # parse search query query = urlunquote(request.params.get('q', '')).strip() # parse language filter default_lang = request.user.options.get('content_language', None) lang = request.params.get('language', default_lang) request.user.options['content_language'] = lang # parse content type filter content_type = request.params.get('content_type') if content_type not in metadata.CONTENT_TYPES: content_type = None # parse pagination params page = Paginator.parse_page(request.params) per_page = Paginator.parse_per_page(request.params) # get content list filtered by above parsed filter params item_count = content_count(query, lang, content_type) pager = Paginator(item_count, page, per_page) offset, limit = pager.items metas = filter_content(query, lang, content_type, offset=offset, limit=limit) return dict(metadata=metas, pager=pager, vals=request.params.decode(), query=query, chosen_lang=lang, content_types=metadata.CONTENT_TYPES, chosen_content_type=content_type, base_path=i18n_url('content:list'), view=request.params.get('view'))
def get_descendants(path): span = request.app.config['changelog.span'] count = get_descendant_count(path, span) manager = Manager(request.app.supervisor) # parse pagination params page = Paginator.parse_page(request.params) per_page = Paginator.parse_per_page(request.params) pager = Paginator(count, page, per_page) (offset, limit) = pager.items (_, _, _, files, _) = manager.list_descendants(path, offset=offset, limit=limit, order='-create_time', span=span, entry_type=0, show_hidden=False) return dict(pager=pager, files=files)