This repository has been archived on 2020-09-29. You can view files and clone it, but cannot push or open issues/pull-requests.
flatfilecms/flatfilecms/views/__init__.py

23 lines
700 B
Python

from pyramid.httpexceptions import HTTPFound
from pyramid.traversal import (find_root, find_resource)
from flatfilecms.models import (YAML, Markdown)
def redirect(self, url):
return HTTPFound(location=url)
def set_content_type(self, content_type):
self.request.response.content_type = content_type
def blog(self, options):
path = options.get('base', '/')
root = find_root(self.context)
tree = find_resource(root, path)
postlist = []
for name, item in tree.walk():
if isinstance(item, (YAML, Markdown)) and 'published' in item.page:
postlist.append((f"{path}/{name}", item))
self.pages = sorted(postlist, key=lambda t: t[1].page['published'])