def execfile(self, filename): ''' Execfile in server's globals. ''' try: self.proj.command("execfile('%s', '%s')" % (filename, file_md5(filename))) except Exception as err: self._error(err, sys.exc_info())
def execfile(self, fname, digest=None): # first, make sure file has been imported __import__(get_module_path(fname)) newdigest = file_md5(fname) if digest and digest != newdigest: logger.warning("file '%s' has been modified since the last time" " it was exec'd" % fname) with open(fname) as f: contents = f.read() node = add_init_monitors(parse(contents, fname, mode='exec')) exec compile(node, fname, 'exec') in self._model_globals # make the recorded execfile command use the current md5 hash self._cmds_to_save.append("execfile('%s', '%s')" % (fname, newdigest))