diff options
author | Hans Lambermont <hans@lambermont.dyndns.org> | 2002-10-12 15:37:38 +0400 |
---|---|---|
committer | Hans Lambermont <hans@lambermont.dyndns.org> | 2002-10-12 15:37:38 +0400 |
commit | 12315f4d0e0ae993805f141f64cb8c73c5297311 (patch) | |
tree | 59b45827cd8293cfb727758989c7a74b40183974 /intern/python/modules/mcf/utils/reloader.py |
Initial revisionv2.25
Diffstat (limited to 'intern/python/modules/mcf/utils/reloader.py')
-rw-r--r-- | intern/python/modules/mcf/utils/reloader.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/intern/python/modules/mcf/utils/reloader.py b/intern/python/modules/mcf/utils/reloader.py new file mode 100644 index 00000000000..2d7e2591ed2 --- /dev/null +++ b/intern/python/modules/mcf/utils/reloader.py @@ -0,0 +1,33 @@ +import sys, string + +class Reloader: + ''' + Class allows for reloading all modules imported + after the instance is created. Normally you will + use this by doing: + import <anything you don't want reloaded> + from mcf.utils import reloader + <do testing and rewriting> + reloader.go() + ''' + def __init__(self): + self.keys = sys.modules.keys() + def __call__(self, *args, **namedargs): + done = [] + for key, val in sys.modules.items(): + if key not in self.keys: + try: + reload( val ) + done.append( key ) + except (ImportError): + print '''Couldn't reload module:''', key + except (TypeError): # for None's + # is a flag to prevent reloading + pass + if done: + print '''Reloaded:''', string.join( done, ', ') + else: + print '''No modules reloaded''' + +# the default reloader... +go = Reloader()
\ No newline at end of file |