mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	Merged revisions 69425 via svnmerge from
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 ........
This commit is contained in:
		
							parent
							
								
									3f48ae35c7
								
							
						
					
					
						commit
						9a1d6e3022
					
				
					 4 changed files with 21 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -212,7 +212,7 @@ def testZipImporterMethods(self):
 | 
			
		|||
            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 @@ def testZipImporterMethods(self):
 | 
			
		|||
            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 @@ def testZipImporterMethodsInSubDirectory(self):
 | 
			
		|||
            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 @@ def testZipImporterMethodsInSubDirectory(self):
 | 
			
		|||
            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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue