aboutsummaryrefslogtreecommitdiff
path: root/cbc
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-06-25 20:05:53 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-06-25 20:05:53 -0400
commit7a6e2eb89669034fa1398c2745ad18d86a78a03a (patch)
treea666e009dd8abb246d8378f6d6469c7abbcddd6f /cbc
parent574634487927a156d9f245bb9eab6c3b00af65ed (diff)
downloadcbc-7a6e2eb89669034fa1398c2745ad18d86a78a03a.tar.gz
* Incorporate script generation. *Replace manual requirements conversion with an automatic method.
Diffstat (limited to 'cbc')
-rw-r--r--cbc/meta.py19
1 files changed, 15 insertions, 4 deletions
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 = {}