Commit Graph

17 Commits

Author SHA1 Message Date
Elvis Pranskevichus cfe1aefcbd bpo-31681: Make sure pkgutil.get_data closes files properly (#3875)
Also remove an obsolete note about
backward compat with old Pythons.
2017-10-09 10:55:54 -04:00
Ned Deily 777f2e04ea Issue #7367: Fix pkgutil.walk_paths to skip directories whose
contents cannot be read.
2011-10-06 14:17:47 -07:00
Éric Araujo ea088c5163 Add missing name in pkgutil.__all__ 2011-05-25 18:11:24 +02:00
Nick Coghlan 106fc48336 Issue 2439: add pkgutils.get_data() as a convenience wrapper for the PEP 302 get_data() API (contributed by Paul Moore) 2008-04-15 10:25:31 +00:00
Phillip J. Eby f7575d0cb7 Bug #1529871: The speed enhancement patch #921466 broke Python's compliance
with PEP 302.  This was fixed by adding an ``imp.NullImporter`` type that is
used in ``sys.path_importer_cache`` to cache non-directory paths and avoid
excessive filesystem operations during imports.
2006-07-28 21:12:07 +00:00
Tim Peters 95621b25dc Whitespace normalization. 2006-07-26 23:23:15 +00:00
Phillip J. Eby eb26ea3f83 Allow the 'onerror' argument to walk_packages() to catch any Exception, not
just ImportError.  This allows documentation tools to better skip unimportable
packages.
2006-07-26 19:48:27 +00:00
Tim Peters 91343075dc Whitespace normalization. 2006-07-25 22:30:24 +00:00
Georg Brandl 69b9b677b0 Patch #1525766: correctly pass onerror arg to recursive calls
of pkg.walk_packages. Also improve the docstrings.
2006-07-25 10:22:34 +00:00
Neal Norwitz f992a2b11e Fix errors found by pychecker 2006-06-11 07:26:27 +00:00
Georg Brandl f4ef11659c Need for speed: Patch #921466 : sys.path_importer_cache is now used to cache valid and
invalid file paths for the built-in import machinery which leads to
  fewer open calls on startup.

  Also fix issue with PEP 302 style import hooks which lead to more open()
  calls than necessary.
2006-05-26 18:03:31 +00:00
Neal Norwitz 0bbbb005c5 Add some whitespace to be more consistent. 2006-04-28 04:32:20 +00:00
Tim Peters 584b0e0c3d Whilespace normalization (reindint.py). 2006-04-18 17:32:12 +00:00
Phillip J. Eby ceb3087e1c Second phase of refactoring for runpy, pkgutil, pydoc, and setuptools
to share common PEP 302 support code, as described here:

http://mail.python.org/pipermail/python-dev/2006-April/063724.html

pydoc now supports PEP 302 importers, by way of utility functions in
pkgutil, such as 'walk_packages()'.  It will properly document
modules that are in zip files, and is backward compatible to Python
2.3 (setuptools installs for Python <2.5 will bundle it so pydoc
doesn't break when used with eggs.)

What has not changed is that pydoc command line options do not support
zip paths or other importer paths, and the webserver index does not
support sys.meta_path.  Those are probably okay as limitations.

Tasks remaining: write docs and Misc/NEWS for pkgutil/pydoc changes,
and update setuptools to use pkgutil wherever possible, then add it
to the stdlib.
2006-04-18 00:59:55 +00:00
Phillip J. Eby ab1d245871 First phase of refactoring for runpy, pkgutil, pydoc, and setuptools
to share common PEP 302 support code, as described here:

http://mail.python.org/pipermail/python-dev/2006-April/063724.html

This revision strips all the PEP 302 emulation code from runpy,
replacing it with published API classes and functions in pkgutil,
mostly using setuptools' implementation of common functionality,
but adding features from runpy, and doing some refactoring to make
the layer pydoc needs easier to implement on top of this.

One step down, four to go, although step #4 (adding C versions of
the new APIs to 'imp') may not be able to make it in time for
alpha 2.  We'll see how that goes.
2006-04-17 20:17:25 +00:00
Raymond Hettinger 7a70ea4135 SF patch #806246: use basestring where possible
(Contributed by George Yoshida.)
2003-09-17 05:50:59 +00:00
Guido van Rossum a4deda0d11 Last week we discussed adding this module to the standard library.
Here's a draft.  I have no immediate use for it, but I'd like this to
be available for experimentation.  I may withdraw it or change it
radically up to and including the release of Python 2.3b1.
2002-12-23 16:30:00 +00:00