EmilyDirsh / hotwire-shell

Automatically exported from code.google.com/p/hotwire-shell
Other
0 stars 0 forks source link

handle builtin dependencies better #116

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Currently we have hacks in builtin.py for conditionally loading builtins
which have "external" dependencies.  E.g.:

    try:
        import simplejson
        have_simplejson = True
    except ImportError, e:
        have_simplejson = False
    if have_simplejson:
        import hotwire.builtins.json

This is a hack for two reasons.  First it's ugly and manual; builtins
should be able to specify their dependencies.  Secondly, if the dependency
is installed, we require a Hotwire restart to pick it up.

A correct fix should be to add say "module_deps" as a Builtin property that
can be specified.  Then enhance the core loader to check for them.

Finally we need to know when the import path changes.  The correct way to
do this is to add support for inotify-style notification to the Filesystem
abstraction, so we can attach monitors to each directory in PYTHONPATH.

Original issue reported on code.google.com by cgwalt...@gmail.com on 21 Jan 2008 at 11:26

GoogleCodeExporter commented 9 years ago

Original comment by cgwalt...@gmail.com on 23 Jan 2008 at 5:22