[issue26584] pyclbr module needs to be more flexible on loader support

2020-11-04 Thread Batuhan Taskaya


Change by Batuhan Taskaya :


--
nosy: +BTaskaya, terry.reedy

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26584] pyclbr module needs to be more flexible on loader support

2020-11-04 Thread Brett Cannon


Change by Brett Cannon :


--
nosy:  -brett.cannon

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26584] pyclbr module needs to be more flexible on loader support

2016-03-19 Thread Eric Snow

New submission from Eric Snow:

(see issue26569)

The pyclbr module is showing its age (born 1995).  It assumes there are only 2 
module types (builtin and source-based), particularly in readmodule() and 
readmodule_ex().  Really it should be source-based and "everything else".

For instance, it does not handle namespace packages correctly, since the 
spec.loader is set to None there.  It also doesn't handle frozen modules (e.g. 
"./python Lib/pyclbr.py _frozen_importlib").  This is likewise a problem for 
other/custom loaders that don't match the expectations of pyclbr.

Here are some things that should be done:

* replace custom introspection code with newer tools like 
importlib.util.module_from_spec()
* special-case namespace modules (since their spec.loader is None); this is 
probably a moot point if module_from_spec() gets used
* ignore more than just builtins; explicitly check for 
importlib.abc.SourceLoader?
* make use of similar tools in the inspect module?

--
components: Library (Lib)
messages: 261924
nosy: brett.cannon, eric.snow, ncoghlan
priority: normal
severity: normal
stage: test needed
status: open
title: pyclbr module needs to be more flexible on loader support
type: behavior
versions: Python 3.6

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com