[Import-sig] getting source (was: Long-awaited imputil comments)

Greg Stein gstein@lyra.org
Thu, 17 Feb 2000 10:41:51 -0800 (PST)


On Thu, 17 Feb 2000, Guido van Rossum wrote:
>...
> I don't mind that the implementation for get_source() raises an error
> (any error) when the code came from an archive.

I was thinking of returning None, to follow the get_code() pattern.

> I just want a
> standard API that people who write alternative code repositories
> can implement.  Greg's proposal seems fine:
> module.__importer__.get_module_source(module).

I also plan to have importer.get_source(parent, modname, fqname).

* get_module_source() is needed for things like tracebacks, where it
  somewhat difficult to recover parent/modname/fqname (also described as:
  why make clients repeat the code to recover that data)

* get_source() is needed for cases where a module hasn't been imported at
  that point

Importer subclasses will only need to implement get_source(). The base
class will extract the parent/modname/fqname from information in the
module.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/