[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - silenced Python 2.7 warnings

Yvo Schubbe cvs-admin at zope.org
Tue Jul 10 06:29:28 UTC 2012


Log message for revision 127291:
  - silenced Python 2.7 warnings

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_utils.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/utils.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py	2012-07-10 06:26:02 UTC (rev 127290)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/folder.py	2012-07-10 06:29:24 UTC (rev 127291)
@@ -12,6 +12,8 @@
 ##############################################################################
 """Browser views for folders.
 """
+
+import sys
 import urllib
 
 from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
@@ -204,7 +206,10 @@
     @memoize
     def summary_length(self):
         length = self._getBatchObj().sequence_length
-        return length and thousands_commas(length) or ''
+        if sys.version_info < (2, 7):
+            # BBB: for Python 2.6
+            return length and thousands_commas(length) or ''
+        return length and '{:,}'.format(length) or ''
 
     @memoize
     def summary_type(self):

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_utils.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_utils.py	2012-07-10 06:26:02 UTC (rev 127290)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_utils.py	2012-07-10 06:29:24 UTC (rev 127291)
@@ -15,7 +15,10 @@
 
 import unittest
 
+import sys
+import warnings
 
+
 class DefaultUtilsTests(unittest.TestCase):
 
     COMMON_HEADERS = '''Author: Tres Seaver
@@ -321,12 +324,21 @@
 
     def test_thousand_commas_integer(self):
         from Products.CMFDefault.utils import thousands_commas as FUT
-        self.assertEqual(FUT(1), '1')
-        self.assertEqual(FUT(10), '10')
-        self.assertEqual(FUT(100), '100')
-        self.assertEqual(FUT(1000), '1,000')
-        self.assertEqual(FUT(1000000), ('1,000,000'))
 
+        with warnings.catch_warnings(record=True) as w:
+            warnings.simplefilter('always')
+            self.assertEqual(FUT(1), '1')
+            self.assertEqual(FUT(10), '10')
+            self.assertEqual(FUT(100), '100')
+            self.assertEqual(FUT(1000), '1,000')
+            self.assertEqual(FUT(1000000), ('1,000,000'))
+            if sys.version_info >= (2, 7):
+                self.assertEqual(len(w), 5)
+                self.assertTrue(issubclass(w[-1].category, DeprecationWarning))
+                self.assertTrue(
+                    'On Python 2.7 and higher Use {:,}.formatting'
+                    in str(w[-1].message))
+
     def test_thousand_commas_string(self):
         from Products.CMFDefault.utils import thousands_commas as FUT
         self.assertRaises(ValueError, FUT, "a")

Modified: Products.CMFDefault/trunk/Products/CMFDefault/utils.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/utils.py	2012-07-10 06:26:02 UTC (rev 127290)
+++ Products.CMFDefault/trunk/Products/CMFDefault/utils.py	2012-07-10 06:29:24 UTC (rev 127291)
@@ -550,8 +550,7 @@
 def thousands_commas(value):
     """Format an integer with commas as thousand separator"""
     i = int(value)
-    if sys.version_info[0] > 2 \
-       or (sys.version_info[0] == 2 and sys.version_info[1] > 6):
+    if sys.version_info >= (2, 7):
         warn("On Python 2.7 and higher Use {:,}.formatting",
              DeprecationWarning,
              stacklevel=2)



More information about the checkins mailing list