[Checkins] SVN: z3c.language.switch/trunk/ Moved z3c.language.switch to it's own top level package

Roger Ineichen roger at projekt01.ch
Thu Nov 15 23:16:49 EST 2007


Log message for revision 81877:
  Moved z3c.language.switch to it's own top level package
  

Changed:
  _U  z3c.language.switch/trunk/
  A   z3c.language.switch/trunk/CHANGES.txt
  A   z3c.language.switch/trunk/README.txt
  A   z3c.language.switch/trunk/bootstrap.py
  A   z3c.language.switch/trunk/buildout.cfg
  _U  z3c.language.switch/trunk/externals/
  A   z3c.language.switch/trunk/setup.py
  _U  z3c.language.switch/trunk/src/
  A   z3c.language.switch/trunk/src/z3c/language/switch/
  U   z3c.language.switch/trunk/src/z3c/language/switch/README.txt
  U   z3c.language.switch/trunk/src/z3c/language/switch/browser/views.py
  U   z3c.language.switch/trunk/src/z3c/language/switch/interfaces.py
  U   z3c.language.switch/trunk/src/z3c/language/switch/testing.py

-=-

Property changes on: z3c.language.switch/trunk
___________________________________________________________________
Name: svn:ignore
   + .installed.cfg
bin
develop-eggs
parts


Added: z3c.language.switch/trunk/CHANGES.txt
===================================================================
--- z3c.language.switch/trunk/CHANGES.txt	                        (rev 0)
+++ z3c.language.switch/trunk/CHANGES.txt	2007-11-16 04:16:46 UTC (rev 81877)
@@ -0,0 +1,8 @@
+=======
+CHANGES
+=======
+
+Version 0.5.0 (unreleased)
+--------------------------
+
+- Moved zope.language.switch to it's namespace package


Property changes on: z3c.language.switch/trunk/CHANGES.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: z3c.language.switch/trunk/README.txt
===================================================================
--- z3c.language.switch/trunk/README.txt	                        (rev 0)
+++ z3c.language.switch/trunk/README.txt	2007-11-16 04:16:46 UTC (rev 81877)
@@ -0,0 +1,2 @@
+This package provides an implementation wich let's you implement your own i18n
+aware content types.


Property changes on: z3c.language.switch/trunk/README.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: z3c.language.switch/trunk/bootstrap.py
===================================================================
--- z3c.language.switch/trunk/bootstrap.py	                        (rev 0)
+++ z3c.language.switch/trunk/bootstrap.py	2007-11-16 04:16:46 UTC (rev 81877)
@@ -0,0 +1,52 @@
+##############################################################################
+#
+# Copyright (c) 2007 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:$
+"""
+
+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)


Property changes on: z3c.language.switch/trunk/bootstrap.py
___________________________________________________________________
Name: svn:eol-style
   + native

Added: z3c.language.switch/trunk/buildout.cfg
===================================================================
--- z3c.language.switch/trunk/buildout.cfg	                        (rev 0)
+++ z3c.language.switch/trunk/buildout.cfg	2007-11-16 04:16:46 UTC (rev 81877)
@@ -0,0 +1,17 @@
+[buildout]
+develop = .
+          externals/z3c.language.negotiator
+          externals/z3c.language.session
+parts = test checker coverage
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = z3c.language.switch [test]
+
+[checker]
+recipe = lovely.recipe:importchecker
+path = src/z3c/language/switch
+
+[coverage]
+recipe = zc.recipe.egg
+eggs = z3c.coverage


Property changes on: z3c.language.switch/trunk/externals
___________________________________________________________________
Name: svn:externals
   + z3c.language.negotiator     svn://svn.zope.org/repos/main/z3c.language.negotiator/trunk
z3c.language.session        svn://svn.zope.org/repos/main/z3c.language.session/trunk


Added: z3c.language.switch/trunk/setup.py
===================================================================
--- z3c.language.switch/trunk/setup.py	                        (rev 0)
+++ z3c.language.switch/trunk/setup.py	2007-11-16 04:16:46 UTC (rev 81877)
@@ -0,0 +1,78 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation 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.
+#
+##############################################################################
+"""Setup
+
+$Id:$
+"""
+import os
+from setuptools import setup, find_packages
+
+def read(*rnames):
+    return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
+
+setup (
+    name='z3c.language.switch',
+    version='0.5.0dev',
+    author = "Roger Ineichen and the Zope Community",
+    author_email = "zope3-dev at zope.org",
+    description = "Zope3 i18n language switch.",
+    long_description=(
+        read('README.txt')
+        + '\n\n' +
+        read('CHANGES.txt')
+        ),
+    license = "ZPL 2.1",
+    keywords = "zope3 z3c i18n language switch",
+    classifiers = [
+        'Development Status :: 5 - Production/Stable',
+        'Environment :: Web Environment',
+        'Intended Audience :: Developers',
+        'License :: OSI Approved :: Zope Public License',
+        'Programming Language :: Python',
+        'Natural Language :: English',
+        'Operating System :: OS Independent',
+        'Topic :: Internet :: WWW/HTTP',
+        'Framework :: Zope3'],
+    url = 'http://cheeseshop.python.org/pypi/z3c.language.switch',
+    packages = find_packages('src'),
+    include_package_data = True,
+    package_dir = {'':'src'},
+    namespace_packages = ['z3c', 'z3c.language'],
+    extras_require = dict(
+        test = [
+            'zope.app.testing',
+            'zope.testing',
+            'z3c.testing',
+            'z3c.coverage',
+            ],
+        ),
+    install_requires = [
+        'setuptools',
+        'z3c.i18n',
+        'z3c.language.session',
+        'zope.app.component',
+        'zope.component',
+        'zope.i18n',
+        'zope.interface',
+        'zope.security',
+        'zope.event',
+        'zope.publisher',
+        'zope.schema',
+        'zope.session',
+        'zope.lifecycleevent',
+        'zope.app.generations',
+        ],
+    dependency_links = ['http://download.zope.org/distribution'],
+    zip_safe = False,
+    )


Property changes on: z3c.language.switch/trunk/setup.py
___________________________________________________________________
Name: svn:eol-style
   + native


Property changes on: z3c.language.switch/trunk/src
___________________________________________________________________
Name: svn:ignore
   + z3c.language.switch.egg-info


Copied: z3c.language.switch/trunk/src/z3c/language/switch (from rev 81870, z3c.language/trunk/src/z3c/language/switch)

Modified: z3c.language.switch/trunk/src/z3c/language/switch/README.txt
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/README.txt	2007-11-16 02:09:47 UTC (rev 81870)
+++ z3c.language.switch/trunk/src/z3c/language/switch/README.txt	2007-11-16 04:16:46 UTC (rev 81877)
@@ -6,99 +6,118 @@
 
 Imports and placeless setup:
 
-    >>> from zope.app.testing import placelesssetup, ztapi
-    >>> from z3c.language.switch import II18nLanguageSwitch
-    >>> from z3c.language.switch.testing import IContentObject
-    >>> from z3c.language.switch.testing import II18nContentObject
-    >>> from z3c.language.switch.testing import I18nContentObject
-    >>> from z3c.language.switch.testing import I18nContentObjectLanguageSwitch
-    >>> from z3c.language.switch.testing import ContentObject
-    >>> placelesssetup.setUp()
+  >>> import zope.component
+  >>> from zope.app.testing import placelesssetup
+  >>> from z3c.language.switch import II18nLanguageSwitch
+  >>> from z3c.language.switch.testing import IContentObject
+  >>> from z3c.language.switch.testing import II18nContentObject
+  >>> from z3c.language.switch.testing import I18nContentObject
+  >>> from z3c.language.switch.testing import I18nContentObjectLanguageSwitch
+  >>> from z3c.language.switch.testing import ContentObject
+  >>> placelesssetup.setUp()
 
 Setup test object:
 
-    >>> en_title = u'en_title'
-    >>> obj = I18nContentObject(en_title)
-    >>> obj.title
-    u'en_title'
+  >>> en_title = u'en_title'
+  >>> obj = I18nContentObject(en_title)
+  >>> obj.title
+  u'en_title'
 
 Add additional languages:
 
-    >>> de_title = u'de_title'
-    >>> fr_title = u'fr_title'
-    >>> deObj = obj.addLanguage('de', de_title)
-    >>> frObj = obj.addLanguage('fr', fr_title)
+  >>> de_title = u'de_title'
+  >>> fr_title = u'fr_title'
+  >>> deObj = obj.addLanguage('de', de_title)
+  >>> frObj = obj.addLanguage('fr', fr_title)
 
 Switch default language:
 
-    >>> obj.title
-    u'en_title'
+  >>> obj.title
+  u'en_title'
 
-    >>> obj.setDefaultLanguage('de')
-    >>> obj.title
-    u'de_title'
+  >>> obj.setDefaultLanguage('de')
+  >>> obj.title
+  u'de_title'
 
 Remove the 'en' language object:
 
-    >>> obj._data.keys()
-    ['de', 'en', 'fr']
-    >>> obj.removeLanguage('en')
-    >>> obj._data.keys()
-    ['de', 'fr']
+  >>> obj._data.keys()
+  ['de', 'en', 'fr']
+  >>> obj.removeLanguage('en')
+  >>> obj._data.keys()
+  ['de', 'fr']
 
 Remove default language object will end in a ValueError error:
 
-    >>> obj.removeLanguage('de')
-    Traceback (most recent call last):
-    ...
-    ValueError: cannot remove default language (de)
+  >>> obj.removeLanguage('de')
+  Traceback (most recent call last):
+  ...
+  ValueError: cannot remove default language (de)
 
 Remove nonexistent language object will end in a ValueError error:
 
-    >>> obj.removeLanguage('undefined')
-    Traceback (most recent call last):
-    ...
-    ValueError: cannot remove nonexistent language (undefined)
+  >>> obj.removeLanguage('undefined')
+  Traceback (most recent call last):
+  ...
+  ValueError: cannot remove nonexistent language (undefined)
 
 Set default language to a non existent language will end in a ValueError:
 
-    >>> obj.setDefaultLanguage('en')
-    Traceback (most recent call last):
-    ...
-    ValueError: cannot set nonexistent language (en) as default
+  >>> obj.setDefaultLanguage('en')
+  Traceback (most recent call last):
+  ...
+  ValueError: cannot set nonexistent language (en) as default
 
 Access the language directly via the II18nLanguageSwitch adapter,
 first register the adapter for the I18nContentObject:
 
-    >>> ztapi.provideAdapter(I18nContentObject, II18nLanguageSwitch, 
-    ...     I18nContentObjectLanguageSwitch)
+  >>> zope.component.provideAdapter(I18nContentObjectLanguageSwitch,
+  ...     (II18nContentObject,), provides=II18nLanguageSwitch)
 
 The adapter is set to the default language in the init method:
 
-    >>> adapted = II18nLanguageSwitch(obj)
-    >>> adapted.title
-    u'de_title'
+  >>> adapted = II18nLanguageSwitch(obj)
+  >>> adapted.title
+  u'de_title'
 
 Change the default language and access the title again, the title should not 
 switch to another language:
 
-    >>> obj.setDefaultLanguage('fr')
-    >>> adapted.title
-    u'de_title'
-    
+  >>> obj.setDefaultLanguage('fr')
+  >>> adapted.title
+  u'de_title'
+  
 Switch the language to 'fr'  via the adapter:
 
-    >>> adapted.setLanguage('fr')
-    >>> adapted.title
-    u'fr_title'
+  >>> adapted.setLanguage('fr')
+  >>> adapted.title
+  u'fr_title'
 
 Finally, clean up::
 
-    >>> placelesssetup.tearDown()
+  >>> placelesssetup.tearDown()
 
 
 AvailableLanguagesVocabulary
 ----------------------------
 
-Use this vocabulary for getting the available languages from the object 
+Use this vocabulary for get the available languages from the object 
 itself.
+
+  >>> from z3c.language.switch import vocabulary
+  >>> vocab = vocabulary.AvailableLanguagesVocabulary(obj)
+  >>> len(vocab._terms)
+  2
+
+  >>> vocab._terms[0].value
+  'de'
+  >>> vocab._terms[0].token
+  'de'
+  >>> vocab._terms[0].title
+  'de'
+  >>> vocab._terms[1].value
+  'fr'
+  >>> vocab._terms[1].token
+  'fr'
+  >>> vocab._terms[1].title
+  'fr'

Modified: z3c.language.switch/trunk/src/z3c/language/switch/browser/views.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/browser/views.py	2007-11-16 02:09:47 UTC (rev 81870)
+++ z3c.language.switch/trunk/src/z3c/language/switch/browser/views.py	2007-11-16 04:16:46 UTC (rev 81877)
@@ -17,19 +17,16 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.interface import implements
-from zope.app.zapi import getUtility
-
+import zope.interface
 from zope.publisher.browser import BrowserView
 
 from z3c.language.switch import IReadI18n
 from z3c.language.switch import IAvailableLanguages
 
 
-
 class ContentView(BrowserView):
 
-    implements(IAvailableLanguages)
+    zope.interface.implements(IAvailableLanguages)
 
     def getAvailableLanguages(self):
         """Returns a list of available languages if we provide IReadI18n."""

Modified: z3c.language.switch/trunk/src/z3c/language/switch/interfaces.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/interfaces.py	2007-11-16 02:09:47 UTC (rev 81870)
+++ z3c.language.switch/trunk/src/z3c/language/switch/interfaces.py	2007-11-16 04:16:46 UTC (rev 81877)
@@ -17,16 +17,13 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.interface import Interface
-
+import zope.interface
 from zope.schema.interfaces import IVocabularyTokenized
 
 from z3c.i18n import MessageFactory as _
 
 
-
-# replacement for the unuseable II18nAware interface
-class IReadI18n(Interface):
+class IReadI18n(zope.interface.Interface):
     """Let the language switch to the desired language.
     
     Support add and remove objects of a language.
@@ -81,8 +78,7 @@
         """
 
 
-
-class IWriteI18n(Interface):
+class IWriteI18n(zope.interface.Interface):
     """Let the language switch to the desired language.
     
     Support add and remove objects of a language.
@@ -117,14 +113,11 @@
         """
 
 
-
 class II18n(IReadI18n, IWriteI18n):
     """Read and write support for I18n objects."""
 
 
-
-
-class II18nLanguageSwitch(Interface):
+class II18nLanguageSwitch(zope.interface.Interface):
     """Let the language switch to the desired language."""
 
     def getLanguage():
@@ -134,10 +127,8 @@
         """Sets the language for useing in the adapter."""
 
 
+class IAvailableLanguages(zope.interface.Interface):
 
-class IAvailableLanguages(Interface):
-
-
     def getAvailableLanguages():
         """Returns a list of available languages if we provide IReadI18n."""
 
@@ -145,7 +136,6 @@
         """View for to check if we have i18n support on a context."""
 
 
-
 class IAvailableLanguagesVocabulary(IVocabularyTokenized):
     """Available languages."""
 

Modified: z3c.language.switch/trunk/src/z3c/language/switch/testing.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/testing.py	2007-11-16 02:09:47 UTC (rev 81870)
+++ z3c.language.switch/trunk/src/z3c/language/switch/testing.py	2007-11-16 04:16:46 UTC (rev 81877)
@@ -18,13 +18,10 @@
 __docformat__ = 'restructuredtext'
 
 import unittest
-
+import zope.interface
 from zope.interface.verify import verifyClass
-from zope.interface import implements
-from zope.interface import Interface
+from zope.app.testing import placelesssetup
 
-from zope.app.testing import ztapi, placelesssetup
-
 from z3c.language.switch import IReadI18n
 from z3c.language.switch import IWriteI18n
 from z3c.language.switch import II18n
@@ -44,18 +41,18 @@
 #
 ################################################################################
 
-class IContentObject(Interface):
+class IContentObject(zope.interface.Interface):
     """IContentObject interface."""
 
 
-class II18nContentObject(Interface):
+class II18nContentObject(zope.interface.Interface):
     """II18nContentObject interface."""
 
 
 class ContentObject(object):
     """Content type."""
 
-    implements(IContentObject)
+    zope.interface.implements(IContentObject)
 
     __parent__ = __name__ = None
     
@@ -78,7 +75,7 @@
 class I18nContentObject(object):
     """i18n content type."""
 
-    implements(II18nContentObject, IReadI18n, IWriteI18n)
+    zope.interface.implements(II18nContentObject, IReadI18n, IWriteI18n)
 
     def __init__(self, title='', defaultLanguage=None):
         self._data = {}
@@ -173,7 +170,7 @@
 class I18nContentObjectLanguageSwitch(object):
     """Language switch for I18nContentObject."""
     
-    implements(II18nLanguageSwitch, II18nContentObject)
+    zope.interface.implements(II18nLanguageSwitch, II18nContentObject)
 
     _language = 'en'
 
@@ -305,7 +302,7 @@
         iface = self.getTestInterface()
         required = self.getAdaptedClass()
         # register language switch for test interface adapter
-        ztapi.provideAdapter(required, iface, factory)
+        zope.component.provideAdapter(factory, (required,), iface)
 
     def tearDown(self):
         placelesssetup.tearDown()



More information about the Checkins mailing list