You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(107) |
Dec
(67) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(76) |
Feb
(125) |
Mar
(72) |
Apr
(13) |
May
(18) |
Jun
(12) |
Jul
(129) |
Aug
(47) |
Sep
(1) |
Oct
(36) |
Nov
(128) |
Dec
(124) |
2002 |
Jan
(59) |
Feb
|
Mar
(14) |
Apr
(14) |
May
(72) |
Jun
(9) |
Jul
(3) |
Aug
(5) |
Sep
(18) |
Oct
(65) |
Nov
(28) |
Dec
(12) |
2003 |
Jan
(10) |
Feb
(2) |
Mar
(4) |
Apr
(33) |
May
(21) |
Jun
(9) |
Jul
(29) |
Aug
(34) |
Sep
(4) |
Oct
(8) |
Nov
(15) |
Dec
(4) |
2004 |
Jan
(26) |
Feb
(12) |
Mar
(11) |
Apr
(9) |
May
(7) |
Jun
|
Jul
(5) |
Aug
|
Sep
(3) |
Oct
(7) |
Nov
(1) |
Dec
(10) |
2005 |
Jan
(2) |
Feb
(72) |
Mar
(16) |
Apr
(39) |
May
(48) |
Jun
(97) |
Jul
(57) |
Aug
(13) |
Sep
(16) |
Oct
(24) |
Nov
(100) |
Dec
(24) |
2006 |
Jan
(15) |
Feb
(34) |
Mar
(33) |
Apr
(31) |
May
(79) |
Jun
(64) |
Jul
(41) |
Aug
(64) |
Sep
(31) |
Oct
(46) |
Nov
(55) |
Dec
(37) |
2007 |
Jan
(32) |
Feb
(61) |
Mar
(11) |
Apr
(58) |
May
(46) |
Jun
(30) |
Jul
(94) |
Aug
(93) |
Sep
(86) |
Oct
(69) |
Nov
(125) |
Dec
(177) |
2008 |
Jan
(169) |
Feb
(97) |
Mar
(74) |
Apr
(113) |
May
(120) |
Jun
(334) |
Jul
(215) |
Aug
(237) |
Sep
(72) |
Oct
(189) |
Nov
(126) |
Dec
(160) |
2009 |
Jan
(180) |
Feb
(45) |
Mar
(98) |
Apr
(140) |
May
(151) |
Jun
(71) |
Jul
(107) |
Aug
(119) |
Sep
(73) |
Oct
(121) |
Nov
(14) |
Dec
(6) |
2010 |
Jan
(13) |
Feb
(9) |
Mar
(10) |
Apr
(64) |
May
(3) |
Jun
(16) |
Jul
(7) |
Aug
(23) |
Sep
(17) |
Oct
(37) |
Nov
(5) |
Dec
(8) |
2011 |
Jan
(10) |
Feb
(11) |
Mar
(77) |
Apr
(11) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Finn B. <bc...@us...> - 2001-01-15 18:38:30
|
Update of /cvsroot/jython/jython/installer In directory usw-pr-cvs1:/tmp/cvs-serv21763 Modified Files: liftoff.filelist Log Message: Added the new files for reload support. Index: liftoff.filelist =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.filelist,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** liftoff.filelist 2000/12/25 11:02:29 1.8 --- liftoff.filelist 2001/01/15 18:38:23 1.9 *************** *** 53,56 **** --- 53,57 ---- t Lib/javaos.py ..\Lib\javaos.py t Lib/javapath.py ..\Lib\javapath.py + t Lib/jreload.py ..\Lib\jreload.py t Lib/marshal.py ..\Lib\marshal.py t Lib/socket.py ..\Lib\socket.py *************** *** 305,308 **** --- 306,313 ---- t org/python/util/PythonObjectInputStream.java ..\org\python\util\PythonObjectInputStream.java t org/python/util/Makefile ..\org\python\util\Makefile + t Lib/jxxload_help/DiscardHelp.java ..\Lib\jxxload_help\DiscardHelp.java + t Lib/jxxload_help/PackageManager.java ..\Lib\jxxload_help\PackageManager.java + t Lib/jxxload_help/PathVFS.java ..\Lib\jxxload_help\PathVFS.java + t Lib/jxxload_help/PathVFSJavaLoader.java ..\Lib\jxxload_help\PathVFSJavaLoader.java # # Library modules from CPython |
From: Finn B. <bc...@us...> - 2001-01-15 18:27:46
|
Update of /cvsroot/jython/jython/org/python/util In directory usw-pr-cvs1:/tmp/cvs-serv17173 Modified Files: PythonInterpreter.java Log Message: Added an initialize() convinience method. Index: PythonInterpreter.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/util/PythonInterpreter.java,v retrieving revision 2.5 retrieving revision 2.6 diff -C2 -r2.5 -r2.6 *** PythonInterpreter.java 2000/12/11 18:56:34 2.5 --- PythonInterpreter.java 2001/01/15 18:27:38 2.6 *************** *** 2,5 **** --- 2,6 ---- package org.python.util; import org.python.core.*; + import java.util.*; /** *************** *** 16,20 **** PyObject locals; ! // Initialize from a possibly precompiled Python module /** --- 17,41 ---- PyObject locals; ! /** ! * Initialize the jython runtime. This method should only be ! * called once, and should be call before any other python objects ! * are created (included a PythonInterpreter). ! * ! * @param preProperties A set of properties. Typically ! * System.getProperties() is used. ! * @param postProperties An other set of properties. Values like ! * python.home, python.path and all other ! * values from the registry files can be ! * added to this property set. PostProperties ! * will override system properties and ! * registry properties. ! * @param argv Command line argument. These values will ! * assigned to sys.argv. ! */ ! public static void initialize(Properties preProperties, ! Properties postProperties, ! String[] argv) { ! PySystemState.initialize(preProperties, postProperties, argv); ! } /** |
From: Finn B. <bc...@us...> - 2001-01-15 18:26:49
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv16760 Modified Files: PySystemState.java Log Message: Updated to rc1. Index: PySystemState.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PySystemState.java,v retrieving revision 2.41 retrieving revision 2.42 diff -C2 -r2.41 -r2.42 *** PySystemState.java 2001/01/10 16:30:12 2.41 --- PySystemState.java 2001/01/15 18:26:42 2.42 *************** *** 14,18 **** * The current version of JPython. */ ! public static String version = "2.0beta2"; /** --- 14,18 ---- * The current version of JPython. */ ! public static String version = "2.0rc1"; /** |
From: Finn B. <bc...@us...> - 2001-01-15 18:26:01
|
Update of /cvsroot/jython/jython/installer In directory usw-pr-cvs1:/tmp/cvs-serv16453 Modified Files: liftoff.props Log Message: Updated to rc1. Index: liftoff.props =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.props,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** liftoff.props 2001/01/10 16:27:24 1.6 --- liftoff.props 2001/01/15 18:25:53 1.7 *************** *** 2,9 **** product.author=The Jython Team product.string=Jython ! product.version=2.0beta2 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0b2 license.licenseText=LICENSE.txt product.readmeText=README.txt --- 2,9 ---- product.author=The Jython Team product.string=Jython ! product.version=2.0rc1 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0rc1 license.licenseText=LICENSE.txt product.readmeText=README.txt |
From: Finn B. <bc...@us...> - 2001-01-15 18:25:29
|
Update of /cvsroot/jython/htdocs/images In directory usw-pr-cvs1:/tmp/cvs-serv16264 Modified Files: jython-new-small.gif Log Message: Using Ivan Kougaenko's icon. Index: jython-new-small.gif =================================================================== RCS file: /cvsroot/jython/htdocs/images/jython-new-small.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 Binary files /tmp/cvsxQ7i7d and /tmp/cvsGVLd2h differ |
From: Finn B. <bc...@us...> - 2001-01-15 18:25:01
|
Update of /cvsroot/jython/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv16066 Modified Files: install.ht Log Message: Updated to rc1. Index: install.ht =================================================================== RCS file: /cvsroot/jython/htdocs/install.ht,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** install.ht 2001/01/10 11:25:13 1.8 --- install.ht 2001/01/15 18:24:53 1.9 *************** *** 6,13 **** <A HREF="http://liftoff.sourceforge.net">LiftOff</A>. To install Jython, open the command line to the directory in which ! you have placed the jython-20b2.class file and then type: <BLOCKQUOTE> ! <P><java interpreter> jython-20b2</P> </BLOCKQUOTE> --- 6,13 ---- <A HREF="http://liftoff.sourceforge.net">LiftOff</A>. To install Jython, open the command line to the directory in which ! you have placed the jython-20rc1.class file and then type: <BLOCKQUOTE> ! <P><java interpreter> jython-20rc1</P> </BLOCKQUOTE> *************** *** 17,25 **** <BLOCKQUOTE> ! <P><TT>java jython-20b2</TT></P> ! <P><TT>jre jython-20b2</TT></P> ! <P><TT>jview jython-20b2</TT> </BLOCKQUOTE> --- 17,25 ---- <BLOCKQUOTE> ! <P><TT>java jython-20rc1</TT></P> ! <P><TT>jre jython-20rc1</TT></P> ! <P><TT>jview jython-20rc1</TT> </BLOCKQUOTE> *************** *** 27,37 **** <BLOCKQUOTE> ! <P><TT>env CLASSPATH=. java jython-20b2</TT> ! <P><TT>java -cp . jython-20b2</TT> ! <P><TT>java -classpath . jython-20b2</TT> ! <P><TT>jview /cp:. jython-20b2</TT> </BLOCKQUOTE> --- 27,37 ---- <BLOCKQUOTE> ! <P><TT>env CLASSPATH=. java jython-20rc1</TT> ! <P><TT>java -cp . jython-20rc1</TT> ! <P><TT>java -classpath . jython-20rc1</TT> ! <P><TT>jview /cp:. jython-20rc1</TT> </BLOCKQUOTE> *************** *** 42,46 **** to your PATH, so running the <tt>java jython-20a</tt> command will make jython use the JRE. Specify the full path if you want to use JDK instead, ie: ! <tt>c:\Programs\JDK1.2\bin\java -cp . jython-20b2</tt>. <P>If you do not have a GUI, then add <tt>-o dir_to_install_to</tt> to the --- 42,46 ---- to your PATH, so running the <tt>java jython-20a</tt> command will make jython use the JRE. Specify the full path if you want to use JDK instead, ie: ! <tt>c:\Programs\JDK1.2\bin\java -cp . jython-20rc1</tt>. <P>If you do not have a GUI, then add <tt>-o dir_to_install_to</tt> to the *************** *** 50,54 **** <BLOCKQUOTE> ! <P><TT><java interpreter> jython-20b2 -o Jython-2.0 demo lib source</TT> </BLOCKQUOTE> --- 50,54 ---- <BLOCKQUOTE> ! <P><TT><java interpreter> jython-20rc1 -o Jython-2.0 demo lib source</TT> </BLOCKQUOTE> *************** *** 82,86 **** <A HREF="mailto:jyt...@li...">jython-dev</A>. ! <P>As a workaround you can extract the jython-20b2.class manually. The class file is basicly a .zip file and most unzip programs can manage to extract the contents of the class into a directory. --- 82,86 ---- <A HREF="mailto:jyt...@li...">jython-dev</A>. ! <P>As a workaround you can extract the jython-20rc1.class manually. The class file is basicly a .zip file and most unzip programs can manage to extract the contents of the class into a directory. |
From: Finn B. <bc...@us...> - 2001-01-15 18:24:39
|
Update of /cvsroot/jython/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv15911 Modified Files: index.ht Log Message: Updated to rc1. Index: index.ht =================================================================== RCS file: /cvsroot/jython/htdocs/index.ht,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** index.ht 2001/01/10 11:25:13 1.11 --- index.ht 2001/01/15 18:24:32 1.12 *************** *** 16,27 **** ! <h3><em><font size=+1 color="red">Jython News</font></em></h3> <dl> ! <p><dt><b>Jython 2.0 beta 2 released!</b> <dd>Download the lastest relase of Jython <a href="download.html">here</a>, or <a href="NEWS.html">read a summary</a> ! of recent changes. (10-jan-2001). <p><dt><b>Jython 2.0 beta 1 released!</b> --- 16,33 ---- ! <h3><font size=+1 color="#666699">Jython News</font></h3> <dl> ! <p><dt><b>Jython 2.0 release candidate 1 released!</b> <dd>Download the lastest relase of Jython <a href="download.html">here</a>, or <a href="NEWS.html">read a summary</a> ! of recent changes. (15-jan-2001). ! ! <p><dt><b>New website layout.</b> ! <dd>New colors and an icon created by Ivan Kougaenko. (15-jan-2001). ! ! <p><dt><b>Jython 2.0 beta 2 released!</b> ! <dd>The second beta release of Jython is available (10-jan-2001). <p><dt><b>Jython 2.0 beta 1 released!</b> *************** *** 32,44 **** for installation and setup of Jython on MacOS. (27-dec-2000). - <p><dt><b>Jython 2.0 alpha 3 released!</b> - <dd>The second alpha release of Jython is available (25-dec-2000). - - <p><dt><b>Jython 2.0 alpha 2 released!</b> - <dd>The second alpha release of Jython is available (17-dec-2000). - - <p><dt><b>Jython 2.0 alpha 1 released!</b> - <dd>The first alpha release of Jython is available (26-nov-2000). - <p><dt><b>Jython project announced</b> <dd>The Jython project have been created on sourceforge. Read the --- 38,41 ---- *************** *** 48,52 **** ! <h3><em><font size=+1 color="red">Jython In the press</font></em></h3> <dl> --- 45,49 ---- ! <h3><font size=+1 color="#666699">Jython In the press</font></h3> <dl> *************** *** 70,74 **** </dl> ! <font size=-1> last updated 10-jan-2001 </font> --- 67,71 ---- </dl> ! <font size=-1> last updated 15-jan-2001 </font> |
From: Finn B. <bc...@us...> - 2001-01-15 18:24:05
|
Update of /cvsroot/jython/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv15615 Modified Files: download.ht Log Message: Updated to rc1. Removed refrence to PSA. Index: download.ht =================================================================== RCS file: /cvsroot/jython/htdocs/download.ht,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** download.ht 2001/01/10 11:25:13 1.6 --- download.ht 2001/01/15 18:23:58 1.7 *************** *** 33,37 **** <li><a href="license.html">Read the license</a> <li><a href="http://sourceforge.net/project/showfiles.php?group_id=12867"> ! Download Jython 2.0 beta 2</a> <li><a href="install.html">View Installation instructions</a> </ul> --- 33,37 ---- <li><a href="license.html">Read the license</a> <li><a href="http://sourceforge.net/project/showfiles.php?group_id=12867"> ! Download Jython 2.0 release candidate 1</a> <li><a href="install.html">View Installation instructions</a> </ul> *************** *** 76,85 **** your project, or your company, so we can add it to the <a href="users.html">Jython Users</a> page. - - <p><li><b>Join the PSA (<i>optional</i>)</b> - - <p>Show you support for Python and Jython by joining the - <a href="http://www.python.org/psa/">Python - Software Activity</a>! </UL> --- 76,79 ---- |
From: Finn B. <bc...@us...> - 2001-01-15 18:23:26
|
Update of /cvsroot/jython/jython/Doc/images In directory usw-pr-cvs1:/tmp/cvs-serv15283 Modified Files: jython-new-small.gif Log Message: Using Ivan Kougaenko's icon. Index: jython-new-small.gif =================================================================== RCS file: /cvsroot/jython/jython/Doc/images/jython-new-small.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 Binary files /tmp/cvsGjBfYQ and /tmp/cvsQJeaTx differ |
From: Finn B. <bc...@us...> - 2001-01-15 18:22:15
|
Update of /cvsroot/jython/jython In directory usw-pr-cvs1:/tmp/cvs-serv14794 Modified Files: build.xml Log Message: Added compilation of the sources in jxxload_help. Index: build.xml =================================================================== RCS file: /cvsroot/jython/jython/build.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** build.xml 2000/12/17 19:47:22 1.5 --- build.xml 2001/01/15 18:21:44 1.6 *************** *** 76,79 **** --- 76,85 ---- /> + <javac + srcdir="${sourceDir}/Lib" + includes="jxxload_help/**" + destdir="${outputDir}/" + /> + <copy file="org/python/modules/ucnhash.dat" todir="${outputDir}/org/python/modules" /> |
From: Finn B. <bc...@us...> - 2001-01-15 18:20:07
|
Update of /cvsroot/jython/jython In directory usw-pr-cvs1:/tmp/cvs-serv14423 Modified Files: README.txt Log Message: Updated to rc1. Fixed a typo. Index: README.txt =================================================================== RCS file: /cvsroot/jython/jython/README.txt,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** README.txt 2001/01/10 16:27:49 1.8 --- README.txt 2001/01/15 18:19:59 1.9 *************** *** 1,3 **** ! Welcome to Jython 2.0 beta 2 ============================= --- 1,3 ---- ! Welcome to Jython 2.0 rc 1 ============================= *************** *** 16,20 **** - The user configuration file is now called <user.home>/.jython ! - The jar file conytaining all jython is now called jython.jar. - Text files will pass data read and written through the default --- 16,21 ---- - The user configuration file is now called <user.home>/.jython ! - The jar file containing all the jython classes is now called ! jython.jar. - Text files will pass data read and written through the default |
From: Finn B. <bc...@us...> - 2001-01-15 18:18:57
|
Update of /cvsroot/jython/jython In directory usw-pr-cvs1:/tmp/cvs-serv13763 Modified Files: NEWS Log Message: Updated to rc1. Index: NEWS =================================================================== RCS file: /cvsroot/jython/jython/NEWS,v retrieving revision 2.22 retrieving revision 2.23 diff -C2 -r2.22 -r2.23 *** NEWS 2001/01/10 11:25:43 2.22 --- NEWS 2001/01/15 18:18:50 2.23 *************** *** 1,4 **** --- 1,14 ---- Jython NEWS + 15-Jan-2001 Jython 2.0 release candidate 1 + + New features + - Experimental support for reloading java packages. Thanks to + Samuele Pedroni for all his work on the Jython/Java integration. + + Bug fixes. + - Prevent a NPE when a .jar on the classpath is corrupt. Instead + a message with the original IOException is printed. + 10-Jan-2001 Jython 2.0 beta 2 |
From: Finn B. <bc...@us...> - 2001-01-15 18:18:10
|
Update of /cvsroot/jython/jython In directory usw-pr-cvs1:/tmp/cvs-serv13568 Modified Files: ACKNOWLEDGMENTS Log Message: Added Brian Zimmer & Ivan Kougaenko. Updated the list names. Index: ACKNOWLEDGMENTS =================================================================== RCS file: /cvsroot/jython/jython/ACKNOWLEDGMENTS,v retrieving revision 2.6 retrieving revision 2.7 diff -C2 -r2.6 -r2.7 *** ACKNOWLEDGMENTS 2000/11/24 16:54:07 2.6 --- ACKNOWLEDGMENTS 2001/01/15 18:18:02 2.7 *************** *** 13,18 **** Finn Bock has been a frequent and valuable contributor to the ! JPy...@py... mailing list, and has provided bug ! fixes and these important modules: cPickle.java --- 13,17 ---- Finn Bock has been a frequent and valuable contributor to the ! Jython, and has provided bug fixes and these important modules: cPickle.java *************** *** 26,34 **** Samuele Pedroni have designed and implemented the improved ! PackageManagers and fixed a lot of bugs. ! A huge thanks goes to all the members of the jpython-interest ! mailing list. Other folks who have contributed to JPython in ways ! large and small, in no particular order: Greg Ward --- 25,34 ---- Samuele Pedroni have designed and implemented the improved ! PackageManagers and java reload support and also fixed a lot ! of bugs. ! A huge thanks goes to all the members of the jpython/jython ! mailing lists. Other folks who have contributed to JPython and ! Jython in ways large and small, in no particular order: Greg Ward *************** *** 42,45 **** --- 42,47 ---- Bernhard Bablok Dj Walker-Morgan + Brian Zimmer + Ivan Kougaenko |
From: Samuele P. <ped...@us...> - 2001-01-15 04:52:06
|
Update of /cvsroot/jython/jython/Lib/jxxload_help In directory usw-pr-cvs1:/tmp/cvs-serv22086 Added Files: DiscardHelp.java PackageManager.java PathVFS.java PathVFSJavaLoader.java Log Message: experimental java classes reload support (0.1). --- NEW FILE --- // Copyright 2000 Samuele Pedroni package jxxload_help; import org.python.core.PyJavaClass; public class DiscardHelp extends Object { private DiscardHelp() { } private static boolean check(Class c,ClassLoader loader,java.util.Vector interfaces) { try { Class s = c; do { if (s.getClassLoader() == loader) return true; s = s.getSuperclass(); } while (s != null); for(java.util.Enumeration enum=interfaces.elements(); enum.hasMoreElements();) { Class intf = (Class)enum.nextElement(); if (intf.isAssignableFrom(c)) return true; } } catch(SecurityException e) { } return false; } // clearly not thread safe public static void discard(ClassLoader loader,java.util.Vector interfaces) { org.python.core.InternalTables tbl = PyJavaClass.getInternalTables(); tbl._beginCanonical(); PyJavaClass jc; while ((jc = (PyJavaClass)tbl._next()) != null ) { Class c = (Class)jc.__tojava__(Class.class); if(check(c,loader,interfaces)) tbl._flushCurrent(); } tbl._beginOverAdapterClasses(); Class c; while ((c = (Class)tbl._next()) != null) { if(interfaces.contains(c)) tbl._flushCurrent(); } tbl._beginOverAdapters(); while ((c = (Class)tbl._next()) != null) { if(interfaces.contains(c)) tbl._flushCurrent(); } } } --- NEW FILE --- // Copyright 2000 Samuele Pedroni package jxxload_help; public class PackageManager extends org.python.core.PathPackageManager { private ClassLoader parent; private ClassLoader loader; public PathVFS vfs; public synchronized ClassLoader getLoader() { if (loader == null) loader = new PathVFSJavaLoader(vfs,parent); return loader; } public synchronized void resetLoader() { loader = null; } // ??pending add cache support? public PackageManager(org.python.core.PyList path,ClassLoader parent) { vfs = new PathVFS(); this.parent = parent; for (int i = 0; i < path.__len__(); i++) { String entry = path.__finditem__(i).toString(); if (entry.endsWith(".jar") || entry.endsWith(".zip")) { addJarToPackages(new java.io.File(entry),false); } else { java.io.File dir = new java.io.File(entry); if (entry.length() == 0 || dir.isDirectory()) addDirectory(dir); } vfs.addVFS(entry); } } public Class findClass(String pkg,String name,String reason) { if (pkg != null && pkg.length()>0) name = pkg + '.' + name; try { return getLoader().loadClass(name); } catch(ClassNotFoundException e) { return null; } catch (LinkageError e) { throw org.python.core.Py.JavaError(e); } } } --- NEW FILE --- // Copyright 2000 Samuele Pedroni package jxxload_help; import java.util.Vector; import java.util.Hashtable; import java.util.Enumeration; import java.util.zip.ZipFile; import java.util.zip.ZipEntry; import java.io.*; public class PathVFS extends Object { public interface VFS { public InputStream open(String id); } public static class JarVFS implements VFS { private ZipFile zipfile; public JarVFS(String fname) throws IOException { zipfile = new ZipFile(fname); } public InputStream open(String id) { ZipEntry ent = zipfile.getEntry(id); if (ent == null) return null; try { return zipfile.getInputStream(ent); } catch(IOException e) { return null; } } } public static class DirVFS implements VFS { private String prefix; public DirVFS(String dir) { if (dir.length() == 0) prefix = null; else prefix = dir; } public InputStream open(String id) { File file = new File(prefix,id.replace('/',File.separatorChar)); if (file.isFile()) { try { return new BufferedInputStream(new FileInputStream(file)); } catch(IOException e) { return null; } } return null; } } private Vector vfs = new Vector(); private Hashtable once = new Hashtable(); private final static Object PRESENT = new Object(); public void addVFS(String fname) { if (fname.length() == 0) { if (!once.containsKey("")) { once.put("",PRESENT); vfs.addElement(new DirVFS("")); } return; } try { File file = new File(fname); String canon = file.getCanonicalPath().toString(); if (!once.containsKey(canon)) { once.put(canon,PRESENT); if (file.isDirectory()) vfs.addElement(new DirVFS(fname)); else if (file.exists() && (fname.endsWith(".jar") || fname.endsWith(".zip"))) { vfs.addElement(new JarVFS(fname)); } } } catch(IOException e) {} } public InputStream open(String id) { for(Enumeration enum = vfs.elements(); enum.hasMoreElements();) { VFS v = (VFS)enum.nextElement(); InputStream stream = v.open(id); if (stream != null) return stream; } return null; } } --- NEW FILE --- // Copyright 2000 Samuele Pedroni package jxxload_help; public class PathVFSJavaLoader extends ClassLoader { private ClassLoader parent; private PathVFS vfs; public java.util.Vector interfaces = new java.util.Vector(); public PathVFSJavaLoader(PathVFS vfs,ClassLoader parent) { this.vfs = vfs; this.parent = parent; } protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException { Class c; c = findLoadedClass(name); if (c != null) return c; try { if (parent != null) return parent.loadClass(name); } catch(ClassNotFoundException e) { } java.io.InputStream in = vfs.open(name.replace('.','/')+".class"); if (in == null) throw new ClassNotFoundException(name); try { int av = in.available(); byte[] buf = new byte[av]; in.read(buf); in.close(); return loadClassFromBytes(name,buf); } catch(java.io.IOException e) { throw new ClassNotFoundException(name); } } private Class loadClassFromBytes(String name, byte[] data) { Class c = defineClass(name, data, 0, data.length); resolveClass(c); if (c.isInterface()) interfaces.addElement(c); if (!org.python.core.Options.skipCompile) { Compiler.compileClass(c); } return c; } } |
From: Samuele P. <ped...@us...> - 2001-01-15 04:50:46
|
Update of /cvsroot/jython/jython/Lib In directory usw-pr-cvs1:/tmp/cvs-serv21981 Added Files: jreload.py Log Message: experimental java classes reload support (0.1). --- NEW FILE --- # java classes reload support (experimental) # Copyright 2000 Samuele Pedroni # ?? doc pending __version__ = "0.1" import sys from org.python.core import imp,PyJavaPackage,PyJavaClass import jxxload_help class _Unload: def __init__(self,ls): self.ls = ls self.loader = ls._mgr.loader def do_unload(self,pkg): for n in pkg.__dict__.keys(): e = pkg.__dict__[n] if isinstance(e,PyJavaClass): if PyJavaClass.isLazy(e): continue if e.classLoader is self.loader: del pkg.__dict__[n] elif isinstance(e,PyJavaPackage): self.do_unload(e) def __call__(self): if self.loader: self.do_unload(self.ls._top) loader = self.loader jxxload_help.DiscardHelp.discard(loader,loader.interfaces) if self.ls._mgr.loader is self.loader: self.ls._mgr.resetLoader() self.loader = None class LoadSet: # ?? for the moment from import * and dir do not work for LoadSet, but work for # contained pkgs # need java impl as PyObject def __init__(self,name,path): mgr = jxxload_help.PackageManager(path,imp.getSyspathJavaLoader()) self._name = name self._mgr = mgr self._top = mgr.topLevelPackage def __getattr__(self,name): if name == 'unload': return _Unload(self) else: return getattr(self._top,name) def __repr__(self): return "<java load-set %s>" % self._name def makeLoadSet(name,path): if sys.modules.has_key('name'): return sys.modules[name] sys.modules[name] = ls = LoadSet(name,path) return ls _reload = reload def _do_reload(mgr,pkg): pkg_name = pkg.__name__ for n in pkg.__dict__.keys(): e = pkg.__dict__[n] if isinstance(e,PyJavaClass): if PyJavaClass.isLazy(e): continue del pkg.__dict__[n] try : c = mgr.findClass(pkg_name,n); if c: pkg.__dict__[n] = c except: pass elif isinstance(e,PyJavaPackage): _do_reload(mgr,e) def reload(ls): if isinstance(ls,LoadSet): ls._mgr.resetLoader() _do_reload(ls._mgr,ls._top) else: return _reload(ls) |
From: Samuele P. <ped...@us...> - 2001-01-15 04:49:27
|
Update of /cvsroot/jython/jython/Lib/jxxload_help In directory usw-pr-cvs1:/tmp/cvs-serv21846/jxxload_help Log Message: Directory /cvsroot/jython/jython/Lib/jxxload_help added to the repository |
From: Samuele P. <ped...@us...> - 2001-01-15 04:44:42
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv21563 Modified Files: PyJavaClass.java __builtin__.java Log Message: minimal changes to core for jreload. should be safe. Index: PyJavaClass.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyJavaClass.java,v retrieving revision 2.28 retrieving revision 2.29 diff -C2 -r2.28 -r2.29 *** PyJavaClass.java 2000/12/16 13:37:14 2.28 --- PyJavaClass.java 2001/01/15 04:44:33 2.29 *************** *** 19,22 **** --- 19,25 ---- } + public static final boolean isLazy(PyJavaClass jc) { // ?? for jreload + return jc.proxyClass == null; + } public static final PyJavaClass lookup(String name,PackageManager mgr) { *************** *** 794,798 **** public Object __tojava__(Class c) { ! initialize(); return super.__tojava__(c); } --- 797,801 ---- public Object __tojava__(Class c) { ! if (c != PyJavaClass.class) initialize(); // ?? for isLazy return super.__tojava__(c); } Index: __builtin__.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/__builtin__.java,v retrieving revision 2.22 retrieving revision 2.23 diff -C2 -r2.22 -r2.23 *** __builtin__.java 2000/12/11 18:43:15 2.22 --- __builtin__.java 2001/01/15 04:44:33 2.23 *************** *** 59,62 **** --- 59,66 ---- case 9: return __builtin__.apply(arg1, arg2); + case 10: + if (!(arg2 instanceof PyClass)) + throw Py.TypeError("isinstance(): 2nd arg is not a class"); + return Py.newBoolean(__builtin__.isinstance(arg1,(PyClass) arg2)); default: throw argCountError(2); *************** *** 117,120 **** --- 121,125 ---- dict.__setitem__("tuple", new BuiltinFunctions("tuple", 8, 1)); dict.__setitem__("apply", new BuiltinFunctions("apply", 9, 2, 3)); + dict.__setitem__("isinstance", new BuiltinFunctions("isinstance", 10, 2)); // ?? for jreload dict.__setitem__("__import__", new ImportFunction()); } |
From: Samuele P. <ped...@us...> - 2001-01-15 04:43:40
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv21489 Modified Files: CachedJarsPackageManager.java Log Message: solves bug when reporting local fs "corrupted" jars. Index: CachedJarsPackageManager.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/CachedJarsPackageManager.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** CachedJarsPackageManager.java 2000/12/17 15:57:52 1.3 --- CachedJarsPackageManager.java 2001/01/15 04:43:30 1.4 *************** *** 270,274 **** // silently skip any bad directories warning("skipping bad jar, '" + ! jarurl.toString() + "'"); } --- 270,274 ---- // silently skip any bad directories warning("skipping bad jar, '" + ! (jarfile!=null?jarfile.toString():jarurl.toString()) + "'"); // ?? solve bug } |
From: Finn B. <bc...@us...> - 2001-01-10 16:29:53
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv28247 Modified Files: PySystemState.java Log Message: Updated to beta2. Index: PySystemState.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PySystemState.java,v retrieving revision 2.40 retrieving revision 2.41 diff -C2 -r2.40 -r2.41 *** PySystemState.java 2000/12/31 11:20:43 2.40 --- PySystemState.java 2001/01/10 16:30:12 2.41 *************** *** 14,18 **** * The current version of JPython. */ ! public static String version = "2.0beta1"; /** --- 14,18 ---- * The current version of JPython. */ ! public static String version = "2.0beta2"; /** |
From: Finn B. <bc...@us...> - 2001-01-10 16:27:30
|
Update of /cvsroot/jython/jython In directory usw-pr-cvs1:/tmp/cvs-serv27640 Modified Files: README.txt Log Message: Updated to beta2. Index: README.txt =================================================================== RCS file: /cvsroot/jython/jython/README.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** README.txt 2000/12/31 11:26:25 1.7 --- README.txt 2001/01/10 16:27:49 1.8 *************** *** 1,3 **** ! Welcome to Jython 2.0 beta 1 ============================= --- 1,3 ---- ! Welcome to Jython 2.0 beta 2 ============================= |
From: Finn B. <bc...@us...> - 2001-01-10 16:27:06
|
Update of /cvsroot/jython/jython/installer In directory usw-pr-cvs1:/tmp/cvs-serv27534 Modified Files: liftoff.props Log Message: Updated to beta2. Index: liftoff.props =================================================================== RCS file: /cvsroot/jython/jython/installer/liftoff.props,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** liftoff.props 2000/12/31 11:27:27 1.5 --- liftoff.props 2001/01/10 16:27:24 1.6 *************** *** 2,9 **** product.author=The Jython Team product.string=Jython ! product.version=2.0beta1 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0b1 license.licenseText=LICENSE.txt product.readmeText=README.txt --- 2,9 ---- product.author=The Jython Team product.string=Jython ! product.version=2.0beta2 java.minVersion=1.1 product.root= ! destination.package_prefix=jython-2.0b2 license.licenseText=LICENSE.txt product.readmeText=README.txt |
From: Finn B. <bc...@us...> - 2001-01-10 11:31:52
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv10361 Modified Files: Py.java Log Message: exec(): Allow a file as argument to exec. Index: Py.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/Py.java,v retrieving revision 2.29 retrieving revision 2.30 diff -C2 -r2.29 -r2.30 *** Py.java 2000/12/17 15:11:27 2.29 --- Py.java 2001/01/10 11:32:10 2.30 *************** *** 1056,1064 **** code = (PyCode)o; else { if (o instanceof PyString) ! code = __builtin__.compile(o.toString(), "<string>", "exec"); ! else throw Py.TypeError( ! "exec: argument 1 must be string or code object"); } Py.runCode(code, locals, globals); --- 1056,1071 ---- code = (PyCode)o; else { + String contents = null; if (o instanceof PyString) ! contents = o.toString(); ! else if (o instanceof PyFile) { ! PyFile fp = (PyFile)o; ! if (fp.closed) ! return; ! contents = fp.read().toString(); ! } else throw Py.TypeError( ! "exec: argument 1 must be string, code or file object"); ! code = __builtin__.compile(contents, "<string>", "exec"); } Py.runCode(code, locals, globals); |
From: Finn B. <bc...@us...> - 2001-01-10 11:27:11
|
Update of /cvsroot/jython/jython/Lib In directory usw-pr-cvs1:/tmp/cvs-serv9638 Modified Files: socket.py Log Message: Added Brian Zimmer's patch for getfqdn(). Index: socket.py =================================================================== RCS file: /cvsroot/jython/jython/Lib/socket.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** socket.py 2000/12/05 19:25:48 1.8 --- socket.py 2001/01/10 11:27:29 1.9 *************** *** 22,25 **** --- 22,51 ---- SOCK_STREAM = 2 + def _gethostbyaddr(name): + # This is as close as I can get; at least the types are correct... + addresses = java.net.InetAddress.getAllByName(gethostbyname(name)) + names = [] + addrs = [] + for addr in addresses: + names.append(addr.getHostName()) + addrs.append(addr.getHostAddress()) + return (names, addrs) + + def getfqdn(name=None): + """ + Return a fully qualified domain name for name. If name is omitted or empty + it is interpreted as the local host. To find the fully qualified name, + the hostname returned by gethostbyaddr() is checked, then aliases for the + host, if available. The first name which includes a period is selected. + In case no fully qualified domain name is available, the hostname is retur + New in version 2.0. + """ + if not name: + name = gethostname() + names, addrs = _gethostbyaddr(name) + for a in names: + if a.find(".") >= 0: + return a + return name def gethostname(): *************** *** 30,40 **** def gethostbyaddr(name): ! # This is as close as I can get; at least the types are correct... ! addresses = java.net.InetAddress.getAllByName(gethostbyname(name)) ! names = [] ! addrs = [] ! for addr in addresses: ! names.append(addr.getHostName()) ! addrs.append(addr.getHostAddress()) return (names[0], names, addrs) --- 56,60 ---- def gethostbyaddr(name): ! names, addrs = _gethostbyaddr(name) return (names[0], names, addrs) |
From: Finn B. <bc...@us...> - 2001-01-10 11:25:25
|
Update of /cvsroot/jython/jython In directory usw-pr-cvs1:/tmp/cvs-serv9260 Modified Files: NEWS Log Message: Updated to beta2. Index: NEWS =================================================================== RCS file: /cvsroot/jython/jython/NEWS,v retrieving revision 2.21 retrieving revision 2.22 diff -C2 -r2.21 -r2.22 *** NEWS 2001/01/07 09:20:05 2.21 --- NEWS 2001/01/10 11:25:43 2.22 *************** *** 1,9 **** Jython NEWS ! xx-Jan-2001 Jython 2.0 beta 2 Bug fixes. - Fixed innerclass names with '$' #127200 - Fixed a bug where final methods were overriden in proxy #127201. 31-Dec-2000 Jython 2.0 beta 1 --- 1,14 ---- Jython NEWS ! 10-Jan-2001 Jython 2.0 beta 2 + New features + - Added socket.getfqdn(). Thanks to Brian Zimmer for the patch. + Bug fixes. - Fixed innerclass names with '$' #127200 - Fixed a bug where final methods were overriden in proxy #127201. + - Fixed a bug in exec which allow a fileobject to be passed in. + Thanks to Brian Zimmer for the patch. 31-Dec-2000 Jython 2.0 beta 1 |
From: Finn B. <bc...@us...> - 2001-01-10 11:24:55
|
Update of /cvsroot/jython/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv9187 Modified Files: NEWS.ht download.ht index.ht install.ht Log Message: Updated to beta2. Index: NEWS.ht =================================================================== RCS file: /cvsroot/jython/htdocs/NEWS.ht,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** NEWS.ht 2000/12/31 13:39:21 1.4 --- NEWS.ht 2001/01/10 11:25:13 1.5 *************** *** 2,5 **** --- 2,16 ---- Jython NEWS + 10-Jan-2001 Jython 2.0 beta 2 + + New features + - Added socket.getfqdn(). Thanks to Brian Zimmer for the patch. + + Bug fixes. + - Fixed innerclass names with '$' #127200 + - Fixed a bug where final methods were overriden in proxy #127201. + - Fixed a bug in exec which allow a fileobject to be passed in. + Thanks to Brian Zimmer for the patch. + 31-Dec-2000 Jython 2.0 beta 1 Index: download.ht =================================================================== RCS file: /cvsroot/jython/htdocs/download.ht,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** download.ht 2000/12/31 13:33:51 1.5 --- download.ht 2001/01/10 11:25:13 1.6 *************** *** 33,37 **** <li><a href="license.html">Read the license</a> <li><a href="http://sourceforge.net/project/showfiles.php?group_id=12867"> ! Download Jython 2.0 beta 1</a> <li><a href="install.html">View Installation instructions</a> </ul> --- 33,37 ---- <li><a href="license.html">Read the license</a> <li><a href="http://sourceforge.net/project/showfiles.php?group_id=12867"> ! Download Jython 2.0 beta 2</a> <li><a href="install.html">View Installation instructions</a> </ul> Index: index.ht =================================================================== RCS file: /cvsroot/jython/htdocs/index.ht,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** index.ht 2000/12/31 13:34:22 1.10 --- index.ht 2001/01/10 11:25:13 1.11 *************** *** 12,16 **** <li><A HREF="download.html">Download</a> the lastest version. <li><A HREF="docs/index.html">Documentation</A> ! <li>The Jython <A HREF="docs/faq.html">FAQ</A>. </ul> --- 12,16 ---- <li><A HREF="download.html">Download</a> the lastest version. <li><A HREF="docs/index.html">Documentation</A> ! <li>The Jython <A HREF="http://jython.sourceforge.net/cgi-bin/faqw.py?req=index">FAQ</A>. </ul> *************** *** 20,27 **** <dl> ! <p><dt><b>Jython 2.0 beta 1 released!</b> <dd>Download the lastest relase of Jython <a href="download.html">here</a>, or <a href="NEWS.html">read a summary</a> ! of recent changes. (31-dec-2000). <p><dt><b>Step by step installation instruction for MacOS.</b> --- 20,30 ---- <dl> ! <p><dt><b>Jython 2.0 beta 2 released!</b> <dd>Download the lastest relase of Jython <a href="download.html">here</a>, or <a href="NEWS.html">read a summary</a> ! of recent changes. (10-jan-2001). ! ! <p><dt><b>Jython 2.0 beta 1 released!</b> ! <dd>The first beta release of Jython is available (31-dec-2000). <p><dt><b>Step by step installation instruction for MacOS.</b> *************** *** 67,71 **** </dl> ! <font size=-1> last updated 25-dec-2000 </font> --- 70,74 ---- </dl> ! <font size=-1> last updated 10-jan-2001 </font> Index: install.ht =================================================================== RCS file: /cvsroot/jython/htdocs/install.ht,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** install.ht 2000/12/31 13:34:43 1.7 --- install.ht 2001/01/10 11:25:13 1.8 *************** *** 6,13 **** <A HREF="http://liftoff.sourceforge.net">LiftOff</A>. To install Jython, open the command line to the directory in which ! you have placed the jython-20b1.class file and then type: <BLOCKQUOTE> ! <P><java interpreter> jython-20b1</P> </BLOCKQUOTE> --- 6,13 ---- <A HREF="http://liftoff.sourceforge.net">LiftOff</A>. To install Jython, open the command line to the directory in which ! you have placed the jython-20b2.class file and then type: <BLOCKQUOTE> ! <P><java interpreter> jython-20b2</P> </BLOCKQUOTE> *************** *** 17,25 **** <BLOCKQUOTE> ! <P><TT>java jython-20b1</TT></P> ! <P><TT>jre jython-20b1</TT></P> ! <P><TT>jview jython-20b1</TT> </BLOCKQUOTE> --- 17,25 ---- <BLOCKQUOTE> ! <P><TT>java jython-20b2</TT></P> ! <P><TT>jre jython-20b2</TT></P> ! <P><TT>jview jython-20b2</TT> </BLOCKQUOTE> *************** *** 27,37 **** <BLOCKQUOTE> ! <P><TT>env CLASSPATH=. java jython-20b1</TT> ! <P><TT>java -cp . jython-20b1</TT> ! <P><TT>java -classpath . jython-20b1</TT> ! <P><TT>jview /cp:. jython-20b1</TT> </BLOCKQUOTE> --- 27,37 ---- <BLOCKQUOTE> ! <P><TT>env CLASSPATH=. java jython-20b2</TT> ! <P><TT>java -cp . jython-20b2</TT> ! <P><TT>java -classpath . jython-20b2</TT> ! <P><TT>jview /cp:. jython-20b2</TT> </BLOCKQUOTE> *************** *** 42,46 **** to your PATH, so running the <tt>java jython-20a</tt> command will make jython use the JRE. Specify the full path if you want to use JDK instead, ie: ! <tt>c:\Programs\JDK1.2\bin\java -cp . jython-20b1</tt>. <P>If you do not have a GUI, then add <tt>-o dir_to_install_to</tt> to the --- 42,46 ---- to your PATH, so running the <tt>java jython-20a</tt> command will make jython use the JRE. Specify the full path if you want to use JDK instead, ie: ! <tt>c:\Programs\JDK1.2\bin\java -cp . jython-20b2</tt>. <P>If you do not have a GUI, then add <tt>-o dir_to_install_to</tt> to the *************** *** 50,54 **** <BLOCKQUOTE> ! <P><TT><java interpreter> jython-20b1 -o Jython-2.0 demo lib source</TT> </BLOCKQUOTE> --- 50,54 ---- <BLOCKQUOTE> ! <P><TT><java interpreter> jython-20b2 -o Jython-2.0 demo lib source</TT> </BLOCKQUOTE> *************** *** 82,86 **** <A HREF="mailto:jyt...@li...">jython-dev</A>. ! <P>As a workaround you can extract the jython-20b1.class manually. The class file is basicly a .zip file and most unzip programs can manage to extract the contents of the class into a directory. --- 82,86 ---- <A HREF="mailto:jyt...@li...">jython-dev</A>. ! <P>As a workaround you can extract the jython-20b2.class manually. The class file is basicly a .zip file and most unzip programs can manage to extract the contents of the class into a directory. |