[Checkins] SVN: zope.app.pagetemplate/trunk/ Moved viewpagetemplatefile, simpleviewclass and metaconfigure.registerType into the zope.browserpage package, reversing the dependency.

Hanno Schlichting hannosch at hannosch.eu
Tue Dec 22 13:40:31 EST 2009


Log message for revision 106892:
  Moved viewpagetemplatefile, simpleviewclass and metaconfigure.registerType into the zope.browserpage package, reversing the dependency.
  

Changed:
  U   zope.app.pagetemplate/trunk/CHANGES.txt
  U   zope.app.pagetemplate/trunk/README.txt
  U   zope.app.pagetemplate/trunk/buildout.cfg
  U   zope.app.pagetemplate/trunk/setup.py
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/__init__.py
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/configure.zcml
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/metaconfigure.py
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/namedtemplate.txt
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/simpleviewclass.py
  D   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/sample.py
  D   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/simpletestview.py
  D   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test.pt
  D   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_boundpagetemplate.py
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_nested.py
  D   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_simpleviewclass.py
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_talesapi.py
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_urlquote.py
  D   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_viewzpt.py
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testpackage/content.py
  D   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testsimpleviewclass.pt
  D   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testxml.pt
  U   zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/viewpagetemplatefile.py

-=-
Modified: zope.app.pagetemplate/trunk/CHANGES.txt
===================================================================
--- zope.app.pagetemplate/trunk/CHANGES.txt	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/CHANGES.txt	2009-12-22 18:40:31 UTC (rev 106892)
@@ -2,9 +2,11 @@
 Changes
 =======
 
-3.8.1 (unreleased)
+3.9.0 (unreleased)
 ------------------
 
+- Moved viewpagetemplatefile, simpleviewclass and metaconfigure.registerType
+  into the zope.browserpage package, reversing the dependency.
 
 3.8.0 (2009-12-16)
 ------------------

Modified: zope.app.pagetemplate/trunk/README.txt
===================================================================
--- zope.app.pagetemplate/trunk/README.txt	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/README.txt	2009-12-22 18:40:31 UTC (rev 106892)
@@ -10,7 +10,7 @@
   result is the rendered template, e.g.::
 
     from zope.publisher import BrowserPage
-    from zope.app.pagetemplate import ViewPageTemplateFile
+    from zope.browserpage import ViewPageTemplateFile
 
     class HelloWorldPage(BrowserPage):
         __call__ = ViewPageTemplateFile('helloworld.pt')

Modified: zope.app.pagetemplate/trunk/buildout.cfg
===================================================================
--- zope.app.pagetemplate/trunk/buildout.cfg	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/buildout.cfg	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,5 +1,5 @@
 [buildout]
-develop = .
+develop = . /opt/zope/zope.browserpage
 parts = test
 
 [test]

Modified: zope.app.pagetemplate/trunk/setup.py
===================================================================
--- zope.app.pagetemplate/trunk/setup.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/setup.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -22,7 +22,7 @@
 def read(*rnames):
     return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
 
-version = '3.8.1dev'
+version = '3.9.0dev'
 
 
 setup(name='zope.app.pagetemplate',
@@ -51,6 +51,7 @@
       include_package_data=True,
       install_requires=[
           'setuptools',
+          'zope.browserpage>=3.10.0',
           'zope.component [hook]',
           'zope.configuration',
           'zope.dublincore',

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/__init__.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/__init__.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/__init__.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -17,4 +17,4 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
+from zope.browserpage import ViewPageTemplateFile

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/configure.zcml
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/configure.zcml	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/configure.zcml	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,8 +1,6 @@
 <configure xmlns="http://namespaces.zope.org/zope">
 
-  <class class=".viewpagetemplatefile.BoundPageTemplate">
-    <allow attributes="__call__ __str__ __name__" />
-  </class>
+  <include package="zope.browserpage" />
 
   <adapter
       for="*"
@@ -53,13 +51,6 @@
     <allow attributes="__call__" />
  </class>
 
- <adapter
-     for="zope.app.pagetemplate.viewpagetemplatefile.BoundPageTemplate
-          zope.publisher.interfaces.browser.IBrowserRequest"
-     provides="zope.publisher.interfaces.browser.IBrowserPublisher"
-     factory="zope.app.pagetemplate.viewpagetemplatefile.NoTraverser"
-     />
-
   <!-- TALES namespace allows view/template:default etc -->
   <adapter
       for="*"

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/metaconfigure.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/metaconfigure.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/metaconfigure.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -19,13 +19,14 @@
 __docformat__ = 'restructuredtext'
 
 from zope.configuration.fields import GlobalObject
+from zope.browserpage.metaconfigure import registerType
 from zope.interface import Interface
-from zope.pagetemplate.engine import Engine
-from zope.pagetemplate.engine import _Engine
-from zope.pagetemplate.engine import TrustedEngine
-from zope.pagetemplate.engine import _TrustedEngine
 from zope.schema import TextLine
 
+# BBB
+from zope.browserpage.metaconfigure import clear
+
+
 class IExpressionTypeDirective(Interface):
     """Register a new TALES expression type"""
 
@@ -49,22 +50,3 @@
         callable = registerType,
         args = (name, handler)
         )
-
-def registerType(name, handler):
-    Engine.registerType(name, handler)
-    TrustedEngine.registerType(name, handler)
-
-
-def clear():
-    Engine.__init__()
-    _Engine(Engine)
-    TrustedEngine.__init__()
-    _TrustedEngine(TrustedEngine)
-
-
-try:
-    from zope.testing.cleanup import addCleanUp
-except ImportError:
-    pass
-else:
-    addCleanUp(clear)

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/namedtemplate.txt
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/namedtemplate.txt	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/namedtemplate.txt	2009-12-22 18:40:31 UTC (rev 106892)
@@ -10,7 +10,7 @@
 adapters.   To define a named template, use the `NamedTemplateImplementation`
 constructor:
 
-    >>> from zope.app.pagetemplate import ViewPageTemplateFile
+    >>> from zope.browserpage import ViewPageTemplateFile
     >>> from zope.app.pagetemplate.namedtemplate import (
     ...     NamedTemplateImplementation)
     >>> sample = ViewPageTemplateFile('tests/namedtemplate.pt')

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/simpleviewclass.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/simpleviewclass.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/simpleviewclass.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -17,44 +17,7 @@
 """
 __docformat__ = 'restructuredtext'
 
-import sys
-from zope.interface import implements
-from zope.publisher.browser import BrowserView
-from zope.publisher.interfaces.browser import IBrowserPublisher
-from zope.publisher.interfaces import NotFound
-from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
-
-class simple(BrowserView):
-
-    implements(IBrowserPublisher)
-
-    def browserDefault(self, request):
-        return self, ()
-
-    def publishTraverse(self, request, name):
-        if name == 'index.html':
-            return self.index
-
-        raise NotFound(self, name, request)
-
-    def __getitem__(self, name):
-        return self.index.macros[name]
-
-    def __call__(self, *args, **kw):
-        return self.index(*args, **kw)
-
-
-def SimpleViewClass(src, offering=None, used_for=None, bases=(), name=u''):
-    if offering is None:
-        offering = sys._getframe(1).f_globals
-
-    bases += (simple, )
-
-    class_ = type("SimpleViewClass from %s" % src, bases,
-                  {'index': ViewPageTemplateFile(src, offering),
-                   '__name__': name})
-
-    if used_for is not None:
-        class_.__used_for__ = used_for
-
-    return class_
+# BBB
+from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile
+from zope.browserpage.simpleviewclass import simple
+from zope.browserpage.simpleviewclass import SimpleViewClass

Deleted: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/sample.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/sample.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/sample.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,21 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Sample Component
-
-$Id$
-"""
-from zope.app.pagetemplate import ViewPageTemplateFile
-
-class C(object):
-    index = ViewPageTemplateFile('test.pt')

Deleted: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/simpletestview.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/simpletestview.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/simpletestview.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,20 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Simple Test View
-
-$Id$
-"""
-from zope.app.pagetemplate.simpleviewclass import SimpleViewClass
-
-SimpleTestView = SimpleViewClass('testsimpleviewclass.pt')

Deleted: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test.pt
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test.pt	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test.pt	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1 +0,0 @@
-<html><body></body></html>

Deleted: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_boundpagetemplate.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_boundpagetemplate.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_boundpagetemplate.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,37 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Bound Page Template Tests
-
-$Id$
-"""
-import unittest
-
-class Test(unittest.TestCase):
-
-    def testAttributes(self):
-
-        from zope.app.pagetemplate.tests.sample import C
-
-        C.index.im_func.foo = 1
-        self.assertEqual(C.index.macros, C.index.im_func.macros)
-        self.assertEqual(C.index.filename, C.index.im_func.filename)
-
-
-
-def test_suite():
-    loader=unittest.TestLoader()
-    return loader.loadTestsFromTestCase(Test)
-
-if __name__=='__main__':
-    unittest.TextTestRunner().run(test_suite())

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_nested.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_nested.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_nested.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -7,7 +7,7 @@
 from zope.component.testing import PlacelessSetup
 from zope.publisher.browser import TestRequest
 
-from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
+from zope.browserpage import ViewPageTemplateFile
 
 class Context(object):
     pass

Deleted: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_simpleviewclass.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_simpleviewclass.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_simpleviewclass.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,173 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001-2009 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Simple View Class Tests
-
-$Id$
-"""
-import unittest
-
-class Test_SimpleTestView(unittest.TestCase):
-
-    def _getTargetClass(self):
-        from zope.app.pagetemplate.tests.simpletestview import SimpleTestView
-        return SimpleTestView
-
-    def _makeOne(self, context, request):
-        return self._getTargetClass()(context, request)
-
-    def test_simple(self):
-        from zope.publisher.browser import TestRequest
-        context = DummyContext()
-        request = TestRequest()
-        view = self._makeOne(context, request)
-        macro = view['test']
-        out = view()
-        self.assertEqual(out,
-                         '<html>\n'
-                         '  <body>\n'
-                         '    <p>hello world</p>\n'
-                         '  </body>\n</html>\n')
-
-class Test_SimpleViewClass(unittest.TestCase):
-
-    def _getTargetClass(self):
-        from zope.app.pagetemplate.simpleviewclass import SimpleViewClass
-        return SimpleViewClass
-
-    def _makeKlass(self, *args, **kw):
-        return self._getTargetClass()(*args, **kw)
-
-    def test___name__(self):
-        klass = self._makeKlass('testsimpleviewclass.pt', name='test.html')
-        view = klass(None, None)
-        self.assertEqual(view.__name__, 'test.html')
-
-    def test___getitem___(self):
-        klass = self._makeKlass('testsimpleviewclass.pt', name='test.html')
-        view = klass(None, None)
-        self.assert_(view['test'] is not None)
-        self.assertRaises(KeyError, view.__getitem__, 'foo')
-
-    def test_w_base_classes(self):
-        from zope.publisher.browser import TestRequest
-        class BaseClass(object):
-            pass
-
-        klass = self._makeKlass('testsimpleviewclass.pt', bases=(BaseClass, ))
-
-        self.failUnless(issubclass(klass, BaseClass))
-
-        ob = DummyContext()
-        request = TestRequest()
-        view = klass(ob, request)
-        macro = view['test']
-        out = view()
-        self.assertEqual(out,
-                         '<html>\n'
-                         '  <body>\n'
-                         '    <p>hello world</p>\n'
-                         '  </body>\n</html>\n')
-
-class Test_simple(unittest.TestCase):
-
-    def _getTargetClass(self):
-        from zope.app.pagetemplate.simpleviewclass import simple
-        return simple
-
-    def _makeOne(self, context=None, request=None):
-        if context is None:
-            context = DummyContext()
-        if request is None:
-            request = DummyRequest()
-        return self._getTargetClass()(context, request)
-
-    def test_class_conforms_to_IBrowserPublisher(self):
-        from zope.interface.verify import verifyClass
-        from zope.publisher.interfaces.browser import IBrowserPublisher
-        verifyClass(IBrowserPublisher, self._getTargetClass())
-
-    def test_browserDefault(self):
-        request = DummyRequest()
-        view = self._makeOne(request=request)
-        self.assertEqual(view.browserDefault(request), (view, ()))
-
-    def test_publishTraverse_not_index_raises_NotFound(self):
-        from zope.publisher.interfaces import NotFound
-        request = DummyRequest()
-        view = self._makeOne(request=request)
-        self.assertRaises(NotFound, view.publishTraverse, request, 'nonesuch')
-
-    def test_publishTraverse_w_index_returns_index(self):
-        request = DummyRequest()
-        view = self._makeOne(request=request)
-        index = view.index = DummyTemplate()
-        self.failUnless(view.publishTraverse(request, 'index.html') is index)
-
-    def test___getitem___uses_index_macros(self):
-        view = self._makeOne()
-        view.index = index = DummyTemplate()
-        index.macros = {}
-        index.macros['aaa'] = aaa = object()
-        self.failUnless(view['aaa'] is aaa)
-
-    def test___call___no_args_no_kw(self):
-        view = self._makeOne()
-        view.index = index = DummyTemplate()
-        result = view()
-        self.failUnless(result is index)
-        self.assertEqual(index._called_with, ((), {}))
-
-    def test___call___w_args_no_kw(self):
-        view = self._makeOne()
-        view.index = index = DummyTemplate()
-        result = view('abc')
-        self.failUnless(result is index)
-        self.assertEqual(index._called_with, (('abc',), {}))
-
-    def test___call___no_args_w_kw(self):
-        view = self._makeOne()
-        view.index = index = DummyTemplate()
-        result = view(foo='bar')
-        self.failUnless(result is index)
-        self.assertEqual(index._called_with, ((), {'foo': 'bar'}))
-
-    def test___call___no_args_no_kw(self):
-        view = self._makeOne()
-        view.index = index = DummyTemplate()
-        result = view('abc', foo='bar')
-        self.failUnless(result is index)
-        self.assertEqual(index._called_with, (('abc',), {'foo': 'bar'}))
-
-
-class DummyContext:
-    pass
-
-class DummyResponse:
-    pass
-
-class DummyRequest:
-    debug = False
-    response = DummyResponse()
-
-class DummyTemplate:
-    def __call__(self, *args, **kw):
-        self._called_with = (args, kw)
-        return self
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(Test_SimpleTestView),
-        unittest.makeSuite(Test_SimpleViewClass),
-        unittest.makeSuite(Test_simple),
-    ))

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_talesapi.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_talesapi.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_talesapi.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -16,7 +16,7 @@
 $Id$
 """
 from datetime import datetime
-from zope.testing.doctestunit import DocTestSuite
+from zope.testing.doctest import DocTestSuite
 from zope.interface import implements
 from zope.size.interfaces import ISized
 from zope.traversing.interfaces import IPhysicallyLocatable
@@ -104,6 +104,3 @@
 
 def test_suite():
     return DocTestSuite()
-
-if __name__ == '__main__':
-    unittest.main()

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_urlquote.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_urlquote.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_urlquote.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -22,7 +22,7 @@
 
 import unittest
 
-from zope.testing.doctestunit import DocTestSuite
+from zope.testing.doctest import DocTestSuite
 from zope.app.pagetemplate.urlquote import URLQuote
 
 

Deleted: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_viewzpt.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_viewzpt.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_viewzpt.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,144 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""View ZPT Tests
-
-$Id$
-"""
-import unittest
-
-from zope.component import getGlobalSiteManager
-from zope.component.testing import PlacelessSetup
-from zope.interface import Interface, implements
-
-from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
-
-
-class I1(Interface):
-    pass
-
-class C1(object):
-    implements(I1)
-
-class InstanceWithContext(object):
-    def __init__(self, context):
-        self.context = context
-
-class InstanceWithoutContext(object):
-    pass
-
-
-class TestViewZPT(PlacelessSetup, unittest.TestCase):
-
-    def setUp(self):
-        super(TestViewZPT, self).setUp()
-        self.t = ViewPageTemplateFile('test.pt')
-        self.context = C1()
-
-    def testNamespaceContextAvailable(self):
-        context = self.context
-        request = None
-
-        namespace = self.t.pt_getContext(InstanceWithContext(context), request)
-        self.failUnless(namespace['context'] is context)
-        self.failUnless('views' in namespace)
-
-    def testNamespaceHereNotAvailable(self):
-        request = None
-        self.assertRaises(AttributeError, self.t.pt_getContext,
-                          InstanceWithoutContext(), request)
-
-    def testViewMapper(self):
-        the_view = "This is the view"
-        the_view_name = "some view name"
-        def ViewMaker(*args, **kw):
-            return the_view
-
-        from zope.publisher.interfaces import IRequest
-
-        gsm = getGlobalSiteManager()
-        gsm.registerAdapter(
-            ViewMaker, (I1, IRequest), Interface, the_view_name, event=False)
-
-        class MyRequest(object):
-            implements(IRequest)
-
-        request = MyRequest()
-
-        namespace = self.t.pt_getContext(InstanceWithContext(self.context),
-                                         request)
-        views = namespace['views']
-        self.failUnless(the_view is views[the_view_name])
-
-    def test_debug_flags(self):
-        from zope.publisher.browser import TestRequest
-        self.request = TestRequest()
-        self.request.debug.sourceAnnotations = False
-        self.assert_('test.pt' not in self.t(self))
-        self.request.debug.sourceAnnotations = True
-        self.assert_('test.pt' in self.t(self))
-
-        t = ViewPageTemplateFile('testsimpleviewclass.pt')
-        self.request.debug.showTAL = False
-        self.assert_('metal:' not in t(self))
-        self.request.debug.showTAL = True
-        self.assert_('metal:' in t(self))
-
-    def test_render_sets_content_type_unless_set(self):
-        from zope.publisher.browser import TestRequest
-        t = ViewPageTemplateFile('test.pt')
-
-        self.request = TestRequest()
-        response = self.request.response
-        self.assert_(not response.getHeader('Content-Type'))
-        t(self)
-        self.assertEquals(response.getHeader('Content-Type'), 'text/html')
-
-        self.request = TestRequest()
-        response = self.request.response
-        response.setHeader('Content-Type', 'application/x-test-junk')
-        t(self)
-        self.assertEquals(response.getHeader('Content-Type'),
-                          'application/x-test-junk')
-        
-
-class TestViewZPTContentType(unittest.TestCase):
-
-    def testInitWithoutType(self):
-        t = ViewPageTemplateFile('test.pt')
-        t._cook_check()
-        self.assertEquals(t.content_type, "text/html")
-
-        t = ViewPageTemplateFile('testxml.pt')
-        t._cook_check()
-        self.assertEquals(t.content_type, "text/xml")
-
-    def testInitWithType(self):
-        t = ViewPageTemplateFile('test.pt', content_type="text/plain")
-        t._cook_check()
-        self.assertEquals(t.content_type, "text/plain")
-
-        t = ViewPageTemplateFile('testxml.pt', content_type="text/plain")
-        t._cook_check()
-        self.assertEquals(t.content_type, "text/xml")
-
-
-def test_suite():
-    suite = unittest.TestSuite()
-    suite.addTest(unittest.makeSuite(TestViewZPT))
-    suite.addTest(unittest.makeSuite(TestViewZPTContentType))
-    return suite
-
-
-if __name__ == '__main__':
-    unittest.TextTestRunner().run(test_suite())

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testpackage/content.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testpackage/content.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testpackage/content.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -15,7 +15,7 @@
 
 $Id$
 """
-from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
+from zope.browserpage import ViewPageTemplateFile
 
 class Content(object):
     def getSomething(self):

Deleted: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testsimpleviewclass.pt
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testsimpleviewclass.pt	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testsimpleviewclass.pt	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,5 +0,0 @@
-<html>
-  <body>
-    <p metal:define-macro="test">hello world</p>
-  </body>
-</html>

Deleted: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testxml.pt
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testxml.pt	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/testxml.pt	2009-12-22 18:40:31 UTC (rev 106892)
@@ -1,2 +0,0 @@
-<?xml version="1.0" ?>
-<html><body></body></html>

Modified: zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/viewpagetemplatefile.py
===================================================================
--- zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/viewpagetemplatefile.py	2009-12-22 18:39:51 UTC (rev 106891)
+++ zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/viewpagetemplatefile.py	2009-12-22 18:40:31 UTC (rev 106892)
@@ -17,77 +17,8 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.component import getMultiAdapter
-from zope.pagetemplate.pagetemplatefile import PageTemplateFile
-from zope.pagetemplate.engine import TrustedAppPT
-
-class ViewPageTemplateFile(TrustedAppPT, PageTemplateFile):
-    """Page Templates used as methods of views defined as Python classes.
-    """
-
-    def __init__(self, filename, _prefix=None, content_type=None):
-        _prefix = self.get_path_from_prefix(_prefix)
-        super(ViewPageTemplateFile, self).__init__(filename, _prefix)
-        if content_type is not None:
-            self.content_type = content_type
-
-    def pt_getContext(self, instance, request, **_kw):
-        # instance is a View component
-        namespace = super(ViewPageTemplateFile, self).pt_getContext(**_kw)
-        namespace['request'] = request
-        namespace['view'] = instance
-        namespace['context'] = context = instance.context
-        namespace['views'] = ViewMapper(context, request)
-        return namespace
-
-    def __call__(self, instance, *args, **keywords):
-        namespace = self.pt_getContext(
-            request=instance.request,
-            instance=instance, args=args, options=keywords)
-        debug_flags = instance.request.debug
-        s = self.pt_render(
-            namespace,
-            showtal=getattr(debug_flags, 'showTAL', 0),
-            sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
-            )
-        response = instance.request.response
-        if not response.getHeader("Content-Type"):
-            response.setHeader("Content-Type", self.content_type)
-        return s
-
-    def __get__(self, instance, type):
-        return BoundPageTemplate(self, instance)
-
-class ViewMapper(object):
-    def __init__(self, ob, request):
-        self.ob = ob
-        self.request = request
-
-    def __getitem__(self, name):
-        return getMultiAdapter((self.ob, self.request), name=name)
-
-
-class BoundPageTemplate(object):
-    def __init__(self, pt, ob):
-        object.__setattr__(self, 'im_func', pt)
-        object.__setattr__(self, 'im_self', ob)
-
-    macros = property(lambda self: self.im_func.macros)
-    filename = property(lambda self: self.im_func.filename)
-
-    def __call__(self, *args, **kw):
-        if self.im_self is None:
-            im_self, args = args[0], args[1:]
-        else:
-            im_self = self.im_self
-        return self.im_func(im_self, *args, **kw)
-
-    def __setattr__(self, name, v):
-        raise AttributeError("Can't set attribute", name)
-
-    def __repr__(self):
-        return "<BoundPageTemplateFile of %r>" % self.im_self
-
-
-def NoTraverser(ob, request):
-    return None
+# BBB
+from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile
+from zope.browserpage.viewpagetemplatefile import ViewMapper
+from zope.browserpage.viewpagetemplatefile import BoundPageTemplate
+from zope.browserpage.viewpagetemplatefile import NoTraverser



More information about the checkins mailing list