diff --git a/README.txt b/README.txt
index c17269c..a116d0b 100755
--- a/README.txt
+++ b/README.txt
@@ -358,12 +358,6 @@ and of a lot of other stuff needed for the rendering machine.
... with=(IBrowserRequest,))
>>> from zope.component.interfaces import IFactory
- >>> from zope.app.renderer import plaintext
- >>> ztapi.provideUtility(IFactory, plaintext.PlainTextSourceFactory,
- ... 'zope.source.plaintext')
- >>> ztapi.provideAdapter(plaintext.IPlainTextSource, Interface,
- ... plaintext.PlainTextToHTMLRenderer,
- ... with=(IBrowserRequest,))
>>> from zope.app.renderer import rest
>>> ztapi.provideUtility(IFactory, rest.ReStructuredTextSourceFactory,
... 'zope.source.rest')
@@ -377,7 +371,7 @@ and of a lot of other stuff needed for the rendering machine.
u''
>>> doc1.data = u'Test data\n\nAnother paragraph'
>>> view.renderTargetBody()
- u'Test data
\n
\nAnother paragraph'
+ u'Test data\n\nAnother paragraph'
>>> doc1.contentType = 'text/restructured'
>>> view.renderTargetBody()
u'
Test data
\nAnother paragraph
\n' diff --git a/__init__.py b/__init__.py index 17abd30..d137a4a 100644 --- a/__init__.py +++ b/__init__.py @@ -28,6 +28,8 @@ from zope.app.folder.folder import Folder from zope.interface import implements from interfaces import ILoops +loopsPrefix = '.loops' + class Loops(Folder): implements(ILoops) @@ -39,5 +41,9 @@ class Loops(Folder): return self['views'] def getLoopsUri(self, obj): - return str('.loops' + zapi.getPath(obj)[len(zapi.getPath(self)):]) + return str(loopsPrefix + zapi.getPath(obj)[len(zapi.getPath(self)):]) + def loopsTraverse(self, uri): + prefix = loopsPrefix + '/' + if uri.startswith(prefix): + return zapi.traverse(self, uri[len(prefix):]) diff --git a/browser/configure.zcml b/browser/configure.zcml index fdac50a..ed06b9a 100644 --- a/browser/configure.zcml +++ b/browser/configure.zcml @@ -191,6 +191,14 @@ permission="zope.ManageContent" menu="zmi_views" title="Edit" /> +