[Checkins] SVN: zope.i18n/trunk/ - Drop support for Python 2.4 and 2.5.

Tres Seaver cvs-admin at zope.org
Thu May 17 21:50:39 UTC 2012


Log message for revision 125984:
  - Drop support for Python 2.4 and 2.5.
  
  - Replace deprecated 'zope.interface.implements' usage with equivalent
    'zope.interface.implementer' decorator.
  
  

Changed:
  U   zope.i18n/trunk/CHANGES.txt
  U   zope.i18n/trunk/setup.py
  U   zope.i18n/trunk/src/zope/i18n/__init__.py
  U   zope.i18n/trunk/src/zope/i18n/format.py
  U   zope.i18n/trunk/src/zope/i18n/gettextmessagecatalog.py
  U   zope.i18n/trunk/src/zope/i18n/locales/__init__.py
  U   zope.i18n/trunk/src/zope/i18n/locales/inheritance.py
  U   zope.i18n/trunk/src/zope/i18n/locales/provider.py
  U   zope.i18n/trunk/src/zope/i18n/negotiator.py
  U   zope.i18n/trunk/src/zope/i18n/simpletranslationdomain.py
  U   zope.i18n/trunk/src/zope/i18n/testmessagecatalog.py
  U   zope.i18n/trunk/src/zope/i18n/tests/test_itranslationdomain.py
  U   zope.i18n/trunk/src/zope/i18n/tests/test_negotiator.py
  U   zope.i18n/trunk/src/zope/i18n/tests/testi18nawareobject.py

-=-
Modified: zope.i18n/trunk/CHANGES.txt
===================================================================
--- zope.i18n/trunk/CHANGES.txt	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/CHANGES.txt	2012-05-17 21:50:32 UTC (rev 125984)
@@ -2,12 +2,15 @@
 CHANGES
 =======
 
-3.8.1 (unreleased)
+4.0.0 (unreleased)
 ------------------
 
-- Nothing changed yet.
+- Replaced deprecated ``zope.interface.implements`` usage with equivalent
+  ``zope.interface.implementer`` decorator.
 
+- Dropped support for Python 2.4 and 2.5.
 
+
 3.8.0 (2012-03-15)
 ------------------
 

Modified: zope.i18n/trunk/setup.py
===================================================================
--- zope.i18n/trunk/setup.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/setup.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -27,7 +27,7 @@
 
 setup(
     name='zope.i18n',
-    version='3.8.1dev',
+    version='4.0.0dev',
     author='Zope Foundation and Contributors',
     author_email='zope-dev at zope.org',
     description='Zope Internationalization Support',
@@ -45,6 +45,9 @@
         'Intended Audience :: Developers',
         'License :: OSI Approved :: Zope Public License',
         'Programming Language :: Python',
+        "Programming Language :: Python :: 2",
+        "Programming Language :: Python :: 2.6",
+        "Programming Language :: Python :: 2.7",
         'Natural Language :: English',
         'Operating System :: OS Independent',
         'Topic :: Internet :: WWW/HTTP',

Modified: zope.i18n/trunk/src/zope/i18n/__init__.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/__init__.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/__init__.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -53,8 +53,8 @@
     >>> from zope import component, interface
     >>> import zope.i18n.interfaces
 
-    >>> class TestDomain:
-    ...     interface.implements(zope.i18n.interfaces.ITranslationDomain)
+    >>> @interface.implementer(zope.i18n.interfaces.ITranslationDomain)
+    ... class TestDomain:
     ...
     ...     def __init__(self, **catalog):
     ...         self.catalog = catalog

Modified: zope.i18n/trunk/src/zope/i18n/format.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/format.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/format.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -23,7 +23,7 @@
 import pytz.reference
 
 from zope.i18n.interfaces import IDateTimeFormat, INumberFormat
-from zope.interface import implements
+from zope.interface import implementer
 
 
 def _findFormattingCharacterInPattern(char, pattern):
@@ -33,10 +33,10 @@
 class DateTimeParseError(Exception):
     """Error is raised when parsing of datetime failed."""
 
+ at implementer(IDateTimeFormat)
 class DateTimeFormat(object):
     __doc__ = IDateTimeFormat.__doc__
 
-    implements(IDateTimeFormat)
 
     _DATETIMECHARS = "aGyMdEDFwWhHmsSkKz"
 
@@ -199,10 +199,10 @@
     number parsing process."""
 
 
+ at implementer(INumberFormat)
 class NumberFormat(object):
     __doc__ = INumberFormat.__doc__
 
-    implements(INumberFormat)
 
     type = None
 

Modified: zope.i18n/trunk/src/zope/i18n/gettextmessagecatalog.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/gettextmessagecatalog.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/gettextmessagecatalog.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -15,7 +15,7 @@
 """
 from gettext import GNUTranslations
 from zope.i18n.interfaces import IGlobalMessageCatalog
-from zope.interface import implements
+from zope.interface import implementer
 
 
 class _KeyErrorRaisingFallback(object):
@@ -23,10 +23,10 @@
         raise KeyError(message)
 
 
+ at implementer(IGlobalMessageCatalog)
 class GettextMessageCatalog(object):
     """A message catalog based on GNU gettext and Python's gettext module."""
 
-    implements(IGlobalMessageCatalog)
 
     def __init__(self, language, domain, path_to_file):
         """Initialize the message catalog"""

Modified: zope.i18n/trunk/src/zope/i18n/locales/__init__.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/locales/__init__.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/locales/__init__.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -19,7 +19,7 @@
 from datetime import datetime, date
 from time import strptime
 
-from zope.interface import implements
+from zope.interface import implementer
 from zope.i18n.interfaces.locales import ILocale
 from zope.i18n.interfaces.locales import ILocaleDisplayNames, ILocaleDates
 from zope.i18n.interfaces.locales import ILocaleVersion, ILocaleIdentity
@@ -73,6 +73,7 @@
                    'islamic-civil': ('civil-arabic',),
                    'buddhist': ('thai-buddhist', )}
 
+ at implementer(ILocaleIdentity)
 class LocaleIdentity(object):
     """Represents a unique identification of the locale
 
@@ -100,7 +101,6 @@
       >>> id
       <LocaleIdentity (en, None, US, POSIX)>
     """
-    implements(ILocaleIdentity)
 
     def __init__(self, language=None, script=None, territory=None, variant=None):
         """Initialize object."""
@@ -116,6 +116,7 @@
             self.language, self.script, self.territory, self.variant)
 
 
+ at implementer(ILocaleVersion)
 class LocaleVersion(object):
     """Represents a particular version of a locale
 
@@ -140,7 +141,6 @@
       1
 
     """
-    implements(ILocaleVersion)
 
     def __init__(self, number, generationDate, notes):
         """Initialize object."""
@@ -155,6 +155,7 @@
                    (other.generationDate, other.number))
 
 
+ at implementer(ILocaleDisplayNames)
 class LocaleDisplayNames(AttributeInheritance):
     """Locale display names with inheritable data.
 
@@ -178,9 +179,9 @@
       >>> locale.displayNames.keys
       ['fu', 'bahr']
     """
-    implements(ILocaleDisplayNames)
 
 
+ at implementer(ILocaleTimeZone)
 class LocaleTimeZone(object):
     """Specifies one of the timezones of a specific locale.
 
@@ -199,7 +200,6 @@
       >>> tz.cities
       ['Berlin']
     """
-    implements(ILocaleTimeZone)
 
     def __init__(self, type):
         """Initialize the object."""
@@ -208,6 +208,7 @@
         self.names = {}
 
 
+ at implementer(ILocaleFormat)
 class LocaleFormat(object):
     """Specifies one of the format of a specific format length.
 
@@ -216,7 +217,6 @@
     itself is often not useful, since other calendar data is required to use
     the specified pattern for formatting and parsing.
     """
-    implements(ILocaleFormat)
 
     def __init__(self, type=None):
         """Initialize the object."""
@@ -225,11 +225,11 @@
         self.pattern = u''
 
 
+ at implementer(ILocaleFormatLength)
 class LocaleFormatLength(AttributeInheritance):
     """Specifies one of the format lengths of a specific quantity, like
     numbers, dates, times and datetimes."""
 
-    implements(ILocaleFormatLength)
 
     def __init__(self, type=None):
         """Initialize the object."""
@@ -237,26 +237,25 @@
         self.default = None
 
 
+ at implementer(ILocaleMonthContext)
 class LocaleMonthContext(AttributeInheritance):
 
-    implements(ILocaleMonthContext)
-
     def __init__(self, type=None):
         """Initialize the object."""
         self.type = type
         self.default = u'wide'
 
 
+ at implementer(ILocaleDayContext)
 class LocaleDayContext(AttributeInheritance):
 
-    implements(ILocaleDayContext)
-
     def __init__(self, type=None):
         """Initialize the object."""
         self.type = type
         self.default = u'wide'
 
 
+ at implementer(ILocaleCalendar)
 class LocaleCalendar(AttributeInheritance):
     """Represents locale data for a calendar, like 'gregorian'.
 
@@ -321,7 +320,6 @@
       >>> locale.am
       u'AM'
     """
-    implements(ILocaleCalendar)
 
     def __init__(self, type):
         """Initialize the object."""
@@ -379,6 +377,7 @@
         return self.days[dayMapping[self.week['firstDay']]][0]
 
 
+ at implementer(ILocaleDates)
 class LocaleDates(AttributeInheritance):
     """Simple ILocaleDates implementation that can inherit data from other
     locales.
@@ -476,7 +475,6 @@
       ValueError: Invalid calendar: irish-catholic
 
     """
-    implements(ILocaleDates)
 
     def getFormatter(self, category, length=None, name=None,
                      calendar=u'gregorian'):
@@ -524,10 +522,10 @@
         return DateTimeFormat(pattern, cal)
 
 
+ at implementer(ILocaleCurrency)
 class LocaleCurrency(object):
     """Simple implementation of ILocaleCurrency without inheritance support,
     since it is not needed for a single currency."""
-    implements(ILocaleCurrency)
 
     def __init__(self, type):
         """Initialize object."""
@@ -537,6 +535,7 @@
         self.displayName = None
 
 
+ at implementer(ILocaleNumbers)
 class LocaleNumbers(AttributeInheritance):
     """Implementation of ILocaleCurrency including inheritance support.
 
@@ -611,7 +610,6 @@
       u'123%'
 
     """
-    implements(ILocaleNumbers)
 
     def getFormatter(self, category, length=None, name=None):
         """See zope.i18n.interfaces.locales.ILocaleNumbers"""
@@ -634,14 +632,14 @@
         return NumberFormat(format.pattern, self.symbols)
 
 
+ at implementer(ILocaleOrientation)
 class LocaleOrientation(AttributeInheritance):
     """Implementation of ILocaleOrientation
     """
-    implements(ILocaleOrientation)
 
+ at implementer(ILocale)
 class Locale(AttributeInheritance):
     """Implementation of the ILocale interface."""
-    implements(ILocale)
 
     def __init__(self, id):
         self.id = id

Modified: zope.i18n/trunk/src/zope/i18n/locales/inheritance.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/locales/inheritance.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/locales/inheritance.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -20,13 +20,14 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.interface import implements
+from zope.interface import implementer
 from zope.i18n.interfaces.locales import \
      ILocaleInheritance, IAttributeInheritance, IDictionaryInheritance
 
 class NoParentException(AttributeError):
     pass
 
+ at implementer(ILocaleInheritance)
 class Inheritance(object):
     """A simple base version of locale inheritance.
 
@@ -34,7 +35,6 @@
     'ILocaleInheritance' implementations.
     """
 
-    implements(ILocaleInheritance)
 
     # See zope.i18n.interfaces.locales.ILocaleInheritance
     __parent__ = None
@@ -52,6 +52,7 @@
         return getattr(parent, self.__name__)
 
 
+ at implementer(IAttributeInheritance)
 class AttributeInheritance(Inheritance):
     r"""Implementation of locale inheritance for attributes.
 
@@ -97,7 +98,6 @@
       True
     """
 
-    implements(IAttributeInheritance)
 
     def __setattr__(self, name, value):
         """See zope.i18n.interfaces.locales.ILocaleInheritance"""
@@ -133,6 +133,7 @@
 
 
 
+ at implementer(IDictionaryInheritance)
 class InheritingDictionary(Inheritance, dict):
     """Implementation of a dictionary that can also inherit values.
 
@@ -179,7 +180,6 @@
       [(1, 'eins'), (2, 'two'), (3, 'three')]
     """
 
-    implements(IDictionaryInheritance)
 
     def __setitem__(self, name, value):
         """See zope.i18n.interfaces.locales.ILocaleInheritance"""

Modified: zope.i18n/trunk/src/zope/i18n/locales/provider.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/locales/provider.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/locales/provider.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -17,17 +17,17 @@
 necessary.
 """
 import os
-from zope.interface import implements
+from zope.interface import implementer
 from zope.i18n.interfaces.locales import ILocaleProvider
 
 class LoadLocaleError(Exception):
     """This error is raised if a locale cannot be loaded."""
 
 
+ at implementer(ILocaleProvider)
 class LocaleProvider(object):
     """A locale provider that get's its data from the XML data."""
 
-    implements(ILocaleProvider)
 
     def __init__(self, locale_dir):
         self._locales = {}

Modified: zope.i18n/trunk/src/zope/i18n/negotiator.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/negotiator.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/negotiator.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -13,7 +13,7 @@
 ##############################################################################
 """Language Negotiator
 """
-from zope.interface import implements
+from zope.interface import implementer
 
 from zope.i18n.interfaces import INegotiator
 from zope.i18n.interfaces import IUserPreferredLanguages
@@ -32,8 +32,8 @@
         n_langs[normalize_lang(l)] = l
     return n_langs
 
+ at implementer(INegotiator)
 class Negotiator(object):
-    implements(INegotiator)
 
     def getLanguage(self, langs, env):
         envadapter = IUserPreferredLanguages(env)

Modified: zope.i18n/trunk/src/zope/i18n/simpletranslationdomain.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/simpletranslationdomain.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/simpletranslationdomain.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -13,12 +13,13 @@
 ##############################################################################
 """This is a simple implementation of the ITranslationDomain interface.
 """
-from zope.interface import implements
+from zope.interface import implementer
 from zope.component import getUtility
 from zope.i18n.interfaces import ITranslationDomain, INegotiator
 from zope.i18n import interpolate
 
 
+ at implementer(ITranslationDomain)
 class SimpleTranslationDomain(object):
     """This is the simplest implementation of the ITranslationDomain I
        could come up with.
@@ -31,7 +32,6 @@
 
        Note: This Translation Domain does not use message catalogs.
     """
-    implements(ITranslationDomain)
 
     # See zope.i18n.interfaces.ITranslationDomain
     domain = None

Modified: zope.i18n/trunk/src/zope/i18n/testmessagecatalog.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/testmessagecatalog.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/testmessagecatalog.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -14,12 +14,12 @@
 """Test message catalog
 """
 
-from zope import component, interface
+from zope import interface
 import zope.i18n.interfaces
 from zope.i18n.translationdomain import TranslationDomain
 
+ at interface.implementer(zope.i18n.interfaces.IGlobalMessageCatalog)
 class TestMessageCatalog:
-    interface.implements(zope.i18n.interfaces.IGlobalMessageCatalog)
 
     language = 'test'
 

Modified: zope.i18n/trunk/src/zope/i18n/tests/test_itranslationdomain.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/tests/test_itranslationdomain.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/tests/test_itranslationdomain.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -15,7 +15,7 @@
 """
 import unittest
 from zope.interface.verify import verifyObject
-from zope.interface import implements
+from zope.interface import implementer
 
 import zope.component
 from zope.component.testing import PlacelessSetup
@@ -25,9 +25,9 @@
 from zope.i18n.interfaces import ITranslationDomain
 
 
+ at implementer(IUserPreferredLanguages)
 class Environment(object):
 
-    implements(IUserPreferredLanguages)
 
     def __init__(self, langs=()):
         self.langs = langs

Modified: zope.i18n/trunk/src/zope/i18n/tests/test_negotiator.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/tests/test_negotiator.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/tests/test_negotiator.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -18,10 +18,10 @@
 from zope.i18n.negotiator import Negotiator
 from zope.i18n.interfaces import IUserPreferredLanguages
 from zope.component.testing import PlacelessSetup
-from zope.interface import implements
+from zope.interface import implementer
 
+ at implementer(IUserPreferredLanguages)
 class Env(object):
-    implements(IUserPreferredLanguages)
 
     def __init__(self, langs=()):
         self.langs = langs

Modified: zope.i18n/trunk/src/zope/i18n/tests/testi18nawareobject.py
===================================================================
--- zope.i18n/trunk/src/zope/i18n/tests/testi18nawareobject.py	2012-05-17 21:48:21 UTC (rev 125983)
+++ zope.i18n/trunk/src/zope/i18n/tests/testi18nawareobject.py	2012-05-17 21:50:32 UTC (rev 125984)
@@ -17,13 +17,12 @@
 
 from zope.i18n.interfaces import II18nAware
 from zope.i18n.tests.testii18naware import TestII18nAware
-from zope.interface import implements
+from zope.interface import implementer
 
 
+ at implementer(II18nAware)
 class I18nAwareContentObject(object):
 
-    implements(II18nAware)
-
     def __init__(self):
         self.content = {}
         self.defaultLanguage = 'en'



More information about the checkins mailing list