Author: Manuel Jacob
Branch: refactor-str-types
Changeset: r65703:26fbdbbb7e48
Date: 2013-07-27 12:38 +0200
http://bitbucket.org/pypy/pypy/changeset/26fbdbbb7e48/

Log:    Re-add _formatter_parser() and _formatter_field_name_split().

diff --git a/pypy/objspace/std/bytesobject.py b/pypy/objspace/std/bytesobject.py
--- a/pypy/objspace/std/bytesobject.py
+++ b/pypy/objspace/std/bytesobject.py
@@ -217,6 +217,16 @@
         w_u = space.call_function(space.w_unicode, self)
         return space.call_method(w_u, "join", w_list)
 
+    def descr_formatter_parser(self, space):
+        from pypy.objspace.std.newformat import str_template_formatter
+        tformat = str_template_formatter(space, space.str_w(self))
+        return tformat.formatter_parser()
+
+    def descr_formatter_field_name_split(self, space):
+        from pypy.objspace.std.newformat import str_template_formatter
+        tformat = str_template_formatter(space, space.str_w(self))
+        return tformat.formatter_field_name_split()
+
 
 def _create_list_from_string(value):
     # need this helper function to allow the jit to look inside and inline
@@ -324,6 +334,9 @@
     __mod__ = interp2app(W_BytesObject.descr_mod),
     __buffer__ = interp2app(W_BytesObject.descr_buffer),
     __getnewargs__ = interp2app(W_BytesObject.descr_getnewargs),
+    _formatter_parser = interp2app(W_BytesObject.descr_formatter_parser),
+    _formatter_field_name_split =
+        interp2app(W_BytesObject.descr_formatter_field_name_split),
 )
 
 
@@ -372,18 +385,3 @@
     buf.append(quote)
 
     return buf.build()
-
-
-
-#str_formatter_parser           = SMM('_formatter_parser', 1)
-#str_formatter_field_name_split = SMM('_formatter_field_name_split', 1)
-#
-#def str_formatter_parser__ANY(space, w_str):
-#    from pypy.objspace.std.newformat import str_template_formatter
-#    tformat = str_template_formatter(space, space.str_w(w_str))
-#    return tformat.formatter_parser()
-#
-#def str_formatter_field_name_split__ANY(space, w_str):
-#    from pypy.objspace.std.newformat import str_template_formatter
-#    tformat = str_template_formatter(space, space.str_w(w_str))
-#    return tformat.formatter_field_name_split()
diff --git a/pypy/objspace/std/unicodeobject.py 
b/pypy/objspace/std/unicodeobject.py
--- a/pypy/objspace/std/unicodeobject.py
+++ b/pypy/objspace/std/unicodeobject.py
@@ -195,6 +195,16 @@
             return 0
         return 1
 
+    def descr_formatter_parser(self, space):
+        from pypy.objspace.std.newformat import unicode_template_formatter
+        tformat = unicode_template_formatter(space, space.unicode_w(self))
+        return tformat.formatter_parser()
+
+    def descr_formatter_field_name_split(self, space):
+        from pypy.objspace.std.newformat import unicode_template_formatter
+        tformat = unicode_template_formatter(space, space.unicode_w(self))
+        return tformat.formatter_field_name_split()
+
 
 def wrapunicode(space, uni):
     return W_UnicodeObject(uni)
@@ -216,16 +226,6 @@
         assert False, "unreachable"
 
 
-#def unicode_formatter_parser__ANY(space, w_unicode):
-#    from pypy.objspace.std.newformat import unicode_template_formatter
-#    tformat = unicode_template_formatter(space, space.unicode_w(w_unicode))
-#    return tformat.formatter_parser()
-#
-#def unicode_formatter_field_name_split__ANY(space, w_unicode):
-#    from pypy.objspace.std.newformat import unicode_template_formatter
-#    tformat = unicode_template_formatter(space, space.unicode_w(w_unicode))
-#    return tformat.formatter_field_name_split()
-
 # stuff imported from bytesobject for interoperability
 
 
@@ -459,6 +459,9 @@
     __format__ = interp2app(W_UnicodeObject.descr__format__),
     __mod__ = interp2app(W_UnicodeObject.descr_mod),
     __getnewargs__ = interp2app(W_UnicodeObject.descr_getnewargs),
+    _formatter_parser = interp2app(W_UnicodeObject.descr_formatter_parser),
+    _formatter_field_name_split =
+        interp2app(W_UnicodeObject.descr_formatter_field_name_split),
 )
 
 unitypedef = unicode_typedef
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to