Author: Manuel Jacob Branch: remove-remaining-smm Changeset: r69335:82db216f833a Date: 2014-02-24 04:09 +0100 http://bitbucket.org/pypy/pypy/changeset/82db216f833a/
Log: Move wrap_parsestringerror() -> pypy.objspace.std.util. diff --git a/pypy/objspace/std/floatobject.py b/pypy/objspace/std/floatobject.py --- a/pypy/objspace/std/floatobject.py +++ b/pypy/objspace/std/floatobject.py @@ -9,6 +9,7 @@ from pypy.objspace.std import newformat from pypy.objspace.std.longobject import W_LongObject from pypy.objspace.std.stdtypedef import StdTypeDef +from pypy.objspace.std.util import wrap_parsestringerror from rpython.rlib import rarithmetic, rfloat from rpython.rlib.rarithmetic import ovfcheck_float_to_int, intmask, LONG_BIT from rpython.rlib.rbigint import rbigint @@ -168,7 +169,6 @@ try: return rfloat.string_to_float(string) except ParseStringError as e: - from pypy.objspace.std.intobject import wrap_parsestringerror raise wrap_parsestringerror(space, e, w_source) w_value = w_x # 'x' is the keyword argument name in CPython diff --git a/pypy/objspace/std/intobject.py b/pypy/objspace/std/intobject.py --- a/pypy/objspace/std/intobject.py +++ b/pypy/objspace/std/intobject.py @@ -13,8 +13,7 @@ from rpython.rlib.rarithmetic import ( LONG_BIT, is_valid_int, ovfcheck, r_longlong, r_uint, string_to_int) from rpython.rlib.rbigint import rbigint -from rpython.rlib.rstring import ( - InvalidBaseError, ParseStringError, ParseStringOverflowError) +from rpython.rlib.rstring import ParseStringError, ParseStringOverflowError from rpython.tool.sourcetools import func_renamer, func_with_new_name from pypy.interpreter import typedef @@ -26,6 +25,7 @@ from pypy.objspace.std.model import ( BINARY_OPS, CMP_OPS, COMMUTATIVE_OPS, IDTAG_INT) from pypy.objspace.std.stdtypedef import StdTypeDef +from pypy.objspace.std.util import wrap_parsestringerror SENTINEL = object() @@ -605,15 +605,6 @@ return w_res -def wrap_parsestringerror(space, e, w_source): - if isinstance(e, InvalidBaseError): - w_msg = space.wrap(e.msg) - else: - w_msg = space.wrap('%s: %s' % (e.msg, - space.str_w(space.repr(w_source)))) - return OperationError(space.w_ValueError, w_msg) - - def _recover_with_smalllong(space): """True if there is a chance that a SmallLong would fit when an Int does not diff --git a/pypy/objspace/std/util.py b/pypy/objspace/std/util.py --- a/pypy/objspace/std/util.py +++ b/pypy/objspace/std/util.py @@ -1,3 +1,7 @@ +from pypy.interpreter.error import oefmt +from rpython.rlib.rstring import InvalidBaseError + + def negate(f): """Create a function which calls `f` and negates its result. When the result is ``space.w_NotImplemented``, ``space.w_NotImplemented`` is @@ -22,3 +26,11 @@ where = length assert where >= 0 return where + + +def wrap_parsestringerror(space, e, w_source): + if isinstance(e, InvalidBaseError): + raise oefmt(space.w_ValueError, e.msg) + else: + raise oefmt(space.w_ValueError, '%s: %s', + e.msg, space.str_w(space.repr(w_source))) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit