From b7c702f17d83424dc84d174deb10983f3d2f1b4d Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 12 Jan 2017 10:28:06 +0100 Subject: [PATCH] add node type raw to be able to emit e.g. robots.txt and similar stuff --- .gitignore | 1 + browser/node.py | 5 +++++ view.py | 1 + 3 files changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index 788259e..844e260 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.pyc *.pyo +dist/ *.project *.pydevproject *.sublime-project diff --git a/browser/node.py b/browser/node.py index 8d2ddd5..c59b219 100755 --- a/browser/node.py +++ b/browser/node.py @@ -85,6 +85,11 @@ class NodeView(BaseView): self.setSkin(self.viewConfig.get('skinName')) def __call__(self, *args, **kw): + if self.nodeType == 'raw': + vn = self.context.viewName + if vn: + self.request.response.setHeader('content-type', vn) + return self.context.body tv = self.viewAnnotations.get('targetView') if tv is not None: if tv.isToplevel: diff --git a/view.py b/view.py index 5430413..d1c1cee 100644 --- a/view.py +++ b/view.py @@ -219,6 +219,7 @@ nodeTypes = [ ('page', _(u'Page')), # standalone page with a menu item ('menu', _(u'Menu')), # top-level menu (also a page) ('info', _(u'Info')), # not shown automatically, but may be a link target + ('raw', _(u'Raw')), # render body as is, viewName may contain content type ] class NodeTypeSourceList(object):