def _compile_from_file(self, path, filename): if path is not None: util.verify_directory(os.path.dirname(path)) filemtime = os.stat(filename)[stat.ST_MTIME] if not os.path.exists(path) or \ os.stat(path)[stat.ST_MTIME] < filemtime: data = util.read_file(filename) _compile_module_file(self, data, filename, path, self.module_writer) module = util.load_module(self.module_id, path) del sys.modules[self.module_id] if module._magic_number != codegen.MAGIC_NUMBER: data = util.read_file(filename) _compile_module_file(self, data, filename, path, self.module_writer) module = util.load_module(self.module_id, path) del sys.modules[self.module_id] ModuleInfo(module, path, self, filename, None, None) else: # template filename and no module directory, compile code # in memory data = util.read_file(filename) code, module = _compile_text(self, data, filename) self._source = None self._code = code ModuleInfo(module, None, self, filename, code, None) return module
def _compile_from_file(self, path, filename): if path is not None: util.verify_directory(os.path.dirname(path)) filemtime = os.stat(filename)[stat.ST_MTIME] if not os.path.exists(path) or \ os.stat(path)[stat.ST_MTIME] < filemtime: data = util.read_file(filename) _compile_module_file( self, data, filename, path, self.module_writer) module = util.load_module(self.module_id, path) del sys.modules[self.module_id] if module._magic_number != codegen.MAGIC_NUMBER: data = util.read_file(filename) _compile_module_file( self, data, filename, path, self.module_writer) module = util.load_module(self.module_id, path) del sys.modules[self.module_id] ModuleInfo(module, path, self, filename, None, None) else: # template filename and no module directory, compile code # in memory data = util.read_file(filename) code, module = _compile_text( self, data, filename) self._source = None self._code = code ModuleInfo(module, None, self, filename, code, None) return module
def test_load_module(self): fn = os.path.join(os.path.dirname(__file__), 'test_util.py') module = util.load_module('mako.template', fn) import mako.template self.assertEqual(module, mako.template)