Advertisement
Guest User

Untitled

a guest
May 23rd, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. function:
  2.  
  3. def reload_by_name(name, type):
  4. found = false
  5. modtoremove = 0
  6. for _mod in _modules:
  7. if (_mod == name):
  8. modtoremove = _mod
  9. break;
  10.  
  11.  
  12. if modtoremove != 0
  13. try:
  14. print "Reloading plugin %s" % _mod
  15. mod = _modules [_mod]
  16. print "mod, next deleting modules"
  17. del _modules [name]
  18. print "modules deleted, reloading"
  19.  
  20. imp.reload (mod)
  21.  
  22. print "modules reloaded"
  23. _modules [_mod] = mod
  24. print "done"
  25. except:
  26. print "Error reloading plugin %s" % _mod
  27.  
  28.  
  29.  
  30. output:
  31.  
  32.  
  33. plugins enable TestPlugin
  34. Plugin TestPlugin has been enabled
  35.  
  36. plugins reload TestPlugin
  37. Reloading plugin TestPlugin
  38. mod, next deleting modules
  39. modules deleted, reloading
  40. Error reloading plugin TestPlugin
  41. Traceback (most recent call last):
  42. File "S2Wrapper.py", line 476, in <module>
  43. PluginsManager.reload_by_name (words [2] , PluginsManager.ConsolePlugin)
  44. File "/home/sav/wrapper/PluginsManager.py", line 44, in reload_by_name
  45. for _mod in _modules:
  46. RuntimeError: dictionary changed size during iteration
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement