Fix pyclbr to support importing packages
Issue #26569: Fix pyclbr.readmodule() and pyclbr.readmodule_ex() to support importing packages.
This commit is contained in:
parent
d887d1f365
commit
5c13aa1562
|
@ -142,10 +142,10 @@ def _readmodule(module, path, inpackage=None):
|
||||||
search_path = path + sys.path
|
search_path = path + sys.path
|
||||||
# XXX This will change once issue19944 lands.
|
# XXX This will change once issue19944 lands.
|
||||||
spec = importlib.util._find_spec_from_path(fullmodule, search_path)
|
spec = importlib.util._find_spec_from_path(fullmodule, search_path)
|
||||||
fname = spec.loader.get_filename(fullmodule)
|
|
||||||
_modules[fullmodule] = dict
|
_modules[fullmodule] = dict
|
||||||
if spec.loader.is_package(fullmodule):
|
# is module a package?
|
||||||
dict['__path__'] = [os.path.dirname(fname)]
|
if spec.submodule_search_locations is not None:
|
||||||
|
dict['__path__'] = spec.submodule_search_locations
|
||||||
try:
|
try:
|
||||||
source = spec.loader.get_source(fullmodule)
|
source = spec.loader.get_source(fullmodule)
|
||||||
if source is None:
|
if source is None:
|
||||||
|
@ -154,6 +154,8 @@ def _readmodule(module, path, inpackage=None):
|
||||||
# not Python source, can't do anything with this module
|
# not Python source, can't do anything with this module
|
||||||
return dict
|
return dict
|
||||||
|
|
||||||
|
fname = spec.loader.get_filename(fullmodule)
|
||||||
|
|
||||||
f = io.StringIO(source)
|
f = io.StringIO(source)
|
||||||
|
|
||||||
stack = [] # stack of (class, indent) pairs
|
stack = [] # stack of (class, indent) pairs
|
||||||
|
|
|
@ -91,6 +91,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #26569: Fix :func:`pyclbr.readmodule` and :func:`pyclbr.readmodule_ex`
|
||||||
|
to support importing packages.
|
||||||
|
|
||||||
- Issue #26499: Account for remaining Content-Length in
|
- Issue #26499: Account for remaining Content-Length in
|
||||||
HTTPResponse.readline() and read1(). Based on patch by Silent Ghost.
|
HTTPResponse.readline() and read1(). Based on patch by Silent Ghost.
|
||||||
Also document that HTTPResponse now supports these methods.
|
Also document that HTTPResponse now supports these methods.
|
||||||
|
|
Loading…
Reference in New Issue