From: <pj...@us...> - 2008-11-24 05:02:05
|
Revision: 5630 http://jython.svn.sourceforge.net/jython/?rev=5630&view=rev Author: pjenvey Date: 2008-11-24 05:02:01 +0000 (Mon, 24 Nov 2008) Log Message: ----------- fix PyZipFile to compile to $py.class Modified Paths: -------------- trunk/jython/Lib/test/test_zipfile.py trunk/jython/Lib/zipfile.py Modified: trunk/jython/Lib/test/test_zipfile.py =================================================================== --- trunk/jython/Lib/test/test_zipfile.py 2008-11-24 05:01:02 UTC (rev 5629) +++ trunk/jython/Lib/test/test_zipfile.py 2008-11-24 05:02:01 UTC (rev 5630) @@ -9,7 +9,7 @@ from StringIO import StringIO from tempfile import TemporaryFile -from test.test_support import TESTFN, run_unittest +from test.test_support import TESTFN, is_jython, run_unittest TESTFN2 = TESTFN + "2" @@ -245,12 +245,17 @@ fn = __file__ if fn.endswith('.pyc') or fn.endswith('.pyo'): fn = fn[:-1] + elif fn.endswith('$py.class'): + fn = fn[:-9] + '.py' zipfp.writepy(fn) bn = os.path.basename(fn) self.assert_(bn not in zipfp.namelist()) - self.assert_(bn + 'o' in zipfp.namelist() or bn + 'c' in zipfp.namelist()) + if not is_jython: + self.assert_(bn + 'o' in zipfp.namelist() or bn + 'c' in zipfp.namelist()) + else: + self.assert_(bn[:-3] + '$py.class' in zipfp.namelist()) zipfp.close() @@ -258,12 +263,17 @@ fn = __file__ if fn.endswith('.pyc') or fn.endswith('.pyo'): fn = fn[:-1] + elif fn.endswith('$py.class'): + fn = fn[:-9] + '.py' zipfp.writepy(fn, "testpackage") bn = "%s/%s"%("testpackage", os.path.basename(fn)) self.assert_(bn not in zipfp.namelist()) - self.assert_(bn + 'o' in zipfp.namelist() or bn + 'c' in zipfp.namelist()) + if not is_jython: + self.assert_(bn + 'o' in zipfp.namelist() or bn + 'c' in zipfp.namelist()) + else: + self.assert_(bn[:-3] + '$py.class' in zipfp.namelist()) zipfp.close() def testWritePythonPackage(self): @@ -275,8 +285,12 @@ # Check for a couple of modules at different levels of the hieararchy names = zipfp.namelist() - self.assert_('email/__init__.pyo' in names or 'email/__init__.pyc' in names) - self.assert_('email/mime/text.pyo' in names or 'email/mime/text.pyc' in names) + if not is_jython: + self.assert_('email/__init__.pyo' in names or 'email/__init__.pyc' in names) + self.assert_('email/mime/text.pyo' in names or 'email/mime/text.pyc' in names) + else: + self.assert_('email/__init__$py.class' in names) + self.assert_('email/mime/text$py.class' in names) def testWritePythonDirectory(self): os.mkdir(TESTFN2) @@ -297,8 +311,12 @@ zipfp.writepy(TESTFN2) names = zipfp.namelist() - self.assert_('mod1.pyc' in names or 'mod1.pyo' in names) - self.assert_('mod2.pyc' in names or 'mod2.pyo' in names) + if not is_jython: + self.assert_('mod1.pyc' in names or 'mod1.pyo' in names) + self.assert_('mod2.pyc' in names or 'mod2.pyo' in names) + else: + self.assert_('mod1$py.class' in names) + self.assert_('mod2$py.class' in names) self.assert_('mod2.txt' not in names) finally: Modified: trunk/jython/Lib/zipfile.py =================================================================== --- trunk/jython/Lib/zipfile.py 2008-11-24 05:01:02 UTC (rev 5629) +++ trunk/jython/Lib/zipfile.py 2008-11-24 05:02:01 UTC (rev 5630) @@ -12,6 +12,8 @@ __all__ = ["BadZipfile", "error", "ZIP_STORED", "ZIP_DEFLATED", "is_zipfile", "ZipInfo", "ZipFile", "PyZipFile", "LargeZipFile" ] +is_jython = sys.platform.startswith('java') + class BadZipfile(Exception): pass @@ -800,7 +802,7 @@ /python/lib/string, return (/python/lib/string.pyc, string). """ file_py = pathname + ".py" - file_pyc = pathname + ".pyc" + file_pyc = pathname + (".pyc" if not is_jython else "$py.class") file_pyo = pathname + ".pyo" if os.path.isfile(file_pyo) and \ os.stat(file_pyo).st_mtime >= os.stat(file_py).st_mtime: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |