def parse_eb(self, file_name, primary):
""" interpret easyconfig file with 'exec'. Interperting fails if
constants that are not defined within the easyconfig file. Add
undefined constants to <header>.
"""
header = 'SOURCE_TGZ = "%(name)s-%(version)s.tgz"\n'
header += 'SOURCE_TAR_GZ = "%(name)s-%(version)s.tar.gz"\n'
header += self.prolog
code = header
eb = imp.new_module("easyconfig")
with open(file_name, "r") as f:
code += f.read()
try:
exec (code, eb.__dict__)
except Exception as err:
print("interperting easyconfig error: %s" % err)
sys.exit(1)
if primary: # save original text of source code
self.code = code
self.ptr_head = len(header)
return eb
评论列表
文章目录