def __init__(self, text='', filename='', lookup=None): if filename: text = open(filename, 'r').read() self.source = text self.parser = TemplateParser(lookup) self.module_source = self.parser.translate(text, filename) self.module_id = "memory:" + hex(id(self)) self.code = compile(self.module_source, self.module_id, 'exec') self.module = ModuleType(self.module_id)