[Jython-checkins] jython: Keyword arguments for str.encode/decode (Python 2.7).

nicholas.riley jython-checkins at python.org
Wed Mar 14 20:46:20 CET 2012


http://hg.python.org/jython/rev/5b7cde93b675
changeset:   6364:5b7cde93b675
user:        Nicholas Riley <njriley at illinois.edu>
date:        Wed Mar 14 15:30:28 2012 -0400
summary:
  Keyword arguments for str.encode/decode (Python 2.7).

files:
  src/org/python/core/PyString.java |  36 +++++++++++-------
  1 files changed, 21 insertions(+), 15 deletions(-)


diff --git a/src/org/python/core/PyString.java b/src/org/python/core/PyString.java
--- a/src/org/python/core/PyString.java
+++ b/src/org/python/core/PyString.java
@@ -1,8 +1,6 @@
 /// Copyright (c) Corporation for National Research Initiatives
 package org.python.core;
 
-import java.math.BigInteger;
-
 import org.python.core.stringlib.FieldNameIterator;
 import org.python.core.stringlib.InternalFormatSpec;
 import org.python.core.stringlib.InternalFormatSpecParser;
@@ -14,6 +12,8 @@
 import org.python.expose.ExposedType;
 import org.python.expose.MethodType;
 
+import java.math.BigInteger;
+
 /**
  * A builtin python string.
  */
@@ -2492,37 +2492,43 @@
     }
 
     public String encode() {
-        return str_encode(null, null);
+        return encode(null, null);
     }
 
     public String encode(String encoding) {
-        return str_encode(encoding, null);
+        return encode(encoding, null);
     }
 
     public String encode(String encoding, String errors) {
-        return str_encode(encoding, errors);
-    }
-
-    @ExposedMethod(defaults = {"null", "null"}, doc = BuiltinDocs.str_encode_doc)
-    final String str_encode(String encoding, String errors) {
         return codecs.encode(this, encoding, errors);
     }
 
+    @ExposedMethod(doc = BuiltinDocs.str_encode_doc)
+    final String str_encode(PyObject[] args, String[] keywords) {
+        ArgParser ap = new ArgParser("encode", args, keywords, "encoding", "errors");
+        String encoding = ap.getString(0, null);
+        String errors = ap.getString(1, null);
+        return encode(encoding, errors);
+    }
+    
     public PyObject decode() {
-        return str_decode(null, null);
+        return decode(null, null);
     }
 
     public PyObject decode(String encoding) {
-        return str_decode(encoding, null);
+        return decode(encoding, null);
     }
 
     public PyObject decode(String encoding, String errors) {
-        return str_decode(encoding, errors);
+        return codecs.decode(this, encoding, errors);
     }
 
-    @ExposedMethod(defaults = {"null", "null"}, doc = BuiltinDocs.str_decode_doc)
-    final PyObject str_decode(String encoding, String errors) {
-        return codecs.decode(this, encoding, errors);
+    @ExposedMethod(doc = BuiltinDocs.str_decode_doc)
+    final PyObject str_decode(PyObject[] args, String[] keywords) {
+        ArgParser ap = new ArgParser("decode", args, keywords, "encoding", "errors");
+        String encoding = ap.getString(0, null);
+        String errors = ap.getString(1, null);
+        return decode(encoding, errors);
     }
 
     @ExposedMethod(doc = BuiltinDocs.str__formatter_parser_doc)

-- 
Repository URL: http://hg.python.org/jython


More information about the Jython-checkins mailing list