[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