]> granicus.if.org Git - python/commitdiff
Merged revisions 77310-77311 via svnmerge from
authorEzio Melotti <ezio.melotti@gmail.com>
Mon, 2 Aug 2010 00:24:26 +0000 (00:24 +0000)
committerEzio Melotti <ezio.melotti@gmail.com>
Mon, 2 Aug 2010 00:24:26 +0000 (00:24 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77310 | antoine.pitrou | 2010-01-05 01:22:44 +0200 (Tue, 05 Jan 2010) | 4 lines

  Issue #7092: Fix the DeprecationWarnings emitted by the standard library
  when using the -3 flag.  Patch by Florent Xicluna.
........
  r77311 | antoine.pitrou | 2010-01-05 01:28:16 +0200 (Tue, 05 Jan 2010) | 3 lines

  Kill a couple of "<>"
........

19 files changed:
Lib/binhex.py
Lib/bsddb/__init__.py
Lib/compiler/ast.py
Lib/compiler/pycodegen.py
Lib/dbhash.py
Lib/email/test/test_email.py
Lib/email/test/test_email_renamed.py
Lib/formatter.py
Lib/imputil.py
Lib/mailbox.py
Lib/pprint.py
Lib/pstats.py
Lib/sets.py
Lib/sunau.py
Lib/test/test_wsgiref.py
Lib/wave.py
Lib/webbrowser.py
Misc/NEWS
Tools/compiler/astgen.py

index 9059880e24e5aac9f345d7adde45074f1a9b6fad..bd4e8b3015b5b354be8071b2668ad7b1fe7112e6 100644 (file)
@@ -170,7 +170,8 @@ class _Rlecoderengine:
         del self.ofp
 
 class BinHex:
-    def __init__(self, (name, finfo, dlen, rlen), ofp):
+    def __init__(self, name_finfo_dlen_rlen, ofp):
+        name, finfo, dlen, rlen = name_finfo_dlen_rlen
         if type(ofp) == type(''):
             ofname = ofp
             ofp = open(ofname, 'w')
index 0af679f730ff19be931a0d94b49bf3e4dac3fc75..07c7c9de564d74c85551572b9552e07f7693b703 100644 (file)
@@ -44,7 +44,7 @@ absolute_import = (sys.version_info[0] >= 3)
 
 if sys.py3kwarning:
     import warnings
-    warnings.warnpy3k("in 3.x, bsddb has been removed; "
+    warnings.warnpy3k("in 3.x, the bsddb module has been removed; "
                       "please use the pybsddb project instead",
                       DeprecationWarning, 2)
 
index 43b165987877b934cc1a6c60c46592d6d70ad86c..f92307759ef9358a9a92a4d595a322ef50044fb2 100644 (file)
@@ -51,9 +51,9 @@ class Expression(Node):
         return "Expression(%s)" % (repr(self.node))
 
 class Add(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
@@ -431,9 +431,9 @@ class Discard(Node):
         return "Discard(%s)" % (repr(self.expr),)
 
 class Div(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
@@ -485,9 +485,9 @@ class Exec(Node):
         return "Exec(%s, %s, %s)" % (repr(self.expr), repr(self.locals), repr(self.globals))
 
 class FloorDiv(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
@@ -560,7 +560,6 @@ class Function(Node):
             self.kwargs = 1
 
 
-
     def getChildren(self):
         children = []
         children.append(self.decorators)
@@ -590,6 +589,7 @@ class GenExpr(Node):
         self.argnames = ['.0']
         self.varargs = self.kwargs = None
 
+
     def getChildren(self):
         return self.code,
 
@@ -607,7 +607,6 @@ class GenExprFor(Node):
         self.lineno = lineno
         self.is_outmost = False
 
-
     def getChildren(self):
         children = []
         children.append(self.assign)
@@ -784,7 +783,6 @@ class Lambda(Node):
             self.kwargs = 1
 
 
-
     def getChildren(self):
         children = []
         children.append(self.argnames)
@@ -803,9 +801,9 @@ class Lambda(Node):
         return "Lambda(%s, %s, %s, %s)" % (repr(self.argnames), repr(self.defaults), repr(self.flags), repr(self.code))
 
 class LeftShift(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
@@ -893,9 +891,9 @@ class ListCompIf(Node):
         return "ListCompIf(%s)" % (repr(self.test),)
 
 class Mod(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
@@ -923,9 +921,9 @@ class Module(Node):
         return "Module(%s, %s)" % (repr(self.doc), repr(self.node))
 
 class Mul(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
@@ -995,9 +993,9 @@ class Pass(Node):
         return "Pass()"
 
 class Power(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
@@ -1095,9 +1093,9 @@ class Return(Node):
         return "Return(%s)" % (repr(self.value),)
 
 class RightShift(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
@@ -1170,9 +1168,9 @@ class Stmt(Node):
         return "Stmt(%s)" % (repr(self.nodes),)
 
 class Sub(Node):
-    def __init__(self, (left, right), lineno=None):
-        self.left = left
-        self.right = right
+    def __init__(self, leftright, lineno=None):
+        self.left = leftright[0]
+        self.right = leftright[1]
         self.lineno = lineno
 
     def getChildren(self):
index 61b9fe9bb6edc62375886b334cadfcd96e8a4e63..17a8f4a388e2d0c5af7292c0fd8683bebe54e118 100644 (file)
@@ -900,10 +900,10 @@ class CodeGenerator:
         level = node.level
         if level == 0 and not self.graph.checkFlag(CO_FUTURE_ABSIMPORT):
             level = -1
-        fromlist = map(lambda (name, alias): name, node.names)
+        fromlist = tuple(name for (name, alias) in node.names)
         if VERSION > 1:
             self.emit('LOAD_CONST', level)
-            self.emit('LOAD_CONST', tuple(fromlist))
+            self.emit('LOAD_CONST', fromlist)
         self.emit('IMPORT_NAME', node.modname)
         for name, alias in node.names:
             if VERSION > 1:
index 5ca0bc1913af7741b245cd54bf4744198d40c7ef..77a878e964b8d522af9f75a643e4de99b63fca7d 100644 (file)
@@ -3,7 +3,7 @@
 import sys
 if sys.py3kwarning:
     import warnings
-    warnings.warnpy3k("in 3.x, dbhash has been removed", DeprecationWarning, 2)
+    warnings.warnpy3k("in 3.x, the dbhash module has been removed", DeprecationWarning, 2)
 try:
     import bsddb
 except ImportError:
index 9b1287747a4b8fe05da2c1e73fa82dfba744e5fa..5458e718d8312618228c32150bac9868e7991d20 100644 (file)
@@ -51,7 +51,7 @@ def openfile(filename, mode='r'):
 class TestEmailBase(unittest.TestCase):
     def ndiffAssertEqual(self, first, second):
         """Like failUnlessEqual except use ndiff for readable output."""
-        if first <> second:
+        if first != second:
             sfirst = str(first)
             ssecond = str(second)
             diff = difflib.ndiff(sfirst.splitlines(), ssecond.splitlines())
@@ -2857,7 +2857,7 @@ class TestCharset(unittest.TestCase):
         # Try a charset with None body encoding
         c = Charset('us-ascii')
         eq('hello world', c.body_encode('hello world'))
-        # Try the convert argument, where input codec <> output codec
+        # Try the convert argument, where input codec != output codec
         c = Charset('euc-jp')
         # With apologies to Tokio Kikuchi ;)
         try:
index 37ce7af26fb584fa97da7c3b8bfb86f96972b3ce..307501f5f489479babc2901e15aec84fa26c8486 100644 (file)
@@ -52,7 +52,7 @@ def openfile(filename, mode='r'):
 class TestEmailBase(unittest.TestCase):
     def ndiffAssertEqual(self, first, second):
         """Like failUnlessEqual except use ndiff for readable output."""
-        if first <> second:
+        if first != second:
             sfirst = str(first)
             ssecond = str(second)
             diff = difflib.ndiff(sfirst.splitlines(), ssecond.splitlines())
@@ -2761,7 +2761,7 @@ class TestCharset(unittest.TestCase):
         # Try a charset with None body encoding
         c = Charset('us-ascii')
         eq('hello world', c.body_encode('hello world'))
-        # Try the convert argument, where input codec <> output codec
+        # Try the convert argument, where input codec != output codec
         c = Charset('euc-jp')
         # With apologies to Tokio Kikuchi ;)
         try:
index 834b5601d30ac822bee19375b8ff9140f88b4fb6..e0a8fe10b22323618ca030d984ba0230c18e8593 100644 (file)
@@ -228,7 +228,8 @@ class AbstractFormatter:
             self.align = None
             self.writer.new_alignment(None)
 
-    def push_font(self, (size, i, b, tt)):
+    def push_font(self, font):
+        size, i, b, tt = font
         if self.softspace:
             self.hard_break = self.para_end = self.softspace = 0
             self.nospace = 1
index 8b37ef4f78cd772cf34e029aa3eb6a99fb428e44..e1d0a8222aee550dbe41393b6e9d364c841c78c8 100644 (file)
@@ -281,7 +281,8 @@ class Importer:
             setattr(parent, modname, module)
         return module
 
-    def _process_result(self, (ispkg, code, values), fqname):
+    def _process_result(self, result, fqname):
+        ispkg, code, values = result
         # did get_code() return an actual module? (rather than a code object)
         is_module = isinstance(code, _ModuleType)
 
index 7e0689c48830619892023e61f93ef72686bb4b77..8b18010e20bb47b1f5c15808a169e57caa4fdda0 100644 (file)
@@ -18,7 +18,6 @@ import copy
 import email
 import email.message
 import email.generator
-import rfc822
 import StringIO
 try:
     if sys.platform == 'os2emx':
@@ -28,6 +27,13 @@ try:
 except ImportError:
     fcntl = None
 
+import warnings
+with warnings.catch_warnings():
+    if sys.py3kwarning:
+        warnings.filterwarnings("ignore", ".*rfc822 has been removed",
+                                DeprecationWarning)
+    import rfc822
+
 __all__ = [ 'Mailbox', 'Maildir', 'mbox', 'MH', 'Babyl', 'MMDF',
             'Message', 'MaildirMessage', 'mboxMessage', 'MHMessage',
             'BabylMessage', 'MMDFMessage', 'UnixMailbox',
index c48465b8d5855304de91697ef9065e4843bcdfa3..910283e60913e3c209d0d9d4ed799796155bad31 100644 (file)
@@ -35,6 +35,7 @@ saferepr()
 """
 
 import sys as _sys
+import warnings
 
 from cStringIO import StringIO as _StringIO
 
@@ -70,6 +71,13 @@ def isrecursive(object):
     """Determine if object requires a recursive representation."""
     return _safe_repr(object, {}, None, 0)[2]
 
+def _sorted(iterable):
+    with warnings.catch_warnings():
+        if _sys.py3kwarning:
+            warnings.filterwarnings("ignore", "comparing unequal types "
+                                    "not supported", DeprecationWarning)
+        return sorted(iterable)
+
 class PrettyPrinter:
     def __init__(self, indent=1, width=80, depth=None, stream=None):
         """Handle pretty printing operations onto a stream using a set of
@@ -144,8 +152,7 @@ class PrettyPrinter:
             if length:
                 context[objid] = 1
                 indent = indent + self._indent_per_level
-                items  = object.items()
-                items.sort()
+                items = _sorted(object.items())
                 key, ent = items[0]
                 rep = self._repr(key, context, level)
                 write(rep)
@@ -181,7 +188,7 @@ class PrettyPrinter:
                     return
                 write('set([')
                 endchar = '])'
-                object = sorted(object)
+                object = _sorted(object)
                 indent += 4
             elif issubclass(typ, frozenset):
                 if not length:
@@ -189,7 +196,7 @@ class PrettyPrinter:
                     return
                 write('frozenset([')
                 endchar = '])'
-                object = sorted(object)
+                object = _sorted(object)
                 indent += 10
             else:
                 write('(')
@@ -274,7 +281,7 @@ def _safe_repr(object, context, maxlevels, level):
         append = components.append
         level += 1
         saferepr = _safe_repr
-        for k, v in sorted(object.items()):
+        for k, v in _sorted(object.items()):
             krepr, kreadable, krecur = saferepr(k, context, maxlevels, level)
             vrepr, vreadable, vrecur = saferepr(v, context, maxlevels, level)
             append("%s: %s" % (krepr, vrepr))
index 08f2318eadfd0b241bd5149b07c74b1a8e79f0df..30ac3dd940287f51c7d443b3371f62613860ad8c 100644 (file)
@@ -442,12 +442,12 @@ class Stats:
         if nc == 0:
             print >> self.stream, ' '*8,
         else:
-            print >> self.stream, f8(tt/nc),
+            print >> self.stream, f8(float(tt)/nc),
         print >> self.stream, f8(ct),
         if cc == 0:
             print >> self.stream, ' '*8,
         else:
-            print >> self.stream, f8(ct/cc),
+            print >> self.stream, f8(float(ct)/cc),
         print >> self.stream, func_std_string(func)
 
 class TupleComp:
index b1743da84473a87d45459141910cfb1e3aa350ff..fe31a0b7e979ca8aa67a4ca7c41b04318b5e69df 100644 (file)
@@ -54,29 +54,7 @@ what's tested is actually `z in y'.
 # - Raymond Hettinger added a number of speedups and other
 #   improvements.
 
-from __future__ import generators
-try:
-    from itertools import ifilter, ifilterfalse
-except ImportError:
-    # Code to make the module run under Py2.2
-    def ifilter(predicate, iterable):
-        if predicate is None:
-            def predicate(x):
-                return x
-        for x in iterable:
-            if predicate(x):
-                yield x
-    def ifilterfalse(predicate, iterable):
-        if predicate is None:
-            def predicate(x):
-                return x
-        for x in iterable:
-            if not predicate(x):
-                yield x
-    try:
-        True, False
-    except NameError:
-        True, False = (0==0, 0!=0)
+from itertools import ifilter, ifilterfalse
 
 __all__ = ['BaseSet', 'Set', 'ImmutableSet']
 
@@ -235,7 +213,7 @@ class BaseSet(object):
             little, big = self, other
         else:
             little, big = other, self
-        common = ifilter(big._data.has_key, little)
+        common = ifilter(big._data.__contains__, little)
         return self.__class__(common)
 
     def __xor__(self, other):
@@ -260,9 +238,9 @@ class BaseSet(object):
             otherdata = other._data
         except AttributeError:
             otherdata = Set(other)._data
-        for elt in ifilterfalse(otherdata.has_key, selfdata):
+        for elt in ifilterfalse(otherdata.__contains__, selfdata):
             data[elt] = value
-        for elt in ifilterfalse(selfdata.has_key, otherdata):
+        for elt in ifilterfalse(selfdata.__contains__, otherdata):
             data[elt] = value
         return result
 
@@ -287,7 +265,7 @@ class BaseSet(object):
         except AttributeError:
             otherdata = Set(other)._data
         value = True
-        for elt in ifilterfalse(otherdata.has_key, self):
+        for elt in ifilterfalse(otherdata.__contains__, self):
             data[elt] = value
         return result
 
@@ -313,7 +291,7 @@ class BaseSet(object):
         self._binary_sanity_check(other)
         if len(self) > len(other):  # Fast check for obvious cases
             return False
-        for elt in ifilterfalse(other._data.has_key, self):
+        for elt in ifilterfalse(other._data.__contains__, self):
             return False
         return True
 
@@ -322,7 +300,7 @@ class BaseSet(object):
         self._binary_sanity_check(other)
         if len(self) < len(other):  # Fast check for obvious cases
             return False
-        for elt in ifilterfalse(self._data.has_key, other):
+        for elt in ifilterfalse(self._data.__contains__, other):
             return False
         return True
 
@@ -338,6 +316,9 @@ class BaseSet(object):
         self._binary_sanity_check(other)
         return len(self) > len(other) and self.issuperset(other)
 
+    # We inherit object.__hash__, so we must deny this explicitly
+    __hash__ = None
+
     # Assorted helpers
 
     def _binary_sanity_check(self, other):
@@ -439,9 +420,6 @@ class Set(BaseSet):
     def __setstate__(self, data):
         self._data, = data
 
-    # We inherit object.__hash__, so we must deny this explicitly
-    __hash__ = None
-
     # In-place union, intersection, differences.
     # Subtle:  The xyz_update() functions deliberately return None,
     # as do all mutating operations on built-in container types.
@@ -503,7 +481,7 @@ class Set(BaseSet):
             other = Set(other)
         if self is other:
             self.clear()
-        for elt in ifilter(data.has_key, other):
+        for elt in ifilter(data.__contains__, other):
             del data[elt]
 
     # Python dict-like mass mutations: update, clear
index 0a402955bd68040eba632692878e1313ccae5c55..a04d8c01314bbca01df5f5aaa0a0ed1f540736b6 100644 (file)
@@ -364,7 +364,8 @@ class Au_write:
         else:
             return 'not compressed'
 
-    def setparams(self, (nchannels, sampwidth, framerate, nframes, comptype, compname)):
+    def setparams(self, params):
+        nchannels, sampwidth, framerate, nframes, comptype, compname = params
         self.setnchannels(nchannels)
         self.setsampwidth(sampwidth)
         self.setframerate(framerate)
index 06591ad4361695c9d720d27f9a874c1543d7173a..1f46a3e8522853088e8d7d05b94226ed5d8be302 100755 (executable)
@@ -523,7 +523,8 @@ class HandlerTests(TestCase):
             "Content-Length: %d\r\n"
             "\r\n%s" % (h.error_status,len(h.error_body),h.error_body))
 
-        self.failUnless(h.stderr.getvalue().find("AssertionError")<>-1)
+        self.assertTrue("AssertionError" in h.stderr.getvalue(),
+                        "AssertionError not in stderr")
 
     def testErrorAfterOutput(self):
         MSG = "Some output has been sent"
@@ -536,7 +537,8 @@ class HandlerTests(TestCase):
         self.assertEqual(h.stdout.getvalue(),
             "Status: 200 OK\r\n"
             "\r\n"+MSG)
-        self.failUnless(h.stderr.getvalue().find("AssertionError")<>-1)
+        self.assertTrue("AssertionError" in h.stderr.getvalue(),
+                        "AssertionError not in stderr")
 
 
     def testHeaderFormats(self):
index b993b400c2ca5d6e0221d754b1d2d3c110458672..718e1eb1c7142ac26f38e03abd6d283bc2387a08 100644 (file)
@@ -384,7 +384,8 @@ class Wave_write:
     def getcompname(self):
         return self._compname
 
-    def setparams(self, (nchannels, sampwidth, framerate, nframes, comptype, compname)):
+    def setparams(self, params):
+        nchannels, sampwidth, framerate, nframes, comptype, compname = params
         if self._datawritten:
             raise Error, 'cannot change parameters after starting to write'
         self.setnchannels(nchannels)
index 5cc065308f6e7fe4f7cd1a270b2ea715a1b32a02..5a07ffc2056ab18924d6042cf888e0483dffd92f 100644 (file)
@@ -650,7 +650,7 @@ def main():
     for o, a in opts:
         if o == '-n': new_win = 1
         elif o == '-t': new_win = 2
-    if len(args) <> 1:
+    if len(args) != 1:
         print >>sys.stderr, usage
         sys.exit(1)
 
index 68fabc163570bcfd0b8e412fdf2279f17d9e592a..0727065731cc5cd88254055969f6fc5d8fc163f8 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -89,6 +89,9 @@ C-API
 Library
 -------
 
+- Issue #7092: Fix the DeprecationWarnings emitted by the standard library
+  when using the -3 flag.  Patch by Florent Xicluna.
+
 - Issue #7395: Fix tracebacks in pstats interactive browser.
 
 - Issue #1713: Fix os.path.ismount(), which returned true for symbolic links
index c431d226b9d5f202881029a55358f35aa2a953a8..1724276add7cb01e0c2c02e00690d18544141128 100644 (file)
@@ -105,12 +105,18 @@ class NodeInfo:
 
     def _gen_init(self, buf):
         if self.args:
-            print >> buf, "    def __init__(self, %s, lineno=None):" % self.args
+            argtuple = '(' in self.args
+            args = self.args if not argtuple else ''.join(self.argnames)
+            print >> buf, "    def __init__(self, %s, lineno=None):" % args
         else:
             print >> buf, "    def __init__(self, lineno=None):"
         if self.argnames:
-            for name in self.argnames:
-                print >> buf, "        self.%s = %s" % (name, name)
+            if argtuple:
+                for idx, name in enumerate(self.argnames):
+                    print >> buf, "        self.%s = %s[%s]" % (name, args, idx)
+            else:
+                for name in self.argnames:
+                    print >> buf, "        self.%s = %s" % (name, name)
         print >> buf, "        self.lineno = lineno"
         # Copy the lines in self.init, indented four spaces.  The rstrip()
         # business is to get rid of the four spaces if line happens to be