From 7a6e2eb89669034fa1398c2745ad18d86a78a03a Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 25 Jun 2015 20:05:53 -0400 Subject: * Incorporate script generation. *Replace manual requirements conversion with an automatic method. --- cbc/meta.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'cbc/meta.py') diff --git a/cbc/meta.py b/cbc/meta.py index def9b1e..f7065c8 100644 --- a/cbc/meta.py +++ b/cbc/meta.py @@ -14,6 +14,7 @@ from .exceptions import MetaDataError class MetaData(object): def __init__(self, filename, env): + filename = os.path.abspath(filename) if not os.path.exists(filename): raise OSError('"{0}" does not exist.'.format(filename)); @@ -39,9 +40,10 @@ class MetaData(object): #if not self.local['requirements']['build']: # raise MetaDataError('Incomplete or missing "requirements" section: self.local[\'requirements\'] ', self.local['requirements']['build']) - - self.local['requirements']['build'] = self.config.getlist('requirements', 'build') - self.local['requirements']['run'] = self.config.getlist('requirements', 'run') + + # Convert requirements to lists + for section in self.local['requirements'].keys(): + self.local['requirements'][section] = self.config.getlist('requirements', section) self.local_metadata = {} for keyword in self.keywords: @@ -52,7 +54,16 @@ class MetaData(object): self.conda_metadata = self.scrub(self.local, self.keywords) def run(self): - self.conda_write_meta() + self.render_scripts() + + def render_scripts(self): + for maskkey, maskval in self.env.config['script'].items(): + for metakey, metaval in self.compile().items(): + if metakey in maskkey: + with open(maskval, 'w+') as metafile: + print("Writing: {0}".format(maskval)) + metafile.write(metaval) + def compile(self): compiled = {} -- cgit