]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merged revisions 69425 via svnmerge from
authorNick Coghlan <ncoghlan@gmail.com>
Sun, 8 Feb 2009 03:37:27 +0000 (03:37 +0000)
committerNick Coghlan <ncoghlan@gmail.com>
Sun, 8 Feb 2009 03:37:27 +0000 (03:37 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69425 | nick.coghlan | 2009-02-08 13:17:00 +1000 (Sun, 08 Feb 2009) | 1 line

  Issue #4512 closeout: Make ZipImport.get_filename() a public method
........

Doc/library/zipimport.rst
Lib/test/test_zipimport.py
Misc/NEWS
Modules/zipimport.c

index 912378e1645f2e382547820e123ea788752dc4b1..3fd0595db5677848fb78445ebfc661886e81948f 100644 (file)
@@ -88,6 +88,15 @@ zipimporter Objects
       file wasn't found.
 
 
+   .. method:: get_filename(fullname)
+
+      Return the value ``__file__`` would be set to if the specified module
+      was imported. Raise :exc:`ZipImportError` if the module couldn't be
+      found.
+
+   .. versionadded:: 3.1
+
+
    .. method:: get_source(fullname)
 
       Return the source code for the specified module. Raise
index 5637467319ff362a487f0f1ea0a9a1bd369beae7..f41deaf4a1a3757bc14ae0c9b9c874a69d66cf96 100644 (file)
@@ -212,7 +212,7 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
             self.assertEquals(zi.archive, TEMP_ZIP)
             self.assertEquals(zi.is_package(TESTPACK), True)
             mod = zi.load_module(TESTPACK)
-            self.assertEquals(zi._get_filename(TESTPACK), mod.__file__)
+            self.assertEquals(zi.get_filename(TESTPACK), mod.__file__)
 
             self.assertEquals(zi.is_package(packdir + '__init__'), False)
             self.assertEquals(zi.is_package(packdir + TESTPACK2), True)
@@ -224,11 +224,11 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
             mod = sys.modules[mod_name]
             self.assertEquals(zi.get_source(TESTPACK), None)
             self.assertEquals(zi.get_source(mod_path), None)
-            self.assertEquals(zi._get_filename(mod_path), mod.__file__)
+            self.assertEquals(zi.get_filename(mod_path), mod.__file__)
             # To pass in the module name instead of the path, we must use the right importer
             loader = mod.__loader__
             self.assertEquals(loader.get_source(mod_name), None)
-            self.assertEquals(loader._get_filename(mod_name), mod.__file__)
+            self.assertEquals(loader.get_filename(mod_name), mod.__file__)
 
             # test prefix and archivepath members
             zi2 = zipimport.zipimporter(TEMP_ZIP + os.sep + TESTPACK)
@@ -257,7 +257,7 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
             self.assertEquals(zi.prefix, packdir)
             self.assertEquals(zi.is_package(TESTPACK2), True)
             mod = zi.load_module(TESTPACK2)
-            self.assertEquals(zi._get_filename(TESTPACK2), mod.__file__)
+            self.assertEquals(zi.get_filename(TESTPACK2), mod.__file__)
 
             self.assertEquals(zi.is_package(TESTPACK2 + os.sep + '__init__'), False)
             self.assertEquals(zi.is_package(TESTPACK2 + os.sep + TESTMOD), False)
@@ -268,11 +268,11 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
             mod = sys.modules[mod_name]
             self.assertEquals(zi.get_source(TESTPACK2), None)
             self.assertEquals(zi.get_source(mod_path), None)
-            self.assertEquals(zi._get_filename(mod_path), mod.__file__)
+            self.assertEquals(zi.get_filename(mod_path), mod.__file__)
             # To pass in the module name instead of the path, we must use the right importer
             loader = mod.__loader__
             self.assertEquals(loader.get_source(mod_name), None)
-            self.assertEquals(loader._get_filename(mod_name), mod.__file__)
+            self.assertEquals(loader.get_filename(mod_name), mod.__file__)
         finally:
             z.close()
             os.remove(TEMP_ZIP)
index df877ad2c2d60eb214b6b9af0e070cc8fd22c3d3..ee1bc565e2d120efbdd6e04ca35dda684ebe5fe0 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -155,6 +155,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #4512 (part 2): Promote ``ZipImporter._get_filename()`` to be a
+  public documented method ``ZipImporter.get_filename()``.
+
 - Issue #4195: The ``runpy`` module (and the ``-m`` switch) now support
   the execution of packages by looking for and executing a ``__main__``
   submodule when a package name is supplied. Initial patch by Andi
index ba37f8b2d3e1258a9bb5e701ae9d5e6cfcfccd40..53bc799a7f4adc631b8a0195ea96a5e2b4aca75e 100644 (file)
@@ -363,7 +363,7 @@ zipimporter_get_filename(PyObject *obj, PyObject *args)
     char *fullname, *modpath;
     int ispackage;
 
-    if (!PyArg_ParseTuple(args, "s:zipimporter._get_filename",
+    if (!PyArg_ParseTuple(args, "s:zipimporter.get_filename",
                          &fullname))
         return NULL;
 
@@ -543,7 +543,7 @@ contain the module, but has no source for it.");
 
 
 PyDoc_STRVAR(doc_get_filename,
-"_get_filename(fullname) -> filename string.\n\
+"get_filename(fullname) -> filename string.\n\
 \n\
 Return the filename for the specified module.");
 
@@ -558,7 +558,7 @@ static PyMethodDef zipimporter_methods[] = {
         doc_get_code},
        {"get_source", zipimporter_get_source, METH_VARARGS,
         doc_get_source},
-       {"_get_filename", zipimporter_get_filename, METH_VARARGS,
+       {"get_filename", zipimporter_get_filename, METH_VARARGS,
         doc_get_filename},
        {"is_package", zipimporter_is_package, METH_VARARGS,
         doc_is_package},