[Checkins] SVN: z3c.pt.compat/ Initial import.

Malthe Borch mborch at gmail.com
Tue Sep 9 17:55:11 EDT 2008


Log message for revision 91009:
  Initial import.

Changed:
  A   z3c.pt.compat/
  A   z3c.pt.compat/trunk/
  A   z3c.pt.compat/trunk/README.txt
  A   z3c.pt.compat/trunk/bootstrap.py
  A   z3c.pt.compat/trunk/setup.py
  A   z3c.pt.compat/trunk/src/
  A   z3c.pt.compat/trunk/src/z3c/
  A   z3c.pt.compat/trunk/src/z3c/__init__.py
  A   z3c.pt.compat/trunk/src/z3c/pt/
  A   z3c.pt.compat/trunk/src/z3c/pt/__init__.py
  A   z3c.pt.compat/trunk/src/z3c/pt/compat/
  A   z3c.pt.compat/trunk/src/z3c/pt/compat/__init__.py
  A   z3c.pt.compat/trunk/src/z3c/pt/compat/config.py
  A   z3c.pt.compat/trunk/src/z3c/pt/configure.zcml

-=-
Added: z3c.pt.compat/trunk/README.txt
===================================================================
--- z3c.pt.compat/trunk/README.txt	                        (rev 0)
+++ z3c.pt.compat/trunk/README.txt	2008-09-09 21:55:11 UTC (rev 91009)
@@ -0,0 +1,18 @@
+Overview
+========
+
+This package implements a compatibility-layer between the following
+Zope Page Template engines:
+
+ * z3c.pt
+ * zope.pagetemplate
+
+Usage
+-----
+
+Use the following import-clause:
+
+  >>> from z3c.pt.compat import ViewPageTemplateFile
+
+If the environment-variable ``PREFER_Z3C_PT`` is set to a true value,
+the ``z3c.pt`` engine will be used instead of ``zope.pagetemplate``.

Added: z3c.pt.compat/trunk/bootstrap.py
===================================================================
--- z3c.pt.compat/trunk/bootstrap.py	                        (rev 0)
+++ z3c.pt.compat/trunk/bootstrap.py	2008-09-09 21:55:11 UTC (rev 91009)
@@ -0,0 +1,52 @@
+##############################################################################
+#
+# Copyright (c) 2006 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.
+#
+##############################################################################
+"""Bootstrap a buildout-based project
+
+Simply run this script in a directory containing a buildout.cfg.
+The script accepts buildout command-line options, so you can
+use the -c option to specify an alternate configuration file.
+
+$Id: bootstrap.py 71627 2006-12-20 16:46:11Z jim $
+"""
+
+import os, shutil, sys, tempfile, urllib2
+
+tmpeggs = tempfile.mkdtemp()
+
+ez = {}
+exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
+                     ).read() in ez
+ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
+
+import pkg_resources
+
+cmd = 'from setuptools.command.easy_install import main; main()'
+if sys.platform == 'win32':
+    cmd = '"%s"' % cmd # work around spawn lamosity on windows
+
+ws = pkg_resources.working_set
+assert os.spawnle(
+    os.P_WAIT, sys.executable, sys.executable,
+    '-c', cmd, '-mqNxd', tmpeggs, 'zc.buildout',
+    dict(os.environ,
+         PYTHONPATH=
+         ws.find(pkg_resources.Requirement.parse('setuptools')).location
+         ),
+    ) == 0
+
+ws.add_entry(tmpeggs)
+ws.require('zc.buildout')
+import zc.buildout.buildout
+zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
+shutil.rmtree(tmpeggs)

Added: z3c.pt.compat/trunk/setup.py
===================================================================
--- z3c.pt.compat/trunk/setup.py	                        (rev 0)
+++ z3c.pt.compat/trunk/setup.py	2008-09-09 21:55:11 UTC (rev 91009)
@@ -0,0 +1,34 @@
+from setuptools import setup, find_packages
+import sys, os
+
+version = '0.1'
+
+setup(name='z3c.pt.compat',
+      version=version,
+      description="Compatibility-layer for Zope Page Template engines.",
+      long_description=open('README.txt').read(),
+      classifiers=[
+        "Framework :: Plone",
+        "Framework :: Zope2",
+        "Framework :: Zope3",
+        "Programming Language :: Python",
+        "Topic :: Software Development :: Libraries :: Python Modules",
+        ],
+      keywords='zpt',
+      author='Zope Corporation and Contributors',
+      author_email='zope3-dev at zope.org',
+      url='',
+      license='ZPL',
+      packages=find_packages('src'),
+      package_dir={'': 'src'},
+      namespace_packages=['z3c', 'z3c.pt'],
+      include_package_data=True,
+      zip_safe=False,
+      install_requires=[
+          'setuptools',
+          ],
+      extras_require = dict(
+        zpt = ['zope.app.pagetemplate'],
+        z3cpt = ['z3c.pt'],
+        )
+      )

Added: z3c.pt.compat/trunk/src/z3c/__init__.py
===================================================================
--- z3c.pt.compat/trunk/src/z3c/__init__.py	                        (rev 0)
+++ z3c.pt.compat/trunk/src/z3c/__init__.py	2008-09-09 21:55:11 UTC (rev 91009)
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+    __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+    from pkgutil import extend_path
+    __path__ = extend_path(__path__, __name__)

Added: z3c.pt.compat/trunk/src/z3c/pt/__init__.py
===================================================================
--- z3c.pt.compat/trunk/src/z3c/pt/__init__.py	                        (rev 0)
+++ z3c.pt.compat/trunk/src/z3c/pt/__init__.py	2008-09-09 21:55:11 UTC (rev 91009)
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+    __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+    from pkgutil import extend_path
+    __path__ = extend_path(__path__, __name__)

Added: z3c.pt.compat/trunk/src/z3c/pt/compat/__init__.py
===================================================================
--- z3c.pt.compat/trunk/src/z3c/pt/compat/__init__.py	                        (rev 0)
+++ z3c.pt.compat/trunk/src/z3c/pt/compat/__init__.py	2008-09-09 21:55:11 UTC (rev 91009)
@@ -0,0 +1,14 @@
+import config
+
+if config.PREFER_Z3C_PT:
+    from z3c.pt.pagetemplate import ViewPageTemplateFile
+
+    def bind_template(pt, view):
+        return pt.bind(view)    
+else:
+    from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile    
+    from zope.app.pagetemplate.viewpagetemplatefile import BoundPageTemplate as \
+         bind_template
+    
+class ViewPageTemplateFile(ViewPageTemplateFile):
+    pass

Added: z3c.pt.compat/trunk/src/z3c/pt/compat/config.py
===================================================================
--- z3c.pt.compat/trunk/src/z3c/pt/compat/config.py	                        (rev 0)
+++ z3c.pt.compat/trunk/src/z3c/pt/compat/config.py	2008-09-09 21:55:11 UTC (rev 91009)
@@ -0,0 +1,25 @@
+import os
+import logging
+import z3c.pt.compat
+
+PREFER_Z3C_PT = os.environ.get("PREFER_Z3C_PT", 'false').lower() in \
+                ('y', 'yes', 't', 'true', 'on', '1')
+
+if PREFER_Z3C_PT:
+    try:
+        import z3c.pt
+    except ImportError:
+        logging.getLogger('z3c.pt.compat').warn(
+            "Unable to import ``z3c.pt``.")
+        PREFER_Z3C_PT = False    
+
+def enable():
+    global PREFER_Z3C_PT
+    PREFER_Z3C_PT = True
+    reload(z3c.pt.compat)
+
+def disable():
+    global PREFER_Z3C_PT
+    PREFER_Z3C_PT = False
+    reload(z3c.pt.compat)
+    

Added: z3c.pt.compat/trunk/src/z3c/pt/configure.zcml
===================================================================
--- z3c.pt.compat/trunk/src/z3c/pt/configure.zcml	                        (rev 0)
+++ z3c.pt.compat/trunk/src/z3c/pt/configure.zcml	2008-09-09 21:55:11 UTC (rev 91009)
@@ -0,0 +1,5 @@
+<configure xmlns="http://namespaces.zope.org/zope">
+
+  <include package="z3c.pt.template" file="configure.zcml" />
+  
+</configure>



More information about the Checkins mailing list