diff options
Diffstat (limited to 'modules/reload.py')
-rwxr-xr-x | modules/reload.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/reload.py b/modules/reload.py new file mode 100755 index 0000000..257eaf7 --- /dev/null +++ b/modules/reload.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python +""" +reload.py - Phenny Module Reloader Module +Copyright 2008, Sean B. Palmer, inamidst.com +Licensed under the Eiffel Forum License 2. + +http://inamidst.com/phenny/ +""" + +import irc + +def f_reload(phenny, input): + """Reloads a module, for use by admins only.""" + if not input.admin: return + + name = match.group(2) + module = getattr(__import__('modules.' + name), name) + reload(module) + + if hasattr(module, '__file__'): + import os.path, time + mtime = os.path.getmtime(module.__file__) + modified = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(mtime)) + else: modified = 'unknown' + + self.register(vars(module)) + self.bind_commands() + + phenny.reply('%r (version: %s)' % (module, modified)) +f_reload.name = 'reload' +f_reload.rule = ('$nick', ['reload'], r'(\S+)') + +if __name__ == '__main__': + print __doc__.strip() |