Author: Philip Jenvey <[email protected]>
Branch: py3k
Changeset: r58403:c1aa74c06e86
Date: 2012-10-24 13:55 -0700
http://bitbucket.org/pypy/pypy/changeset/c1aa74c06e86/
Log: 2to3 most of lib_pypy except _ctypes/numpypy/pyrepl
diff --git a/lib_pypy/__init__.py b/lib_pypy/__init__.py
--- a/lib_pypy/__init__.py
+++ b/lib_pypy/__init__.py
@@ -1,4 +1,4 @@
# This __init__.py shows up in PyPy's app-level standard library.
# Let's try to prevent that confusion...
if __name__ != 'lib_pypy':
- raise ImportError, '__init__'
+ raise ImportError('__init__')
diff --git a/lib_pypy/_collections.py b/lib_pypy/_collections.py
--- a/lib_pypy/_collections.py
+++ b/lib_pypy/_collections.py
@@ -7,7 +7,7 @@
import operator
try:
- from thread import get_ident as _thread_ident
+ from _thread import get_ident as _thread_ident
except ImportError:
def _thread_ident():
return -1
@@ -369,7 +369,7 @@
self._gen = itergen(deq.state, giveup)
def __next__(self):
- res = self._gen.next()
+ res = next(self._gen)
self.counter -= 1
return res
@@ -423,5 +423,5 @@
This API is used by pickle.py and copy.py.
"""
- return (type(self), (self.default_factory,), None, None,
self.iteritems())
+ return (type(self), (self.default_factory,), None, None,
iter(self.items()))
diff --git a/lib_pypy/_csv.py b/lib_pypy/_csv.py
--- a/lib_pypy/_csv.py
+++ b/lib_pypy/_csv.py
@@ -82,12 +82,12 @@
(name,))
if dialect is not None:
- if isinstance(dialect, basestring):
+ if isinstance(dialect, str):
dialect = get_dialect(dialect)
# Can we reuse this instance?
if (isinstance(dialect, Dialect)
- and all(value is None for value in kwargs.itervalues())):
+ and all(value is None for value in kwargs.values())):
return dialect
self = object.__new__(cls)
@@ -167,7 +167,7 @@
def register_dialect(name, dialect=None, **kwargs):
"""Create a mapping from a string name to a dialect class.
dialect = csv.register_dialect(name, dialect)"""
- if not isinstance(name, basestring):
+ if not isinstance(name, str):
raise TypeError("dialect name must be a string or unicode")
dialect = _call_dialect(dialect, kwargs)
@@ -221,11 +221,11 @@
def __iter__(self):
return self
- def next(self):
+ def __next__(self):
self._parse_reset()
while True:
try:
- line = self.input_iter.next()
+ line = next(self.input_iter)
except StopIteration:
# End of input OR exception
if len(self.field) > 0:
@@ -565,7 +565,7 @@
old_limit = _field_limit
if limit is not undefined:
- if not isinstance(limit, (int, long)):
+ if not isinstance(limit, int):
raise TypeError("int expected, got %s" %
(limit.__class__.__name__,))
_field_limit = limit
diff --git a/lib_pypy/_marshal.py b/lib_pypy/_marshal.py
--- a/lib_pypy/_marshal.py
+++ b/lib_pypy/_marshal.py
@@ -5,6 +5,7 @@
import types
from _codecs import utf_8_decode, utf_8_encode
+import sys
try: from __pypy__ import builtinify
except ImportError: builtinify = lambda f: f
@@ -49,7 +50,7 @@
if func:
break
else:
- raise ValueError, "unmarshallable object"
+ raise ValueError("unmarshallable object")
func(self, x)
def w_long64(self, x):
@@ -72,7 +73,7 @@
def dump_none(self, x):
self._write(TYPE_NONE)
- dispatch[types.NoneType] = dump_none
+ dispatch[type(None)] = dump_none
def dump_bool(self, x):
if x:
@@ -83,7 +84,7 @@
def dump_stopiter(self, x):
if x is not StopIteration:
- raise ValueError, "unmarshallable object"
+ raise ValueError("unmarshallable object")
self._write(TYPE_STOPITER)
dispatch[type(StopIteration)] = dump_stopiter
@@ -91,7 +92,7 @@
self._write(TYPE_ELLIPSIS)
try:
- dispatch[types.EllipsisType] = dump_ellipsis
+ dispatch[type(Ellipsis)] = dump_ellipsis
except NameError:
pass
@@ -103,7 +104,7 @@
else:
self._write(TYPE_INT)
self.w_long(x)
- dispatch[types.IntType] = dump_int
+ dispatch[int] = dump_int
def dump_long(self, x):
self._write(TYPE_LONG)
@@ -118,27 +119,27 @@
self.w_long(len(digits) * sign)
for d in digits:
self.w_short(d)
- dispatch[types.LongType] = dump_long
+ dispatch[int] = dump_long
def dump_float(self, x):
write = self._write
write(TYPE_FLOAT)
- s = `x`
+ s = repr(x)
write(chr(len(s)))
write(s)
- dispatch[types.FloatType] = dump_float
+ dispatch[float] = dump_float
def dump_complex(self, x):
write = self._write
write(TYPE_COMPLEX)
- s = `x.real`
+ s = repr(x.real)
write(chr(len(s)))
write(s)
- s = `x.imag`
+ s = repr(x.imag)
write(chr(len(s)))
write(s)
try:
- dispatch[types.ComplexType] = dump_complex
+ dispatch[complex] = dump_complex
except NameError:
pass
@@ -148,7 +149,7 @@
self._write(TYPE_STRING)
self.w_long(len(x))
self._write(x)
- dispatch[types.StringType] = dump_string
+ dispatch[bytes] = dump_string
def dump_unicode(self, x):
self._write(TYPE_UNICODE)
@@ -156,21 +157,21 @@
s, len_s = utf_8_encode(x)
self.w_long(len_s)
self._write(s)
- dispatch[types.UnicodeType] = dump_unicode
+ dispatch[str] = dump_unicode
def dump_tuple(self, x):
self._write(TYPE_TUPLE)
self.w_long(len(x))
for item in x:
self.dump(item)
- dispatch[types.TupleType] = dump_tuple
+ dispatch[tuple] = dump_tuple
def dump_list(self, x):
self._write(TYPE_LIST)
self.w_long(len(x))
for item in x:
self.dump(item)
- dispatch[types.ListType] = dump_list
+ dispatch[list] = dump_list
def dump_dict(self, x):
self._write(TYPE_DICT)
@@ -178,7 +179,7 @@
self.dump(key)
self.dump(value)
self._write(TYPE_NULL)
- dispatch[types.DictionaryType] = dump_dict
+ dispatch[dict] = dump_dict
def dump_code(self, x):
self._write(TYPE_CODE)
@@ -252,7 +253,7 @@
try:
return self.dispatch[c](self)
except KeyError:
- raise ValueError, "bad marshal code: %c (%d)" % (c, ord(c))
+ raise ValueError("bad marshal code: %c (%d)" % (c, ord(c)))
def r_short(self):
lo = ord(self._read(1))
@@ -270,7 +271,7 @@
d = ord(s[3])
x = a | (b<<8) | (c<<16) | (d<<24)
if d & 0x80 and x > 0:
- x = -((1L<<32) - x)
+ x = -((1<<32) - x)
return int(x)
else:
return x
@@ -280,14 +281,14 @@
b = ord(self._read(1))
c = ord(self._read(1))
d = ord(self._read(1))
- e = long(ord(self._read(1)))
- f = long(ord(self._read(1)))
- g = long(ord(self._read(1)))
- h = long(ord(self._read(1)))
+ e = int(ord(self._read(1)))
+ f = int(ord(self._read(1)))
+ g = int(ord(self._read(1)))
+ h = int(ord(self._read(1)))
x = a | (b<<8) | (c<<16) | (d<<24)
x = x | (e<<32) | (f<<40) | (g<<48) | (h<<56)
if h & 0x80 and x > 0:
- x = -((1L<<64) - x)
+ x = -((1<<64) - x)
return x
def load_null(self):
@@ -324,10 +325,10 @@
if size < 0:
sign = -1
size = -size
- x = 0L
+ x = 0
for i in range(size):
d = self.r_short()
- x = x | (d<<(i*15L))
+ x = x | (d<<(i*15))
return x * sign
dispatch[TYPE_LONG] = load_long
@@ -354,7 +355,7 @@
def load_interned(self):
n = self.r_long()
- ret = intern(self._read(n))
+ ret = sys.intern(self._read(n))
self._stringtable.append(ret)
return ret
dispatch[TYPE_INTERNED] = load_interned
@@ -459,7 +460,7 @@
self.bufpos += 4
x = a | (b<<8) | (c<<16) | (d<<24)
if d & 0x80 and x > 0:
- x = -((1L<<32) - x)
+ x = -((1<<32) - x)
return int(x)
else:
return x
@@ -469,14 +470,14 @@
b = ord(_read1(self))
c = ord(_read1(self))
d = ord(_read1(self))
- e = long(ord(_read1(self)))
- f = long(ord(_read1(self)))
- g = long(ord(_read1(self)))
- h = long(ord(_read1(self)))
+ e = int(ord(_read1(self)))
+ f = int(ord(_read1(self)))
+ g = int(ord(_read1(self)))
+ h = int(ord(_read1(self)))
x = a | (b<<8) | (c<<16) | (d<<24)
x = x | (e<<32) | (f<<40) | (g<<48) | (h<<56)
if h & 0x80 and x > 0:
- x = -((1L<<64) - x)
+ x = -((1<<64) - x)
return x
_load_dispatch = {}
@@ -498,7 +499,7 @@
self.bufpos += 1
return _load_dispatch[c](self)
except KeyError:
- raise ValueError, "bad marshal code: %c (%d)" % (c, ord(c))
+ raise ValueError("bad marshal code: %c (%d)" % (c, ord(c)))
except IndexError:
raise EOFError
@@ -540,10 +541,10 @@
if size < 0:
sign = -1
size = -size
- x = 0L
+ x = 0
for i in range(size):
d = _r_short(self)
- x = x | (d<<(i*15L))
+ x = x | (d<<(i*15))
return x * sign
dispatch[TYPE_LONG] = load_long
@@ -570,7 +571,7 @@
def load_interned(self):
n = _r_long(self)
- ret = intern(_read(self, n))
+ ret = sys.intern(_read(self, n))
self._stringtable.append(ret)
return ret
dispatch[TYPE_INTERNED] = load_interned
diff --git a/lib_pypy/_md5.py b/lib_pypy/_md5.py
--- a/lib_pypy/_md5.py
+++ b/lib_pypy/_md5.py
@@ -270,7 +270,7 @@
the hashed string.
"""
- leninBuf = long(len(inBuf))
+ leninBuf = int(len(inBuf))
# Compute number of bytes mod 64.
index = (self.count[0] >> 3) & 0x3F
diff --git a/lib_pypy/_pypy_interact.py b/lib_pypy/_pypy_interact.py
--- a/lib_pypy/_pypy_interact.py
+++ b/lib_pypy/_pypy_interact.py
@@ -74,5 +74,5 @@
if __name__ == '__main__': # for testing
import os
if os.getenv('PYTHONSTARTUP'):
- execfile(os.getenv('PYTHONSTARTUP'))
+ exec(compile(open(os.getenv('PYTHONSTARTUP')).read(),
os.getenv('PYTHONSTARTUP'), 'exec'))
interactive_console()
diff --git a/lib_pypy/_pypy_wait.py b/lib_pypy/_pypy_wait.py
--- a/lib_pypy/_pypy_wait.py
+++ b/lib_pypy/_pypy_wait.py
@@ -1,6 +1,6 @@
+from resource import _struct_rusage, struct_rusage
from ctypes import CDLL, c_int, POINTER, byref
from ctypes.util import find_library
-from resource import _struct_rusage, struct_rusage
__all__ = ["wait3", "wait4"]
diff --git a/lib_pypy/_scproxy.py b/lib_pypy/_scproxy.py
--- a/lib_pypy/_scproxy.py
+++ b/lib_pypy/_scproxy.py
@@ -67,7 +67,7 @@
length = (ffi.CFStringGetLength(value) * 4) + 1
buff = create_string_buffer(length)
ffi.CFStringGetCString(value, buff, length * 4, kCFStringEncodingUTF8)
- return unicode(buff.value, 'utf8')
+ return str(buff.value, 'utf8')
def cfnum_to_int32(num):
result_ptr = pointer(c_int32(0))
@@ -121,9 +121,9 @@
if host:
if cfportnum:
port = cfnum_to_int32(cfportnum)
- v = u'http://%s:%d' % (host, port)
+ v = 'http://%s:%d' % (host, port)
else:
- v = u'http://%s' % (host,)
+ v = 'http://%s' % (host,)
result[proto.lower()] = v
return result
finally:
diff --git a/lib_pypy/_sha256.py b/lib_pypy/_sha256.py
--- a/lib_pypy/_sha256.py
+++ b/lib_pypy/_sha256.py
@@ -28,10 +28,10 @@
W = []
d = sha_info['data']
- for i in xrange(0,16):
+ for i in range(0,16):
W.append( (d[4*i]<<24) + (d[4*i+1]<<16) + (d[4*i+2]<<8) + d[4*i+3])
- for i in xrange(16,64):
+ for i in range(16,64):
W.append( (Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i -
16]) & 0xffffffff )
ss = sha_info['digest'][:]
@@ -134,7 +134,7 @@
def getbuf(s):
if isinstance(s, str):
return s
- elif isinstance(s, unicode):
+ elif isinstance(s, str):
return str(s)
else:
return buffer(s)
diff --git a/lib_pypy/_sqlite3.py b/lib_pypy/_sqlite3.py
--- a/lib_pypy/_sqlite3.py
+++ b/lib_pypy/_sqlite3.py
@@ -244,10 +244,10 @@
# SQLite version information
sqlite_version = sqlite.sqlite3_libversion()
-class Error(StandardError):
+class Error(Exception):
pass
-class Warning(StandardError):
+class Warning(Exception):
pass
class InterfaceError(Error):
@@ -279,7 +279,7 @@
return factory(database, **kwargs)
def unicode_text_factory(x):
- return unicode(x, 'utf-8')
+ return str(x, 'utf-8')
class StatementCache(object):
@@ -426,7 +426,7 @@
def __call__(self, sql):
self._check_closed()
- if not isinstance(sql, (str, unicode)):
+ if not isinstance(sql, str):
raise Warning("SQL is of wrong type. Must be string or unicode.")
statement = self.statement_cache.get(sql, self.row_factory)
return statement
@@ -436,7 +436,7 @@
def _set_isolation_level(self, val):
if val is None:
self.commit()
- if isinstance(val, unicode):
+ if isinstance(val, str):
val = str(val)
self._isolation_level = val
isolation_level = property(_get_isolation_level, _set_isolation_level)
@@ -761,7 +761,7 @@
return CursorLock(self)
def execute(self, sql, params=None):
- if type(sql) is unicode:
+ if type(sql) is str:
sql = sql.encode("utf-8")
with self._check_and_lock():
@@ -801,7 +801,7 @@
return self
def executemany(self, sql, many_params):
- if type(sql) is unicode:
+ if type(sql) is str:
sql = sql.encode("utf-8")
with self._check_and_lock():
@@ -828,7 +828,7 @@
def executescript(self, sql):
self._description = None
self.reset = False
- if type(sql) is unicode:
+ if type(sql) is str:
sql = sql.encode("utf-8")
self._check_closed()
statement = c_void_p()
@@ -975,7 +975,7 @@
def _build_row_cast_map(self):
self.row_cast_map = []
- for i in xrange(sqlite.sqlite3_column_count(self.statement)):
+ for i in range(sqlite.sqlite3_column_count(self.statement)):
converter = None
if self.con.detect_types & PARSE_COLNAMES:
@@ -1001,7 +1001,7 @@
self.row_cast_map.append(converter)
def _check_decodable(self, param):
- if self.con.text_factory in (unicode, OptimizedUnicode,
unicode_text_factory):
+ if self.con.text_factory in (str, OptimizedUnicode,
unicode_text_factory):
for c in param:
if ord(c) & 0x80 != 0:
raise self.con.ProgrammingError(
@@ -1020,7 +1020,7 @@
if param is None:
sqlite.sqlite3_bind_null(self.statement, idx)
- elif type(param) in (bool, int, long):
+ elif type(param) in (bool, int, int):
if -2147483648 <= param <= 2147483647:
sqlite.sqlite3_bind_int(self.statement, idx, param)
else:
@@ -1030,7 +1030,7 @@
elif isinstance(param, str):
self._check_decodable(param)
sqlite.sqlite3_bind_text(self.statement, idx, param, len(param),
SQLITE_TRANSIENT)
- elif isinstance(param, unicode):
+ elif isinstance(param, str):
param = param.encode("utf-8")
sqlite.sqlite3_bind_text(self.statement, idx, param, len(param),
SQLITE_TRANSIENT)
elif type(param) is buffer:
@@ -1096,14 +1096,14 @@
def _readahead(self, cursor):
self.column_count = sqlite.sqlite3_column_count(self.statement)
row = []
- for i in xrange(self.column_count):
+ for i in range(self.column_count):
typ = sqlite.sqlite3_column_type(self.statement, i)
converter = self.row_cast_map[i]
if converter is None:
if typ == SQLITE_INTEGER:
val = sqlite.sqlite3_column_int64(self.statement, i)
- if -sys.maxint-1 <= val <= sys.maxint:
+ if -sys.maxsize-1 <= val <= sys.maxsize:
val = int(val)
elif typ == SQLITE_FLOAT:
val = sqlite.sqlite3_column_double(self.statement, i)
@@ -1156,7 +1156,7 @@
if self.kind == DML:
return None
desc = []
- for i in xrange(sqlite.sqlite3_column_count(self.statement)):
+ for i in range(sqlite.sqlite3_column_count(self.statement)):
name = sqlite.sqlite3_column_name(self.statement,
i).split("[")[0].strip()
desc.append((name, None, None, None, None, None, None))
return desc
@@ -1242,7 +1242,7 @@
typ = sqlite.sqlite3_value_type(params[i])
if typ == SQLITE_INTEGER:
val = sqlite.sqlite3_value_int64(params[i])
- if -sys.maxint-1 <= val <= sys.maxint:
+ if -sys.maxsize-1 <= val <= sys.maxsize:
val = int(val)
elif typ == SQLITE_FLOAT:
val = sqlite.sqlite3_value_double(params[i])
@@ -1255,7 +1255,7 @@
elif typ == SQLITE_TEXT:
val = sqlite.sqlite3_value_text(params[i])
# XXX changed from con.text_factory
- val = unicode(val, 'utf-8')
+ val = str(val, 'utf-8')
else:
raise NotImplementedError
_params.append(val)
@@ -1264,12 +1264,12 @@
def _convert_result(con, val):
if val is None:
sqlite.sqlite3_result_null(con)
- elif isinstance(val, (bool, int, long)):
+ elif isinstance(val, (bool, int)):
sqlite.sqlite3_result_int64(con, int(val))
elif isinstance(val, str):
# XXX ignoring unicode issue
sqlite.sqlite3_result_text(con, val, len(val), SQLITE_TRANSIENT)
- elif isinstance(val, unicode):
+ elif isinstance(val, str):
val = val.encode('utf-8')
sqlite.sqlite3_result_text(con, val, len(val), SQLITE_TRANSIENT)
elif isinstance(val, float):
@@ -1383,7 +1383,7 @@
def OptimizedUnicode(s):
try:
- val = unicode(s, "ascii").encode("ascii")
+ val = str(s, "ascii").encode("ascii")
except UnicodeDecodeError:
- val = unicode(s, "utf-8")
+ val = str(s, "utf-8")
return val
diff --git a/lib_pypy/_subprocess.py b/lib_pypy/_subprocess.py
--- a/lib_pypy/_subprocess.py
+++ b/lib_pypy/_subprocess.py
@@ -155,7 +155,7 @@
if env is not None:
envbuf = ""
- for k, v in env.iteritems():
+ for k, v in env.items():
envbuf += "%s=%s\0" % (k, v)
envbuf += '\0'
else:
diff --git a/lib_pypy/cPickle.py b/lib_pypy/cPickle.py
--- a/lib_pypy/cPickle.py
+++ b/lib_pypy/cPickle.py
@@ -2,12 +2,14 @@
# One-liner implementation of cPickle
#
+import marshal
+import struct
+import sys
from pickle import Pickler, dump, dumps, PickleError, PicklingError,
UnpicklingError, _EmptyClass
from pickle import __doc__, __version__, format_version, compatible_formats
from types import *
-from copy_reg import dispatch_table
-from copy_reg import _extension_registry, _inverted_registry, _extension_cache
-import marshal, struct, sys
+from copyreg import dispatch_table
+from copyreg import _extension_registry, _inverted_registry, _extension_cache
try: from __pypy__ import builtinify
except ImportError: builtinify = lambda f: f
@@ -186,7 +188,7 @@
def load_proto(self):
proto = ord(self.read(1))
if not 0 <= proto <= 2:
- raise ValueError, "unsupported pickle protocol: %d" % proto
+ raise ValueError("unsupported pickle protocol: %d" % proto)
dispatch[PROTO] = load_proto
def load_persid(self):
@@ -221,7 +223,7 @@
try:
val = int(data)
except ValueError:
- val = long(data)
+ val = int(data)
self.append(val)
dispatch[INT] = load_int
@@ -238,7 +240,7 @@
dispatch[BININT2] = load_binint2
def load_long(self):
- self.append(long(self.readline()[:-1], 0))
+ self.append(int(self.readline()[:-1], 0))
dispatch[LONG] = load_long
def load_long1(self):
@@ -264,13 +266,13 @@
def load_string(self):
rep = self.readline()
if len(rep) < 3:
- raise ValueError, "insecure string pickle"
+ raise ValueError("insecure string pickle")
if rep[0] == "'" == rep[-2]:
rep = rep[1:-2]
elif rep[0] == '"' == rep[-2]:
rep = rep[1:-2]
else:
- raise ValueError, "insecure string pickle"
+ raise ValueError("insecure string pickle")
self.append(rep.decode("string-escape"))
dispatch[STRING] = load_string
@@ -280,12 +282,12 @@
dispatch[BINSTRING] = load_binstring
def load_unicode(self):
- self.append(unicode(self.readline()[:-1],'raw-unicode-escape'))
+ self.append(str(self.readline()[:-1],'raw-unicode-escape'))
dispatch[UNICODE] = load_unicode
def load_binunicode(self):
L = mloads('i' + self.read(4))
- self.append(unicode(self.read(L),'utf-8'))
+ self.append(str(self.read(L),'utf-8'))
dispatch[BINUNICODE] = load_binunicode
def load_short_binstring(self):
@@ -361,9 +363,9 @@
if not instantiated:
try:
value = klass(*args)
- except TypeError, err:
- raise TypeError, "in constructor for %s: %s" % (
- klass.__name__, str(err)), sys.exc_info()[2]
+ except TypeError as err:
+ raise TypeError("in constructor for %s: %s" % (
+ klass.__name__,
str(err))).with_traceback(sys.exc_info()[2])
self.append(value)
def load_inst(self):
@@ -523,8 +525,8 @@
try:
d = inst.__dict__
try:
- for k, v in state.iteritems():
- d[intern(k)] = v
+ for k, v in state.items():
+ d[sys.intern(k)] = v
# keys in state don't have to be strings
# don't blow up, but don't go out of our way
except TypeError:
@@ -574,7 +576,7 @@
nbytes = len(data)
if nbytes == 0:
- return 0L
+ return 0
ind = nbytes - 1
while ind and ord(data[ind]) == 0:
ind -= 1
@@ -585,7 +587,7 @@
if ord(data[ind]):
n += ord(data[ind])
if ord(data[nbytes - 1]) >= 128:
- n -= 1L << (nbytes << 3)
+ n -= 1 << (nbytes << 3)
return n
def load(f):
diff --git a/lib_pypy/dbm.py b/lib_pypy/dbm.py
--- a/lib_pypy/dbm.py
+++ b/lib_pypy/dbm.py
@@ -153,7 +153,7 @@
lib.DBM_INSERT = 0
lib.DBM_REPLACE = 1
-def open(filename, flag='r', mode=0666):
+def open(filename, flag='r', mode=0o666):
"open a DBM database"
if not isinstance(filename, str):
raise TypeError("expected string")
diff --git a/lib_pypy/disassembler.py b/lib_pypy/disassembler.py
--- a/lib_pypy/disassembler.py
+++ b/lib_pypy/disassembler.py
@@ -72,32 +72,30 @@
if type(x) is types.InstanceType:
x = x.__class__
if hasattr(x, 'im_func'):
- x = x.im_func
+ x = x.__func__
if hasattr(x, 'func_code'):
- x = x.func_code
+ x = x.__code__
if hasattr(x, '__dict__'):
xxx
- items = x.__dict__.items()
- items.sort()
+ sorted(x.__dict__.items())
for name, x1 in items:
if type(x1) in (types.MethodType,
types.FunctionType,
types.CodeType,
- types.ClassType):
- print "Disassembly of %s:" % name
+ type):
+ print("Disassembly of %s:" % name)
try:
dis(x1)
except TypeError as msg:
- print "Sorry:", msg
- print
+ print("Sorry:", msg)
+ print()
elif hasattr(x, 'co_code'):
return disassemble(x)
elif isinstance(x, str):
return disassemble_string(x)
else:
- raise TypeError, \
- "don't know how to disassemble %s objects" % \
- type(x).__name__
+ raise TypeError("don't know how to disassemble %s objects" % \
+ type(x).__name__)
def distb(tb=None):
"""Disassemble a traceback (default: last traceback)."""
@@ -105,7 +103,7 @@
try:
tb = sys.last_traceback
except AttributeError:
- raise RuntimeError, "no last traceback to disassemble"
+ raise RuntimeError("no last traceback to disassemble")
while tb.tb_next: tb = tb.tb_next
disassemble(tb.tb_frame.f_code, tb.tb_lasti)
@@ -148,7 +146,7 @@
extended_arg = 0
i = i+2
if op == EXTENDED_ARG:
- extended_arg = oparg*65536L
+ extended_arg = oparg*65536
if op in hasconst:
opargstr = repr(co.co_consts[oparg])
elif op in hasname:
@@ -180,54 +178,54 @@
op = ord(c)
if i == lasti:
xxx
- print '-->',
+ print('-->', end=' ')
else:
xxx
- print ' ',
+ print(' ', end=' ')
if i in labels:
xxx
- print '>>',
+ print('>>', end=' ')
else:
xxx
- print ' ',
+ print(' ', end=' ')
xxxx
- print repr(i).rjust(4),
- print opname[op].ljust(15),
+ print(repr(i).rjust(4), end=' ')
+ print(opname[op].ljust(15), end=' ')
i = i+1
if op >= HAVE_ARGUMENT:
oparg = ord(code[i]) + ord(code[i+1])*256
i = i+2
xxx
- print repr(oparg).rjust(5),
+ print(repr(oparg).rjust(5), end=' ')
if op in hasconst:
if constants:
xxx
- print '(' + repr(constants[oparg]) + ')',
+ print('(' + repr(constants[oparg]) + ')', end=' ')
else:
xxx
- print '(%d)'%oparg,
+ print('(%d)'%oparg, end=' ')
elif op in hasname:
if names is not None:
xxx
- print '(' + names[oparg] + ')',
+ print('(' + names[oparg] + ')', end=' ')
else:
xxx
- print '(%d)'%oparg,
+ print('(%d)'%oparg, end=' ')
elif op in hasjrel:
xxx
- print '(to ' + repr(i + oparg) + ')',
+ print('(to ' + repr(i + oparg) + ')', end=' ')
elif op in haslocal:
if varnames:
xxx
- print '(' + varnames[oparg] + ')',
+ print('(' + varnames[oparg] + ')', end=' ')
else:
xxx
- print '(%d)' % oparg,
+ print('(%d)' % oparg, end=' ')
elif op in hascompare:
xxx
- print '(' + cmp_op[oparg] + ')',
+ print('(' + cmp_op[oparg] + ')', end=' ')
xxx
- print
+ print()
disco = disassemble # XXX For backwards compatibility
diff --git a/lib_pypy/greenlet.py b/lib_pypy/greenlet.py
--- a/lib_pypy/greenlet.py
+++ b/lib_pypy/greenlet.py
@@ -109,7 +109,7 @@
# Internal stuff
try:
- from thread import _local
+ from _thread import _local
except ImportError:
class _local(object): # assume no threads
pass
diff --git a/lib_pypy/identity_dict.py b/lib_pypy/identity_dict.py
--- a/lib_pypy/identity_dict.py
+++ b/lib_pypy/identity_dict.py
@@ -32,7 +32,7 @@
def copy(self):
d = type(self)()
- d.update(self.iteritems())
+ d.update(self.items())
assert len(d) == len(self)
return d
@@ -60,7 +60,7 @@
def copy(self):
d = type(self)()
- d.update(self.iteritems())
+ d.update(self.items())
assert len(d) == len(self)
return d
diff --git a/lib_pypy/itertools.py b/lib_pypy/itertools.py
--- a/lib_pypy/itertools.py
+++ b/lib_pypy/itertools.py
@@ -204,7 +204,7 @@
key = lambda x: x
self.keyfunc = key
self.it = iter(iterable)
- self.tgtkey = self.currkey = self.currvalue = xrange(0)
+ self.tgtkey = self.currkey = self.currvalue = range(0)
def __iter__(self):
return self
@@ -458,7 +458,7 @@
def __init__(self, obj, times=None):
self._obj = obj
if times is not None:
- xrange(times) # Raise a TypeError
+ range(times) # Raise a TypeError
if times < 0:
times = 0
self._times = times
@@ -610,6 +610,6 @@
if isinstance(iterable, TeeObject):
# a,b = tee(range(10)) ; c,d = tee(a) ; self.assert_(a is c)
return tuple([iterable] +
- [TeeObject(tee_data=iterable.tee_data) for i in xrange(n-1)])
+ [TeeObject(tee_data=iterable.tee_data) for i in range(n - 1)])
tee_data = TeeData(iter(iterable))
- return tuple([TeeObject(tee_data=tee_data) for i in xrange(n)])
+ return tuple([TeeObject(tee_data=tee_data) for i in range(n)])
diff --git a/lib_pypy/pwd.py b/lib_pypy/pwd.py
--- a/lib_pypy/pwd.py
+++ b/lib_pypy/pwd.py
@@ -69,7 +69,7 @@
yield self.pw_dir
yield self.pw_shell
-class struct_passwd:
+class struct_passwd(metaclass=structseqtype):
"""
pwd.struct_passwd: Results from getpw*() routines.
@@ -77,7 +77,6 @@
(pw_name,pw_passwd,pw_uid,pw_gid,pw_gecos,pw_dir,pw_shell)
or via the object attributes as named in the above tuple.
"""
- __metaclass__ = structseqtype
name = "pwd.struct_passwd"
pw_name = structseqfield(0)
pw_passwd = structseqfield(1)
@@ -167,9 +166,9 @@
from os import getuid
uid = getuid()
pw = getpwuid(uid)
- print("uid %s: %s" % (pw.pw_uid, pw))
+ print(("uid %s: %s" % (pw.pw_uid, pw)))
name = pw.pw_name
- print("name %r: %s" % (name, getpwnam(name)))
+ print(("name %r: %s" % (name, getpwnam(name))))
print("All:")
for pw in getpwall():
print(pw)
diff --git a/lib_pypy/pypy_test/inprogress_test_binascii_extra.py
b/lib_pypy/pypy_test/inprogress_test_binascii_extra.py
--- a/lib_pypy/pypy_test/inprogress_test_binascii_extra.py
+++ b/lib_pypy/pypy_test/inprogress_test_binascii_extra.py
@@ -1,4 +1,3 @@
-from __future__ import absolute_import
from lib_pypy import binascii
def test_uu():
diff --git a/lib_pypy/pypy_test/test_collections.py
b/lib_pypy/pypy_test/test_collections.py
--- a/lib_pypy/pypy_test/test_collections.py
+++ b/lib_pypy/pypy_test/test_collections.py
@@ -1,4 +1,3 @@
-from __future__ import absolute_import
from lib_pypy import _collections as collections
import py
@@ -42,7 +41,7 @@
d = collections.deque(range(100))
d.reverse()
- assert list(d) == range(99, -1, -1)
+ assert list(d) == list(range(99, -1, -1))
def test_subclass_with_kwargs(self):
class SubclassWithKwargs(collections.deque):
diff --git a/lib_pypy/pypy_test/test_coroutine.py
b/lib_pypy/pypy_test/test_coroutine.py
--- a/lib_pypy/pypy_test/test_coroutine.py
+++ b/lib_pypy/pypy_test/test_coroutine.py
@@ -1,9 +1,8 @@
-from __future__ import absolute_import
from py.test import skip, raises
try:
from stackless import coroutine, CoroutineExit
-except ImportError, e:
+except ImportError as e:
skip('cannot import stackless: %s' % (e,))
@@ -12,7 +11,7 @@
def test_is_zombie(self):
co = coroutine()
def f():
- print 'in coro'
+ print('in coro')
assert not co.is_zombie
co.bind(f)
assert not co.is_zombie
@@ -26,7 +25,7 @@
def __del__(self):
res.append(self.is_zombie)
def f():
- print 'in coro'
+ print('in coro')
co = MyCoroutine()
co.bind(f)
co.switch()
@@ -48,7 +47,7 @@
res.append(self.is_zombie)
main = coroutine.getcurrent()
def f():
- print 'in coro'
+ print('in coro')
main.switch()
co = MyCoroutine()
co.bind(f)
diff --git a/lib_pypy/pypy_test/test_datetime.py
b/lib_pypy/pypy_test/test_datetime.py
--- a/lib_pypy/pypy_test/test_datetime.py
+++ b/lib_pypy/pypy_test/test_datetime.py
@@ -1,10 +1,9 @@
-from __future__ import absolute_import
import py
from lib_pypy import datetime
def test_repr():
- print datetime
+ print(datetime)
expected = "datetime.datetime(1, 2, 3, 0, 0)"
assert repr(datetime.datetime(1,2,3)) == expected
diff --git a/lib_pypy/pypy_test/test_dbm_extra.py
b/lib_pypy/pypy_test/test_dbm_extra.py
--- a/lib_pypy/pypy_test/test_dbm_extra.py
+++ b/lib_pypy/pypy_test/test_dbm_extra.py
@@ -1,9 +1,8 @@
-from __future__ import absolute_import
import py
from pypy.tool.udir import udir
try:
from lib_pypy import dbm
-except ImportError, e:
+except ImportError as e:
py.test.skip(e)
def test_get():
diff --git a/lib_pypy/pypy_test/test_defaultdict.py
b/lib_pypy/pypy_test/test_defaultdict.py
--- a/lib_pypy/pypy_test/test_defaultdict.py
+++ b/lib_pypy/pypy_test/test_defaultdict.py
@@ -1,6 +1,5 @@
# defaultdict Tests
# from CPython2.5
-from __future__ import absolute_import
import py
import sys
if sys.version_info < (2, 5):
diff --git a/lib_pypy/pypy_test/test_deque_extra.py
b/lib_pypy/pypy_test/test_deque_extra.py
--- a/lib_pypy/pypy_test/test_deque_extra.py
+++ b/lib_pypy/pypy_test/test_deque_extra.py
@@ -1,5 +1,4 @@
# Deque Tests
-from __future__ import absolute_import
import py
@@ -23,17 +22,17 @@
def test_deque_iter(self):
it = iter(self.d)
py.test.raises(TypeError, len, it)
- assert it.next() == 0
+ assert next(it) == 0
self.d.pop()
- py.test.raises(RuntimeError, it.next)
+ py.test.raises(RuntimeError, next, it)
def test_deque_reversed(self):
it = reversed(self.d)
py.test.raises(TypeError, len, it)
- assert it.next() == n-1
- assert it.next() == n-2
+ assert next(it) == n-1
+ assert next(it) == n-2
self.d.pop()
- py.test.raises(RuntimeError, it.next)
+ py.test.raises(RuntimeError, next, it)
def test_deque_remove(self):
d = self.d
diff --git a/lib_pypy/pypy_test/test_grp_extra.py
b/lib_pypy/pypy_test/test_grp_extra.py
--- a/lib_pypy/pypy_test/test_grp_extra.py
+++ b/lib_pypy/pypy_test/test_grp_extra.py
@@ -1,4 +1,3 @@
-from __future__ import absolute_import
import py
try:
from lib_pypy import grp
diff --git a/lib_pypy/pypy_test/test_itertools.py
b/lib_pypy/pypy_test/test_itertools.py
--- a/lib_pypy/pypy_test/test_itertools.py
+++ b/lib_pypy/pypy_test/test_itertools.py
@@ -10,7 +10,7 @@
def test_compress_diff_len(self):
it = itertools.compress(['a'], [])
- raises(StopIteration, it.next)
+ raises(StopIteration, next, it)
def test_product(self):
l = [1, 2]
diff --git a/lib_pypy/pypy_test/test_marshal_extra.py
b/lib_pypy/pypy_test/test_marshal_extra.py
--- a/lib_pypy/pypy_test/test_marshal_extra.py
+++ b/lib_pypy/pypy_test/test_marshal_extra.py
@@ -1,4 +1,3 @@
-from __future__ import absolute_import
import py
import sys
import marshal as cpy_marshal
@@ -19,11 +18,11 @@
StopIteration,
Ellipsis,
42,
- sys.maxint,
+ sys.maxsize,
-1.25,
2+5j,
- 42L,
- -1234567890123456789012345678901234567890L,
+ 42,
+ -1234567890123456789012345678901234567890,
hello, # not interned
"hello",
(),
@@ -32,9 +31,9 @@
[3, 4],
{},
{5: 6, 7: 8},
- func.func_code,
- scopefunc.func_code,
- u'hello',
+ func.__code__,
+ scopefunc.__code__,
+ 'hello',
]
try:
@@ -64,13 +63,13 @@
yield dump_to_cpython, case
def dumps_and_reload(case):
- print 'dump_and_reload', `case`
+ print('dump_and_reload', repr(case))
s = marshal.dumps(case)
obj = marshal.loads(s)
assert obj == case
def loads_from_cpython(case):
- print 'load_from_cpython', `case`
+ print('load_from_cpython', repr(case))
try:
s = cpy_marshal.dumps(case, *cpy_dump_version)
except ValueError:
@@ -79,7 +78,7 @@
assert obj == case
def dumps_to_cpython(case):
- print 'dump_to_cpython', `case`
+ print('dump_to_cpython', repr(case))
try:
cpy_marshal.dumps(case, *cpy_dump_version)
except ValueError:
diff --git a/lib_pypy/pypy_test/test_md5_extra.py
b/lib_pypy/pypy_test/test_md5_extra.py
--- a/lib_pypy/pypy_test/test_md5_extra.py
+++ b/lib_pypy/pypy_test/test_md5_extra.py
@@ -4,7 +4,6 @@
160 sec. per MB of data on a 233 MHz Intel Pentium CPU.
"""
-from __future__ import absolute_import
import md5 # CPython's implementation in C.
from lib_pypy import _md5 as pymd5
@@ -14,9 +13,9 @@
def formatHex(str):
"Print a string's HEX code in groups of two digits."
- d = map(None, str)
+ d = list(str)
d = map(ord, d)
- d = map(lambda x:"%02x" % x, d)
+ d = ["%02x" % x for x in d]
return ' '.join(d)
@@ -32,13 +31,13 @@
def printDiff(message, d1, d2, expectedResult=None):
"Print different outputs for same message."
- print "Message: '%s'" % message
- print "Message length: %d" % len(message)
+ print("Message: '%s'" % message)
+ print("Message length: %d" % len(message))
if expectedResult:
- print "%-48s (expected)" % format(expectedResult)
- print "%-48s (Std. lib. MD5)" % formatHex(d1)
- print "%-48s (Pure Python MD5)" % formatHex(d2)
- print
+ print("%-48s (expected)" % format(expectedResult))
+ print("%-48s (Std. lib. MD5)" % formatHex(d1))
+ print("%-48s (Pure Python MD5)" % formatHex(d2))
+ print()
# The real comparison function.
@@ -92,7 +91,7 @@
"57edf4a22be3c955ac49da2e2107b67a"),
)
- for i in xrange(len(cases)):
+ for i in range(len(cases)):
res = compareImp(cases[i][0])
if res is not None:
d1, d2 = res
@@ -129,7 +128,7 @@
"123456789 123456789 123456789 12345678",
)
- for i in xrange(len(cases)):
+ for i in range(len(cases)):
res = compareImp(cases[i][0])
if res is not None:
d1, d2 = res
@@ -147,7 +146,7 @@
## (2**20*'a',), ## 1 MB, takes about 160 sec. on a 233 Mhz Pentium.
)
- for i in xrange(len(cases)):
+ for i in range(len(cases)):
res = compareImp(cases[i][0])
if res is not None:
d1, d2 = res
@@ -208,7 +207,7 @@
m2c = m2.copy()
# Update and compare...
- for i in xrange(len(cases)):
+ for i in range(len(cases)):
message = cases[i][0]
m1c.update(message)
diff --git a/lib_pypy/pypy_test/test_os_wait.py
b/lib_pypy/pypy_test/test_os_wait.py
--- a/lib_pypy/pypy_test/test_os_wait.py
+++ b/lib_pypy/pypy_test/test_os_wait.py
@@ -1,5 +1,4 @@
# Generates the resource cache
-from __future__ import absolute_import
from lib_pypy.ctypes_config_cache import rebuild
rebuild.rebuild_one('resource.ctc.py')
diff --git a/lib_pypy/pypy_test/test_resource.py
b/lib_pypy/pypy_test/test_resource.py
--- a/lib_pypy/pypy_test/test_resource.py
+++ b/lib_pypy/pypy_test/test_resource.py
@@ -1,4 +1,3 @@
-from __future__ import absolute_import
from lib_pypy.ctypes_config_cache import rebuild
rebuild.rebuild_one('resource.ctc.py')
@@ -27,5 +26,5 @@
if i < 2:
expected_type = float
else:
- expected_type = (int, long)
+ expected_type = int
assert isinstance(x[i], expected_type)
diff --git a/lib_pypy/pypy_test/test_sha_extra.py
b/lib_pypy/pypy_test/test_sha_extra.py
--- a/lib_pypy/pypy_test/test_sha_extra.py
+++ b/lib_pypy/pypy_test/test_sha_extra.py
@@ -3,7 +3,6 @@
# use the three examples from Federal Information Processing Standards
# Publication 180-1, Secure Hash Standard, 1995 April 17
# http://www.itl.nist.gov/div897/pubs/fip180-1.htm
-from __future__ import absolute_import
from lib_pypy import _sha as pysha
class TestSHA:
diff --git a/lib_pypy/pypy_test/test_stackless.py
b/lib_pypy/pypy_test/test_stackless.py
--- a/lib_pypy/pypy_test/test_stackless.py
+++ b/lib_pypy/pypy_test/test_stackless.py
@@ -4,21 +4,20 @@
2. CPython (with the stackless_new module in the path
3. pypy-c
"""
-from __future__ import absolute_import
from py.test import skip
try:
import stackless
except ImportError:
try:
from lib_pypy import stackless
- except ImportError, e:
+ except ImportError as e:
skip('cannot import stackless: %s' % (e,))
SHOW_STRANGE = False
def dprint(txt):
if SHOW_STRANGE:
- print txt
+ print(txt)
class Test_Stackless:
@@ -88,11 +87,11 @@
def test_send_counter(self):
import random
- numbers = range(20)
+ numbers = list(range(20))
random.shuffle(numbers)
def counter(n, ch):
- for i in xrange(n):
+ for i in range(n):
stackless.schedule()
ch.send(n)
@@ -112,12 +111,12 @@
def test_receive_counter(self):
import random
- numbers = range(20)
+ numbers = list(range(20))
random.shuffle(numbers)
rlist = []
def counter(n, ch):
- for i in xrange(n):
+ for i in range(n):
stackless.schedule()
ch.receive()
rlist.append(n)
@@ -184,7 +183,7 @@
try:
stackless.run()
# cheating, can't test for ZeroDivisionError
- except Exception, e:
+ except Exception as e:
rlist.append('E')
stackless.schedule()
stackless.schedule()
@@ -457,7 +456,7 @@
def exp_recv(chan):
try:
val = chan.receive()
- except Exception, exp:
+ except Exception as exp:
assert exp.__class__ is Exception
assert str(exp) == 'test'
diff --git a/lib_pypy/pypy_test/test_stackless_pickling.py
b/lib_pypy/pypy_test/test_stackless_pickling.py
--- a/lib_pypy/pypy_test/test_stackless_pickling.py
+++ b/lib_pypy/pypy_test/test_stackless_pickling.py
@@ -1,11 +1,10 @@
-from __future__ import absolute_import
from py.test import skip
try:
import stackless
except ImportError:
try:
from lib_pypy import stackless as stackless
- except ImportError, e:
+ except ImportError as e:
skip('cannot import stackless: %s' % (e,))
@@ -15,7 +14,7 @@
def test_pickle_main_coroutine(self):
import stackless, pickle
s = pickle.dumps(stackless.coroutine.getcurrent())
- print s
+ print(s)
c = pickle.loads(s)
assert c is stackless.coroutine.getcurrent()
@@ -31,13 +30,13 @@
mod = new.module('mod')
mod.output = output
- exec """from stackless import schedule
+ exec("""from stackless import schedule
def aCallable(name):
output.append(('b', name))
schedule()
output.append(('a', name))
-""" in mod.__dict__
+""", mod.__dict__)
import sys
sys.modules['mod'] = mod
aCallable = mod.aCallable
diff --git a/lib_pypy/pypy_test/test_structseq.py
b/lib_pypy/pypy_test/test_structseq.py
--- a/lib_pypy/pypy_test/test_structseq.py
+++ b/lib_pypy/pypy_test/test_structseq.py
@@ -1,11 +1,8 @@
-from __future__ import absolute_import
import py
from lib_pypy._structseq import structseqfield, structseqtype
-class mydata:
- __metaclass__ = structseqtype
-
+class mydata(metaclass=structseqtype):
st_mode = structseqfield(0, "protection bits")
st_ino = structseqfield(1)
st_dev = structseqfield(2)
@@ -31,7 +28,7 @@
assert mydata.n_unnamed_fields == 0
def test_mydata():
- x = mydata(range(100, 111))
+ x = mydata(list(range(100, 111)))
assert x.n_sequence_fields == type(x).n_sequence_fields == 10
assert x.n_fields == type(x).n_fields == 14
assert x.st_mode == 100
@@ -39,42 +36,42 @@
assert x.st_ctime == 109 # copied by the default=lambda...
assert x.st_rdev == 110
assert len(x) == 10
- assert list(x) == range(100, 110)
+ assert list(x) == list(range(100, 110))
assert x + (5,) == tuple(range(100, 110)) + (5,)
assert x[4:12:2] == (104, 106, 108)
assert 104 in x
assert 110 not in x
def test_default_None():
- x = mydata(range(100, 110))
+ x = mydata(list(range(100, 110)))
assert x.st_rdev is None
def test_constructor():
- x = mydata(range(100, 111), {'st_mtime': 12.25})
+ x = mydata(list(range(100, 111)), {'st_mtime': 12.25})
assert x[8] == 108
assert x.st_mtime == 12.25
def test_compare_like_tuple():
- x = mydata(range(100, 111))
- y = mydata(range(100, 110) + [555])
+ x = mydata(list(range(100, 111)))
+ y = mydata(list(range(100, 110)) + [555])
assert x == tuple(range(100, 110))
assert x == y # blame CPython
assert hash(x) == hash(y) == hash(tuple(range(100, 110)))
def test_pickle():
import pickle
- x = mydata(range(100, 111))
+ x = mydata(list(range(100, 111)))
s = pickle.dumps(x)
y = pickle.loads(s)
assert x == y
assert x.st_rdev == y.st_rdev == 110
def test_readonly():
- x = mydata(range(100, 113))
+ x = mydata(list(range(100, 113)))
py.test.raises((TypeError, AttributeError), "x.st_mode = 1")
py.test.raises((TypeError, AttributeError), "x.st_mtime = 1")
py.test.raises((TypeError, AttributeError), "x.st_rdev = 1")
def test_no_extra_assignments():
- x = mydata(range(100, 113))
+ x = mydata(list(range(100, 113)))
py.test.raises((TypeError, AttributeError), "x.some_random_attribute = 1")
diff --git a/lib_pypy/pypy_test/test_syslog.py
b/lib_pypy/pypy_test/test_syslog.py
--- a/lib_pypy/pypy_test/test_syslog.py
+++ b/lib_pypy/pypy_test/test_syslog.py
@@ -1,4 +1,3 @@
-from __future__ import absolute_import
# XXX very minimal test
from lib_pypy.ctypes_config_cache import rebuild
diff --git a/lib_pypy/resource.py b/lib_pypy/resource.py
--- a/lib_pypy/resource.py
+++ b/lib_pypy/resource.py
@@ -67,9 +67,7 @@
_getrusage.restype = c_int
-class struct_rusage:
- __metaclass__ = _structseq.structseqtype
-
+class struct_rusage(metaclass=_structseq.structseqtype):
ru_utime = _structseq.structseqfield(0)
ru_stime = _structseq.structseqfield(1)
ru_maxrss = _structseq.structseqfield(2)
diff --git a/lib_pypy/stackless.py b/lib_pypy/stackless.py
--- a/lib_pypy/stackless.py
+++ b/lib_pypy/stackless.py
@@ -93,7 +93,7 @@
try:
- from thread import _local
+ from _thread import _local
except ImportError:
class _local(object): # assume no threads
pass
@@ -168,7 +168,7 @@
self.traceback = exp_traceback
def raise_(self):
- raise self.type, self.value, self.traceback
+ raise self.type(self.value).with_traceback(self.traceback)
#
#
@@ -433,16 +433,16 @@
def insert(self):
if self.blocked:
- raise RuntimeError, "You cannot run a blocked tasklet"
+ raise RuntimeError("You cannot run a blocked tasklet")
if not self.alive:
- raise RuntimeError, "You cannot run an unbound(dead) tasklet"
+ raise RuntimeError("You cannot run an unbound(dead) tasklet")
_scheduler_append(self)
def remove(self):
if self.blocked:
- raise RuntimeError, "You cannot remove a blocked tasklet."
+ raise RuntimeError("You cannot remove a blocked tasklet.")
if self is getcurrent():
- raise RuntimeError, "The current tasklet cannot be removed."
+ raise RuntimeError("The current tasklet cannot be removed.")
# not sure if I will revive this " Use t=tasklet().capture()"
_scheduler_remove(self)
@@ -535,7 +535,7 @@
_main_tasklet = coroutine.getcurrent()
_main_tasklet.__class__ = tasklet # XXX HAAAAAAAAAAAAAAAAAAAAACK
_last_task = _main_tasklet
- tasklet._init.im_func(_main_tasklet, label='main')
+ tasklet._init.__func__(_main_tasklet, label='main')
_squeue = deque()
_scheduler_append(_main_tasklet)
diff --git a/lib_pypy/tputil.py b/lib_pypy/tputil.py
--- a/lib_pypy/tputil.py
+++ b/lib_pypy/tputil.py
@@ -53,8 +53,8 @@
res = objattr(*self.args, **self.kwargs)
if self.opname == "__getattribute__":
if (isinstance(res, MethodType) and
- res.im_self is self.instance):
- res = MethodType(res.im_func, self.proxyobj, res.im_class)
+ res.__self__ is self.instance):
+ res = MethodType(res.__func__, self.proxyobj,
res.__self__.__class__)
if res is self.obj:
res = self.proxyobj
return res
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit