[Jython-checkins] jython: Make sure java named tuples are PyTupleDerived. Issue2329

darjus.loktevic jython-checkins at python.org
Wed Nov 11 20:58:53 EST 2015


https://hg.python.org/jython/rev/bb887a886c4b
changeset:   7800:bb887a886c4b
user:        Darjus Loktevic <darjus at gmail.com>
date:        Thu Nov 12 12:58:46 2015 +1100
summary:
  Make sure java named tuples are PyTupleDerived. Issue2329

files:
  Lib/test/test_sys_jy.py                        |   4 +++
  src/org/python/core/PySystemState.java         |   4 +-
  src/org/python/core/PyVersionInfo.java         |   2 +-
  src/org/python/modules/posix/PyStatResult.java |  12 +--------
  src/org/python/modules/time/PyTimeTuple.java   |  11 +-------
  5 files changed, 11 insertions(+), 22 deletions(-)


diff --git a/Lib/test/test_sys_jy.py b/Lib/test/test_sys_jy.py
--- a/Lib/test/test_sys_jy.py
+++ b/Lib/test/test_sys_jy.py
@@ -68,6 +68,10 @@
         reload(sys)
         self.assert_(type(sys.getdefaultencoding) == type(gde))
 
+    def test_get_tuple_from_version_info(self):
+        # sys.version_info is a tuple subclass
+        self.assertEqual(type(tuple(sys.version_info)), tuple)
+
 
 def exec_code_separately(function, sharing=False):
     """Runs code in a separate context: (thread, PySystemState, PythonInterpreter)
diff --git a/src/org/python/core/PySystemState.java b/src/org/python/core/PySystemState.java
--- a/src/org/python/core/PySystemState.java
+++ b/src/org/python/core/PySystemState.java
@@ -1831,7 +1831,7 @@
 
 
 @ExposedType(name = "sys.float_info", isBaseType = false)
-class FloatInfo extends PyTuple {
+class FloatInfo extends PyTupleDerived {
 
     @ExposedGet
     public PyObject max, max_exp, max_10_exp, min, min_exp, min_10_exp, dig, mant_dig, epsilon,
@@ -1951,7 +1951,7 @@
 
 
 @ExposedType(name = "sys.long_info", isBaseType = false)
-class LongInfo extends PyTuple {
+class LongInfo extends PyTupleDerived {
 
     @ExposedGet
     public PyObject bits_per_digit, sizeof_digit;
diff --git a/src/org/python/core/PyVersionInfo.java b/src/org/python/core/PyVersionInfo.java
--- a/src/org/python/core/PyVersionInfo.java
+++ b/src/org/python/core/PyVersionInfo.java
@@ -6,7 +6,7 @@
 import org.python.expose.ExposedType;
 
 @ExposedType(name = "sys.version_info", isBaseType = false)
-public class PyVersionInfo extends PyTuple {
+public class PyVersionInfo extends PyTupleDerived {
     public static final PyType TYPE = PyType.fromClass(PyVersionInfo.class);
 
     @ExposedGet
diff --git a/src/org/python/modules/posix/PyStatResult.java b/src/org/python/modules/posix/PyStatResult.java
--- a/src/org/python/modules/posix/PyStatResult.java
+++ b/src/org/python/modules/posix/PyStatResult.java
@@ -3,15 +3,7 @@
 
 import jnr.posix.FileStat;
 
-import org.python.core.ArgParser;
-import org.python.core.Py;
-import org.python.core.PyList;
-import org.python.core.PyNewWrapper;
-import org.python.core.PyObject;
-import org.python.core.PyString;
-import org.python.core.PyTuple;
-import org.python.core.PyType;
-import org.python.core.Visitproc;
+import org.python.core.*;
 
 import org.python.expose.ExposedGet;
 import org.python.expose.ExposedMethod;
@@ -25,7 +17,7 @@
 import java.util.concurrent.TimeUnit;
 
 @ExposedType(name = "stat_result", isBaseType = false)
-public class PyStatResult extends PyTuple {
+public class PyStatResult extends PyTupleDerived {
 
     public static final PyType TYPE = PyType.fromClass(PyStatResult.class);
 
diff --git a/src/org/python/modules/time/PyTimeTuple.java b/src/org/python/modules/time/PyTimeTuple.java
--- a/src/org/python/modules/time/PyTimeTuple.java
+++ b/src/org/python/modules/time/PyTimeTuple.java
@@ -1,14 +1,7 @@
 /* Copyright (c) 2005-2008 Jython Developers */
 package org.python.modules.time;
 
-import org.python.core.ArgParser;
-import org.python.core.Py;
-import org.python.core.PyList;
-import org.python.core.PyNewWrapper;
-import org.python.core.PyObject;
-import org.python.core.PyTuple;
-import org.python.core.PyType;
-import org.python.core.Visitproc;
+import org.python.core.*;
 import org.python.expose.ExposedGet;
 import org.python.expose.ExposedMethod;
 import org.python.expose.ExposedNew;
@@ -20,7 +13,7 @@
  *
  */
 @ExposedType(name = "time.struct_time", isBaseType = false)
-public class PyTimeTuple extends PyTuple {
+public class PyTimeTuple extends PyTupleDerived {
 
     @ExposedGet
     public PyObject tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst;

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


More information about the Jython-checkins mailing list