Fantastic, that is exactly what I was looking for!

    -Jim

On 7/8/2011 2:20 PM, Anthony wrote:
local_import should work, but you should now use regular import statements instead. If you want your modules reloaded automatically, do the following:
from gluon.custom_import import track_changes
track_changes()
That will reload your modules, but only when they change (which is an improvement over local_import, which will reload whether or not there are changes). Note, I believe the above will affect all applications. To turn off reloading, do:
track_changes(track=False)
And to test whether changes are currently being tracked:
from gluon.custom_import import track_changes, is_tracking_changes
if not is_tracking_changes():
    track_changes()
Anthony

On Friday, July 8, 2011 3:06:07 PM UTC-4, Jim S wrote:

    Hi

    I have a utility module that I use regularly where I put some of
    my application-specific helper functions.  What is the proper way
    to import this to make it available in my controllers and views?

    I've tried the local_import in db.py but have seen references on
    this list that recommend against using that.  This method had the
    reload=True option that allowed me to make changes to my utility
    module and not have to restart the web2py server to make the
    changes visible.

    If I recall correctly (and I certainly could be wrong), the
    preferred method is to now use import.  But, using this method I
    have to restart web2py every time I make a change so I can see the
    results.

    Can someone please tell me how I can import a module and have it
    reload automatically like local_import('module', reload=True)
    does?  Or, should I still be using local_import when I want
    reloading to occur?

    Thanks

        -Jim

Reply via email to