Fixed module reload command.

This commit is contained in:
Josh K 2018-08-26 01:02:49 -04:00
parent 39295f3818
commit 78487edd56
2 changed files with 8 additions and 6 deletions

12
bot.py
View File

@ -155,15 +155,16 @@ async def cmd_import( bot, p, ctx ):
if ctx['nick'] != con.cfg['usr']['owner']: return
dst = ctx['dst']
if p and p[0] in _MOD_MAP.keys():
prev_mod = None
prev_mod = _MOD_MAP.pop( p[0], None )
# if not reloading root bot module, re-append the modules. package name
sys_mod = p[0]
if p[0] != 'bot': sys_mod = 'modules.' + sys_mod
try:
prev_mod = _MOD_MAP.pop( p[0], None )
# if not reloading root bot module, re-append the modules. package name
if p[0] != 'bot': p[0] = 'modules.' + p[0]
importlib.reload( sys.modules[p[0]] )
importlib.reload( sys.modules[sys_mod] )
con.say_to( dst, 'Success!' )
except Exception as e:
con.say_to( dst, str( e ) )
# reinsert using original fixed name
_MOD_MAP[p[0]] = prev_mod
else: con.say_to( dst, 'Module not found' )
@ -199,4 +200,5 @@ async def cmd_discon( b, p, c ):
# custom modules
importlib.import_module( '.qdb', 'modules' )
importlib.import_module( '.misc', 'modules' )
#importlib.import_module( '.kai', 'modules' )

View File

@ -35,7 +35,7 @@ def do_eval( evstr ):
@command( 'eval' )
async def cmd_eval( b, p, c ):
""" Evaluate a python expression. Trust me, it's safe. """
""" Evaluates Python code. Trust me, it's safe. """
evstr = urllib.parse.quote( ' '.join( p ) )
# do the actual request in a separate thread
rstr = await b._loop.run_in_executor( None, functools.partial( do_eval, evstr ) ) #do_eval, evstr, c )