Merged revisions 77310-77311 via svnmerge from
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 "<>"
........
diff --git a/Lib/binhex.py b/Lib/binhex.py
index 9059880..bd4e8b3 100644
--- a/Lib/binhex.py
+++ b/Lib/binhex.py
@@ -170,7 +170,8 @@
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')
diff --git a/Lib/bsddb/__init__.py b/Lib/bsddb/__init__.py
index 0af679f..07c7c9d 100644
--- a/Lib/bsddb/__init__.py
+++ b/Lib/bsddb/__init__.py
@@ -44,7 +44,7 @@
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)
diff --git a/Lib/compiler/ast.py b/Lib/compiler/ast.py
index 43b1659..f923077 100644
--- a/Lib/compiler/ast.py
+++ b/Lib/compiler/ast.py
@@ -51,9 +51,9 @@
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 @@
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 @@
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 @@
self.kwargs = 1
-
def getChildren(self):
children = []
children.append(self.decorators)
@@ -590,6 +589,7 @@
self.argnames = ['.0']
self.varargs = self.kwargs = None
+
def getChildren(self):
return self.code,
@@ -607,7 +607,6 @@
self.lineno = lineno
self.is_outmost = False
-
def getChildren(self):
children = []
children.append(self.assign)
@@ -784,7 +783,6 @@
self.kwargs = 1
-
def getChildren(self):
children = []
children.append(self.argnames)
@@ -803,9 +801,9 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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):
diff --git a/Lib/compiler/pycodegen.py b/Lib/compiler/pycodegen.py
index 61b9fe9..17a8f4a 100644
--- a/Lib/compiler/pycodegen.py
+++ b/Lib/compiler/pycodegen.py
@@ -900,10 +900,10 @@
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:
diff --git a/Lib/dbhash.py b/Lib/dbhash.py
index 5ca0bc1..77a878e 100644
--- a/Lib/dbhash.py
+++ b/Lib/dbhash.py
@@ -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:
diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py
index 9b12877..5458e71 100644
--- a/Lib/email/test/test_email.py
+++ b/Lib/email/test/test_email.py
@@ -51,7 +51,7 @@
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 @@
# 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:
diff --git a/Lib/email/test/test_email_renamed.py b/Lib/email/test/test_email_renamed.py
index 37ce7af..307501f 100644
--- a/Lib/email/test/test_email_renamed.py
+++ b/Lib/email/test/test_email_renamed.py
@@ -52,7 +52,7 @@
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 @@
# 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:
diff --git a/Lib/formatter.py b/Lib/formatter.py
index 834b560..e0a8fe1 100644
--- a/Lib/formatter.py
+++ b/Lib/formatter.py
@@ -228,7 +228,8 @@
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
diff --git a/Lib/imputil.py b/Lib/imputil.py
index 8b37ef4..e1d0a82 100644
--- a/Lib/imputil.py
+++ b/Lib/imputil.py
@@ -281,7 +281,8 @@
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)
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 7e0689c..8b18010 100644
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -18,7 +18,6 @@
import email
import email.message
import email.generator
-import rfc822
import StringIO
try:
if sys.platform == 'os2emx':
@@ -28,6 +27,13 @@
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',
diff --git a/Lib/pprint.py b/Lib/pprint.py
index c48465b..910283e 100644
--- a/Lib/pprint.py
+++ b/Lib/pprint.py
@@ -35,6 +35,7 @@
"""
import sys as _sys
+import warnings
from cStringIO import StringIO as _StringIO
@@ -70,6 +71,13 @@
"""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 @@
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 @@
return
write('set([')
endchar = '])'
- object = sorted(object)
+ object = _sorted(object)
indent += 4
elif issubclass(typ, frozenset):
if not length:
@@ -189,7 +196,7 @@
return
write('frozenset([')
endchar = '])'
- object = sorted(object)
+ object = _sorted(object)
indent += 10
else:
write('(')
@@ -274,7 +281,7 @@
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))
diff --git a/Lib/pstats.py b/Lib/pstats.py
index 08f2318..30ac3dd 100644
--- a/Lib/pstats.py
+++ b/Lib/pstats.py
@@ -442,12 +442,12 @@
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:
diff --git a/Lib/sets.py b/Lib/sets.py
index b1743da..fe31a0b 100644
--- a/Lib/sets.py
+++ b/Lib/sets.py
@@ -54,29 +54,7 @@
# - 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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
diff --git a/Lib/sunau.py b/Lib/sunau.py
index 0a40295..a04d8c0 100644
--- a/Lib/sunau.py
+++ b/Lib/sunau.py
@@ -364,7 +364,8 @@
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)
diff --git a/Lib/test/test_wsgiref.py b/Lib/test/test_wsgiref.py
index 06591ad..1f46a3e 100755
--- a/Lib/test/test_wsgiref.py
+++ b/Lib/test/test_wsgiref.py
@@ -523,7 +523,8 @@
"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 @@
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):
diff --git a/Lib/wave.py b/Lib/wave.py
index b993b40..718e1eb 100644
--- a/Lib/wave.py
+++ b/Lib/wave.py
@@ -384,7 +384,8 @@
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)
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 5cc0653..5a07ffc 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -650,7 +650,7 @@
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)