[Checkins] SVN: z3c.language/trunk/src/z3c/language/ Cleanup and improve error handling

Roger Ineichen roger at projekt01.ch
Wed Aug 23 18:17:00 EDT 2006


Log message for revision 69742:
  Cleanup and improve error handling

Changed:
  U   z3c.language/trunk/src/z3c/language/negotiator/app.py
  U   z3c.language/trunk/src/z3c/language/negotiator/browser/views.py
  U   z3c.language/trunk/src/z3c/language/negotiator/ftests.py
  U   z3c.language/trunk/src/z3c/language/negotiator/interfaces.py
  U   z3c.language/trunk/src/z3c/language/negotiator/tests.py
  U   z3c.language/trunk/src/z3c/language/session/__init__.py
  U   z3c.language/trunk/src/z3c/language/session/app.py
  U   z3c.language/trunk/src/z3c/language/session/browser/views.py
  U   z3c.language/trunk/src/z3c/language/session/interfaces.py
  U   z3c.language/trunk/src/z3c/language/switch/adapters.py
  U   z3c.language/trunk/src/z3c/language/switch/app.py
  U   z3c.language/trunk/src/z3c/language/switch/property.py
  U   z3c.language/trunk/src/z3c/language/switch/testing.py
  U   z3c.language/trunk/src/z3c/language/switch/tests.py
  U   z3c.language/trunk/src/z3c/language/switch/vocabulary.py

-=-
Modified: z3c.language/trunk/src/z3c/language/negotiator/app.py
===================================================================
--- z3c.language/trunk/src/z3c/language/negotiator/app.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/negotiator/app.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -17,14 +17,14 @@
 """
 __docformat__ = 'restructuredtext'
 
-from persistent import Persistent
-from zope.interface import implements
+import persistent
+import zope.interface
 
 from zope.i18n.interfaces import IUserPreferredLanguages
 from zope.i18n.interfaces import INegotiator
 from zope.i18n.negotiator import negotiator
 
-from zope.app.container.contained import Contained
+from zope.app.container import contained
 
 from z3c.language.session.interfaces import ILanguageSession
 
@@ -33,7 +33,7 @@
 
 
 
-class Negotiator(Persistent, Contained):
+class Negotiator(persistent.Persistent, contained.Contained):
     """Loacal negotiator implementation.
 
     The negotiator let you change the policy, which is a alias
@@ -57,7 +57,7 @@
 
     """
 
-    implements(INegotiator, INegotiatorManager)
+    zope.interface.implements(INegotiator, INegotiatorManager)
 
     def __init__(self):
         self._policy = 'session --> browser --> server'

Modified: z3c.language/trunk/src/z3c/language/negotiator/browser/views.py
===================================================================
--- z3c.language/trunk/src/z3c/language/negotiator/browser/views.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/negotiator/browser/views.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -38,7 +38,7 @@
 
         try:
             offeredLanguages = negotiator.offeredLanguages
-        except:
+        except AttributeError:
             # we don't have a Negotiator instance
             # we got the global zope.i18n Negotiator
             offeredLanguages = []
@@ -53,7 +53,7 @@
         try:
             offeredLanguages = negotiator.offeredLanguages
             return True
-        except:
+        except AttributeError:
             # we don't have a Negotiator instance
             # we got the global zope.i18n Negotiator
             return False

Modified: z3c.language/trunk/src/z3c/language/negotiator/ftests.py
===================================================================
--- z3c.language/trunk/src/z3c/language/negotiator/ftests.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/negotiator/ftests.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -19,14 +19,12 @@
 import unittest
 
 from zope.testing import doctest
-from zope.app.testing.functional import FunctionalDocFileSuite
-from zope.app.testing.functional import BrowserTestCase
+from zope.app.testing import functional
 
 
-
 def test_suite():
     return unittest.TestSuite((
-        FunctionalDocFileSuite(
+        functional.FunctionalDocFileSuite(
             "README.txt",
             optionflags=doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE),
         ))

Modified: z3c.language/trunk/src/z3c/language/negotiator/interfaces.py
===================================================================
--- z3c.language/trunk/src/z3c/language/negotiator/interfaces.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/negotiator/interfaces.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -17,12 +17,10 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.interface import Interface
-
+import zope.interface
+import zope.schema
 from zope.schema.interfaces import IVocabularyTokenized
-from zope.schema import TextLine
-from zope.schema import List
-from zope.schema import Choice
+
 from zope.i18n.interfaces import INegotiator
 
 from zope.app.session.interfaces import ISession
@@ -34,38 +32,37 @@
     'session --> browser --> server', 'session --> server']
 
 
-
-class INegotiatorManager(Interface):
+class INegotiatorManager(zope.interface.Interface):
     """Local negotiator utility manager interface."""
 
-    policy = Choice(
+    policy = zope.schema.Choice(
         title=_("Language lookup policy"),
         description=_("Defines how the language lookup is working."),
         values=language_policies,
         default='session --> browser --> server',
         required=True)
 
-    serverLanguage = TextLine(
+    serverLanguage = zope.schema.TextLine(
         title=_(u"Server language"),
         description=_(u"The language used for server policy."),
         default=u"en",
         required=True,
         )
 
-    sessionLanguages = List(
+    sessionLanguages = zope.schema.List(
         title=_(u"Session languages"),
         description=_(u"A list of available languages in session policy."),
-        value_type = TextLine(title=_(u"A i18n language."),
+        value_type = zope.schema.TextLine(title=_(u"A i18n language."),
             description=_(u"""A i18n language definition string used in 
                 sessions.""")),
         required=False,
         )
 
-    offeredLanguages = List(
+    offeredLanguages = zope.schema.List(
         title=_(u"Offered languages"),
         description=_(u"""A list of offered languages in the skin for the 
             user to select."""),
-        value_type = TextLine(title=_(u"A i18n language."),
+        value_type = zope.schema.TextLine(title=_(u"A i18n language."),
             description=_(u"""
                 A i18n language definition string offerd in the skin for the 
                 user to select.""")),
@@ -73,18 +70,14 @@
         )
 
 
+class IOfferedLanguages(zope.interface.Interface):
 
-class IOfferedLanguages(Interface):
-
-
     def getOfferedLanguages():
         """View for listing  available (offered) languages."""
 
-
     def hasOfferedLanguages():
         """View for to check if we have i18n session support."""
 
 
-
 class IAvailableTranslationDomainLanguagesVocabulary(IVocabularyTokenized):
     """Available languages."""

Modified: z3c.language/trunk/src/z3c/language/negotiator/tests.py
===================================================================
--- z3c.language/trunk/src/z3c/language/negotiator/tests.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/negotiator/tests.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -15,25 +15,24 @@
 """
 $Id$
 """
-
 __docformat__ = 'restructuredtext'
 
 import unittest
 
+import zope.interface
+import zope.component
 from zope.app.testing import ztapi
 
 from zope.i18n.interfaces import IUserPreferredLanguages
-from zope.component.testing import PlacelessSetup
-from zope.interface import implements
 
 from z3c.language.session.interfaces import ILanguageSession
 from z3c.language.negotiator.app import Negotiator
 
 
-
 class TestLanguageSession(object):
     
-    implements(ILanguageSession)
+    zope.interface.implements(ILanguageSession)
+    zope.component.adapts(IUserPreferredLanguages)
 
     def __init__(self, request):
         pass
@@ -43,7 +42,7 @@
 
 
 class Env(object):
-    implements(IUserPreferredLanguages)
+    zope.interface.implements(IUserPreferredLanguages)
 
     def __init__(self, langs=()):
         self.langs = langs
@@ -52,64 +51,64 @@
         return self.langs
 
 
-class NegotiatorTest(PlacelessSetup, unittest.TestCase):
+class NegotiatorTest(zope.component.testing.PlacelessSetup, 
+    unittest.TestCase):
 
     def setUp(self):
         super(NegotiatorTest, self).setUp()
         self.negotiator = Negotiator()
-        ztapi.provideAdapter(IUserPreferredLanguages, ILanguageSession,
-            TestLanguageSession)
+        zope.component.provideAdapter(TestLanguageSession)
 
-#    def test__getLanguagePolicy(self):
-#        default = 'session --> browser --> server'
-#        self.assertEqual(self.negotiator._getLanguagePolicy(), default)
-#
-#    def test__setLanguagePolicy(self):
-#        self.negotiator.policy = 'server'
-#        self.assertEqual(self.negotiator.policy, 'server')
-#        self.assertRaises(
-#            ValueError, self.negotiator._setLanguagePolicy, 'undefined')
-#
-#    def test_policy(self):
-#        default = 'session --> browser --> server'
-#        self.assertEqual(self.negotiator.policy, default)
-#        self.negotiator.policy = 'server'
-#        self.assertEqual(self.negotiator.policy, 'server')
-#
-#    def test_serverLanguage(self):
-#        self.assertEqual(self.negotiator.serverLanguage, None)
-#        self.negotiator.serverLanguage = 'de'
-#        self.assertEqual(self.negotiator.serverLanguage, 'de')
-#
-#    def test_sessionLanguages(self):
-#        self.assertEqual(self.negotiator.sessionLanguages, [])
-#        self.negotiator.sessionLanguages = ['de', 'en']
-#        self.assertEqual(self.negotiator.sessionLanguages, ['de', 'en'])
-#
-#    def test_offeredLanguages(self):
-#        self.assertEqual(self.negotiator.offeredLanguages, [])
-#        self.negotiator.offeredLanguages = ['de', 'en']
-#        self.assertEqual(self.negotiator.offeredLanguages, ['de', 'en'])
+    def test__getLanguagePolicy(self):
+        default = 'session --> browser --> server'
+        self.assertEqual(self.negotiator._getLanguagePolicy(), default)
 
-#    def test_getLanguages(self):
-#        # first set the default policy to 'browser'
-#        self.negotiator.policy = 'browser'
-#        self.assertEqual(self.negotiator.policy, 'browser')
-#
-#        _cases = (
-#            (('en','de'), ('en','de','fr'),  'en'),
-#            (('en'),      ('it','de','fr'),  None),
-#            (('pt-br','de'), ('pt_BR','de','fr'),  'pt_BR'),
-#            (('pt-br','en'), ('pt', 'en', 'fr'),  'pt'),
-#            (('pt-br','en-us', 'de'), ('de', 'en', 'fr'),  'en'),
-#            )
-#
-#        for user_pref_langs, obj_langs, expected in _cases:
-#            env = Env(user_pref_langs)
-#            self.assertEqual(self.negotiator.getLanguage(obj_langs, env),
-#                             expected)
+    def test__setLanguagePolicy(self):
+        self.negotiator.policy = 'server'
+        self.assertEqual(self.negotiator.policy, 'server')
+        self.assertRaises(
+            ValueError, self.negotiator._setLanguagePolicy, 'undefined')
 
+    def test_policy(self):
+        default = 'session --> browser --> server'
+        self.assertEqual(self.negotiator.policy, default)
+        self.negotiator.policy = 'server'
+        self.assertEqual(self.negotiator.policy, 'server')
 
+    def test_serverLanguage(self):
+        self.assertEqual(self.negotiator.serverLanguage, None)
+        self.negotiator.serverLanguage = 'de'
+        self.assertEqual(self.negotiator.serverLanguage, 'de')
+
+    def test_sessionLanguages(self):
+        self.assertEqual(self.negotiator.sessionLanguages, [])
+        self.negotiator.sessionLanguages = ['de', 'en']
+        self.assertEqual(self.negotiator.sessionLanguages, ['de', 'en'])
+
+    def test_offeredLanguages(self):
+        self.assertEqual(self.negotiator.offeredLanguages, [])
+        self.negotiator.offeredLanguages = ['de', 'en']
+        self.assertEqual(self.negotiator.offeredLanguages, ['de', 'en'])
+
+    def test_getLanguages(self):
+        # first set the default policy to 'browser'
+        self.negotiator.policy = 'browser'
+        self.assertEqual(self.negotiator.policy, 'browser')
+
+        _cases = (
+            (('en','de'), ('en','de','fr'),  'en'),
+            (('en'),      ('it','de','fr'),  None),
+            (('pt-br','de'), ('pt_BR','de','fr'),  'pt_BR'),
+            (('pt-br','en'), ('pt', 'en', 'fr'),  'pt'),
+            (('pt-br','en-us', 'de'), ('de', 'en', 'fr'),  'en'),
+            )
+
+        for user_pref_langs, obj_langs, expected in _cases:
+            env = Env(user_pref_langs)
+            self.assertEqual(self.negotiator.getLanguage(obj_langs, env),
+                             expected)
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(NegotiatorTest),

Modified: z3c.language/trunk/src/z3c/language/session/__init__.py
===================================================================
--- z3c.language/trunk/src/z3c/language/session/__init__.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/session/__init__.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -15,7 +15,6 @@
 """
 $Id$
 """
-
 __docformat__ = 'restructuredtext'
 
 from z3c.language.session.interfaces import *

Modified: z3c.language/trunk/src/z3c/language/session/app.py
===================================================================
--- z3c.language/trunk/src/z3c/language/session/app.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/session/app.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -17,23 +17,9 @@
 """
 __docformat__ = 'restructuredtext'
 
-from persistent import Persistent
-from zope.interface import implements
+import zope.interface
 
-from zope.component import ComponentLookupError
-
-from zope.i18n.interfaces import IUserPreferredLanguages
-from zope.i18n.negotiator import negotiator
-
-from zope.app.zapi import getUtility
-from zope.app.container.contained import Contained
-
 from zope.app.session.session import Session
-from zope.app.session.interfaces import ISession
-from zope.app.session.interfaces import IClientId
-from zope.app.session.interfaces import ISessionDataContainer
-from zope.app.session.session import SessionData
-from zope.app.session.session import SessionPkgData
 
 from z3c.language.session import ILanguageSession
 from z3c.language.session import IGetLanguage
@@ -41,7 +27,6 @@
 from z3c.language.session import sessionPkgDataId
 
 
-
 class LanguageSession(Session):
     """Handles i18n language via server session.
 
@@ -74,9 +59,8 @@
     >>> tests.tearDown()
 
     """
+    zope.interface.implements(ILanguageSession, IGetLanguage, ISetLanguage)
 
-    implements(ILanguageSession, IGetLanguage, ISetLanguage)
-
     def __init__(self, request):
         super(LanguageSession, self).__init__(request)
 

Modified: z3c.language/trunk/src/z3c/language/session/browser/views.py
===================================================================
--- z3c.language/trunk/src/z3c/language/session/browser/views.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/session/browser/views.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -17,7 +17,8 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.interface import implements
+import zope.interface
+import zope.component
 
 from zope.publisher.browser import BrowserView
 
@@ -27,15 +28,12 @@
 from z3c.language.session import ISetLanguage
 
 
-
-
 class LanguageSessionView(BrowserView):
 
-    implements(IHasLanguage, IGetLanguage, ISetLanguage)
+    zope.interface.implements(IHasLanguage, IGetLanguage, ISetLanguage)
 
     def hasLanguage(self):
         """View for to check if a session has a i18n language value."""
-        
         try:
             session = ILanguageSession(self.request)
             lang = session.getLanguage()
@@ -43,22 +41,19 @@
                 return True
             else:
                 return False
-        except:
+        except zope.component.ComponentLookupError:
             return False
 
-
     def getLanguage(self):
         """View for to check if a session has a i18n language value."""
-
         _fallback = 'en'
         
         try:
             session = ILanguageSession(self.request)
             return session.getLanguage()
-        except:
+        except AttributeError:
             return _fallback
 
-
     def setLanguage(self):
         """Set the given language in the request to the session.
         
@@ -70,7 +65,6 @@
         Or send the request to the view '@@setLanguage'. There has to be a 
         variable 'language' and 'nextURL' in the request like
         """
-
         nextURL = '.'
 
         if "language" in self.request:

Modified: z3c.language/trunk/src/z3c/language/session/interfaces.py
===================================================================
--- z3c.language/trunk/src/z3c/language/session/interfaces.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/session/interfaces.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -17,8 +17,7 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.interface import Interface
-
+import zope.interface
 from zope.schema.interfaces import IVocabularyTokenized
 
 from zope.app.session.interfaces import ISession
@@ -34,7 +33,7 @@
 
 
 
-class IHasLanguage(Interface):
+class IHasLanguage(zope.interface.Interface):
     """Has language API"""
 
     def hasLanguage():
@@ -42,7 +41,7 @@
 
 
 
-class IGetLanguage(Interface):
+class IGetLanguage(zope.interface.Interface):
     """Get language API"""
 
     def getLanguage():
@@ -50,7 +49,7 @@
 
 
 
-class ISetLanguage(Interface):
+class ISetLanguage(zope.interface.Interface):
     """Set language API"""
 
     def setLanguage():

Modified: z3c.language/trunk/src/z3c/language/switch/adapters.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/adapters.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/switch/adapters.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -17,23 +17,21 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.interface import implements
+import zope.interface
 
 from z3c.language.switch import II18n
 from z3c.language.switch import II18nLanguageSwitch
 
 
-
 class I18nLanguageSwitch(object):
     """Mixing class for switch a language on a object.
     
     Use the method _getI18n for set the i18n object.
     """
+    zope.interface.implements(II18nLanguageSwitch)
 
     _language = 'en'
 
-    implements(II18nLanguageSwitch)
-
     def __init__(self, context):
         self.context = context
         self.i18n = self._getI18n()
@@ -57,14 +55,12 @@
         self._language = language
 
 
-
 class I18nAdapter(object):
     """Mixing class for i18n adapters which must provide the adapted object 
        under the attribute 'self.i18n'.
     """
+    zope.interface.implements(II18n)
 
-    implements(II18n)
-
     # z3c.langauge.switch.IReadI18n
     def getAvailableLanguages(self):
         """See `z3c.langauge.switch.interfaces.IReadI18n`"""

Modified: z3c.language/trunk/src/z3c/language/switch/app.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/app.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/switch/app.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -17,33 +17,27 @@
 """
 __docformat__ = 'restructuredtext'
 
-from persistent import Persistent
-
-from zope.event import notify
+import persistent
+import zope.interface
+import zope.component
+import zope.event
+import zope.lifecycleevent
 from zope.i18n.interfaces import INegotiator
-from zope.interface import implements
-from zope.lifecycleevent import ObjectCreatedEvent
-from zope.lifecycleevent import ObjectModifiedEvent
+from zope.security.interfaces import NoInteraction
 from zope.security.management import getInteraction
 
-from zope.app import zapi
-
 from z3c.language.switch import II18n
 
 
-
 def getRequest():
     try:
         interaction = getInteraction()
         request = interaction.participations[0]
-    except:
+    except NoInteraction:
         request = None
 
-    return request
 
-
-
-class I18n(Persistent, object):
+class I18n(persistent.Persistent, object):
     """Mixin implementation of II18n.
     
     Set a factory class in our implementation. The _create method will initalize 
@@ -52,67 +46,68 @@
 
     You can use this class as mixin for i18n implementations:
 
-        >>> from z3c.language.switch.app import I18n
-        >>> class Person(object):
-        ...     def __init__(self, firstname, lastname):
-        ...         self.firstname = firstname
-        ...         self.lastname = lastname
+    >>> from z3c.language.switch.app import I18n
+    >>> class Person(object):
+    ...     def __init__(self, firstname, lastname):
+    ...         self.firstname = firstname
+    ...         self.lastname = lastname
 
-        >>> class I18nPerson(I18n):
-        ...     _defaultLanguage = 'en'
-        ...     _factory = Person
+    >>> class I18nPerson(I18n):
+    ...     _defaultLanguage = 'en'
+    ...     _factory = Person
 
     Now you can initialize the default translation:
 
-        >>> i18n = I18nPerson(firstname='Bob', lastname='Miller')
-        >>> i18n.getDefaultLanguage()
-        'en'
-        >>> i18n.getPreferedLanguage()
-        'en'
+    >>> i18n = I18nPerson(firstname='Bob', lastname='Miller')
+    >>> i18n.getDefaultLanguage()
+    'en'
+    >>> i18n.getPreferedLanguage()
+    'en'
 
     You can access the attributes of the default translation:
 
-        >>> i18n.getAttribute('firstname')
-        'Bob'
-        >>> i18n.getAttribute('lastname')
-        'Miller'
-        
+    >>> i18n.getAttribute('firstname')
+    'Bob'
+    >>> i18n.getAttribute('lastname')
+    'Miller'
+    
     That is the same as accessing the attribute using a language parameter:
 
-        >>> i18n.getAttribute('firstname', 'en')
-        'Bob'
+    >>> i18n.getAttribute('firstname', 'en')
+    'Bob'
 
-    If an attribute is not available a AttributeError is raised. The queryAttribute
-    method offers a save way for unsecure access:
+    If an attribute is not available a AttributeError is raised. The 
+    queryAttribute method offers a save way for unsecure access:
 
-        >>> i18n.getAttribute('name')
-        Traceback (most recent call last):
-        ...
-        AttributeError: 'Person' object has no attribute 'name'
+    >>> i18n.getAttribute('name')
+    Traceback (most recent call last):
+    ...
+    AttributeError: 'Person' object has no attribute 'name'
 
-        >>> i18n.queryAttribute('name') is None
-        True
+    >>> i18n.queryAttribute('name') is None
+    True
 
     You can set the attributes an other time:
 
-        >>> i18n.setAttributes('en', firstname='Foo', lastname='Bar')
-        >>> i18n.getAttribute('firstname')
-        'Foo'
-        >>> i18n.getAttribute('lastname')
-        'Bar'
+    >>> i18n.setAttributes('en', firstname='Foo', lastname='Bar')
+    >>> i18n.getAttribute('firstname')
+    'Foo'
+    >>> i18n.getAttribute('lastname')
+    'Bar'
 
     You can initialize the default translation using a specific language:
 
-        >>> i18n = I18nPerson(defaultLanguage='fr', firstname='Robert', lastname='Moulin')
-        >>> i18n.getDefaultLanguage()
-        'fr'
-        >>> i18n.getPreferedLanguage()
-        'fr'
+    >>> i18n = I18nPerson(defaultLanguage='fr', firstname='Robert', 
+    ...                   lastname='Moulin')
+    >>> i18n.getDefaultLanguage()
+    'fr'
+    >>> i18n.getPreferedLanguage()
+    'fr'
 
     """
 
     _data = None
-    # sublclasses should overwrite this attrubute.
+    # sublclasses should overwrite this attributes.
     _defaultLanguage = None
     _factory = None
 
@@ -120,7 +115,7 @@
     def _defaultArgs(self):
         return None
 
-    implements(II18n)
+    zope.interface.implements(II18n)
 
 
     def __init__(self, defaultLanguage=None, *args, **kws):
@@ -170,8 +165,9 @@
         request = getRequest()
         negotiator = None
         try:
-            negotiator = zapi.getUtility(INegotiator, name='', context=self)
-        except:
+            negotiator = zope.component.queryUtility(INegotiator, 
+                name='', context=self)
+        except zope.component.ComponentLookupError:
             # can happens during tests without a site and sitemanager
             pass
         if request and negotiator:
@@ -198,7 +194,7 @@
     def queryAttribute(self, name, language=None, default=None):
         try:
             return self.getAttribute(name, language)
-        except:
+        except AttributeError:
             return default
 
     # z3c.langauge.switch.IReadI18n
@@ -217,7 +213,7 @@
                 args = self._defaultArgs()
 
         self._get_or_add(language, *args, **kw)
-        notify(ObjectModifiedEvent(self))
+        zope.event.notify(zope.lifecycleevent.ObjectModifiedEvent(self))
 
     def removeLanguage(self, language):
         """See `z3c.langauge.switch.interfaces.IWriteI18n`"""
@@ -230,7 +226,7 @@
         else:
             del data[language]
             self._p_changed = True
-        notify(ObjectModifiedEvent(self))
+        zope.event.notify(zope.lifecycleevent.ObjectModifiedEvent(self))
 
     def setAttributes(self, language, **kws):
         # preconditions
@@ -249,14 +245,14 @@
             setattr(obj, key, kws[key])
         else:
             self._p_changed = True           
-        notify(ObjectModifiedEvent(self))
+        zope.event.notify(zope.lifecycleevent.ObjectModifiedEvent(self))
 
     # private helper methods
     def _create(self, *args, **kw):
         """Create a new subobject of the type document."""
         factory = self._factory
         obj = factory(*args, **kw)
-        notify(ObjectCreatedEvent(obj))
+        zope.event.notify(zope.lifecycleevent.ObjectCreatedEvent(obj))
         return obj
 
     def _get(self, language):

Modified: z3c.language/trunk/src/z3c/language/switch/property.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/property.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/switch/property.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -20,7 +20,6 @@
 _marker = object()
 
 
-
 class I18nFieldProperty(object):
     """Computed attributes based on schema fields and i18n implementation.
 
@@ -64,7 +63,6 @@
         return getattr(self.__field, name)
 
 
-
 class I18nLanguageSwitchFieldProperty(object):
     """Computed attributes based on schema fields and i18n language switch implementation.
 

Modified: z3c.language/trunk/src/z3c/language/switch/testing.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/testing.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/switch/testing.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -38,7 +38,6 @@
     return list
 
 
-
 ################################################################################
 #
 # Public Test implementations
@@ -49,12 +48,10 @@
     """IContentObject interface."""
 
 
-
 class II18nContentObject(Interface):
     """II18nContentObject interface."""
 
 
-
 class ContentObject(object):
     """Content type."""
 
@@ -78,7 +75,6 @@
     title = property(getTitle, setTitle)
 
 
-
 class I18nContentObject(object):
     """i18n content type."""
 
@@ -174,7 +170,6 @@
         return language
 
 
-
 class I18nContentObjectLanguageSwitch(object):
     """Language switch for I18nContentObject."""
     
@@ -207,7 +202,6 @@
     title = property(getTitle, setTitle)
 
 
-
 ################################################################################
 #
 # Public Base Tests
@@ -270,7 +264,6 @@
         self.failUnless(verifyClass(II18n, class_))
 
 
-
 class BaseTestI18nLanguageSwitch(InterfaceBaseTest):
 
     def getTestClass(self):

Modified: z3c.language/trunk/src/z3c/language/switch/tests.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/tests.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/switch/tests.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -23,7 +23,6 @@
 from zope.testing import doctestunit
 
 
-
 def test_suite():
     return unittest.TestSuite((
         doctestunit.DocFileSuite('README.txt'),

Modified: z3c.language/trunk/src/z3c/language/switch/vocabulary.py
===================================================================
--- z3c.language/trunk/src/z3c/language/switch/vocabulary.py	2006-08-23 21:55:10 UTC (rev 69741)
+++ z3c.language/trunk/src/z3c/language/switch/vocabulary.py	2006-08-23 22:17:00 UTC (rev 69742)
@@ -17,8 +17,7 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.interface.declarations import implements
-from zope.interface import classProvides
+import zope.interface
 
 from zope.schema.interfaces import IVocabularyFactory
 from zope.schema.vocabulary import SimpleTerm
@@ -27,13 +26,12 @@
 from z3c.language.switch import IAvailableLanguagesVocabulary
 
 
-
 class AvailableLanguagesVocabulary(SimpleVocabulary):
     """A vocabular of available languages from the context object."""
 
-    implements(IAvailableLanguagesVocabulary)
+    zope.interface.implements(IAvailableLanguagesVocabulary)
 
-    classProvides(IVocabularyFactory)
+    zope.interface.classProvides(IVocabularyFactory)
 
     def __init__(self, context):
         terms = []
@@ -42,7 +40,7 @@
         # but just after creation of the object
         try:
             languages = context.getAvailableLanguages()
-        except:
+        except AttrbiteError:
             languages = []
 
         for lang in languages:



More information about the Checkins mailing list