]> granicus.if.org Git - python/commitdiff
bpo-33537: Add an __all__ to importlib.resources (GH-6920) (#6941)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 17 May 2018 16:27:49 +0000 (09:27 -0700)
committerBarry Warsaw <barry@python.org>
Thu, 17 May 2018 16:27:49 +0000 (12:27 -0400)
(cherry picked from commit 0ed66df5242138fc599b4735749e55f953d9a1e4)

Co-authored-by: Barry Warsaw <barry@python.org>
Lib/importlib/resources.py

index 4d70186c1a43b7ea2c80ed50ed793480a79856b7..cbefdd540e9e3895eb6366b09f0a39171d1721f4 100644 (file)
@@ -2,7 +2,6 @@ import os
 import tempfile
 
 from . import abc as resources_abc
-from builtins import open as builtins_open
 from contextlib import contextmanager, suppress
 from importlib import import_module
 from importlib.abc import ResourceLoader
@@ -15,6 +14,19 @@ from typing.io import BinaryIO, TextIO
 from zipimport import ZipImportError
 
 
+__all__ = [
+    'Package',
+    'Resource',
+    'contents',
+    'is_resource',
+    'open_binary',
+    'open_text',
+    'path',
+    'read_binary',
+    'read_text',
+    ]
+
+
 Package = Union[str, ModuleType]
 Resource = Union[str, os.PathLike]
 
@@ -82,7 +94,7 @@ def open_binary(package: Package, resource: Resource) -> BinaryIO:
     package_path = os.path.dirname(absolute_package_path)
     full_path = os.path.join(package_path, resource)
     try:
-        return builtins_open(full_path, mode='rb')
+        return open(full_path, mode='rb')
     except OSError:
         # Just assume the loader is a resource loader; all the relevant
         # importlib.machinery loaders are and an AttributeError for
@@ -116,8 +128,7 @@ def open_text(package: Package,
     package_path = os.path.dirname(absolute_package_path)
     full_path = os.path.join(package_path, resource)
     try:
-        return builtins_open(
-            full_path, mode='r', encoding=encoding, errors=errors)
+        return open(full_path, mode='r', encoding=encoding, errors=errors)
     except OSError:
         # Just assume the loader is a resource loader; all the relevant
         # importlib.machinery loaders are and an AttributeError for
@@ -248,10 +259,10 @@ def contents(package: Package) -> Iterable[str]:
         return os.listdir(package_directory)
 
 
-# Private implementation of ResourceReader and get_resource_reader() for
-# zipimport.  Don't use these directly!  We're implementing these in Python
-# because 1) it's easier, 2) zipimport will likely get rewritten in Python
-# itself at some point, so doing this all in C would just be a waste of
+# Private implementation of ResourceReader and get_resource_reader() called
+# from zipimport.c.  Don't use these directly!  We're implementing these in
+# Python because 1) it's easier, 2) zipimport may get rewritten in Python
+# itself at some point, so doing this all in C would difficult and a waste of
 # effort.
 
 class _ZipImportResourceReader(resources_abc.ResourceReader):
@@ -322,6 +333,7 @@ class _ZipImportResourceReader(resources_abc.ResourceReader):
                 yield parent_name
 
 
+# Called from zipimport.c
 def _zipimport_get_resource_reader(zipimporter, fullname):
     try:
         if not zipimporter.is_package(fullname):