Did some work on the reload manager, as well as removed
the rollback importer from server.py
This commit is contained in:
parent
5ecbff32f6
commit
02ffa832f6
5 changed files with 93 additions and 31 deletions
23
server.py
23
server.py
|
|
@ -21,29 +21,6 @@ import initial_setup
|
|||
|
||||
class EvenniaService(service.Service):
|
||||
|
||||
class RollbackImporter(object):
|
||||
def __init__(self):
|
||||
"Creates an instance and installs as the global importer"
|
||||
self.previousModules = sys.modules.copy()
|
||||
self.realImport = __builtin__.__import__
|
||||
__builtin__.__import__ = self._import
|
||||
self.newModules = {}
|
||||
|
||||
def _import(self, name, globals=None, locals=None, fromlist=[]):
|
||||
result = apply(self.realImport, (name, globals, locals, fromlist))
|
||||
self.NewModules[name] = 1
|
||||
return result
|
||||
|
||||
def uninstall(self):
|
||||
for modname in self.newModules.keys():
|
||||
if not self.previousModules.has_key(modname):
|
||||
# Force reload when modname next imported
|
||||
del(sys.modules[modname])
|
||||
__builtin__.__import__ = self.realImport
|
||||
|
||||
def reloadAll(self):
|
||||
pass
|
||||
|
||||
def __init__(self, filename="blah"):
|
||||
log.startLogging(open(settings.LOGFILE, 'w'))
|
||||
self.cmd_alias_list = {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue