aboutsummaryrefslogtreecommitdiff
path: root/rambo/meta.py
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2018-08-08 17:21:42 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2018-08-08 17:21:42 -0400
commite7ed479e490b5732c6a95c8fb51a8c2530ff13ca (patch)
treeffd930da9d1bab065fa64002ed20ee87f5638902 /rambo/meta.py
parentaad73bb6d561713c1855e9b3731e2e8f39cfd1f5 (diff)
downloadrambo-e7ed479e490b5732c6a95c8fb51a8c2530ff13ca.tar.gz
Short circuit rendering data against invalid payload
Diffstat (limited to 'rambo/meta.py')
-rwxr-xr-xrambo/meta.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/rambo/meta.py b/rambo/meta.py
index 7b99386..dd9bbe7 100755
--- a/rambo/meta.py
+++ b/rambo/meta.py
@@ -91,7 +91,14 @@ class Meta(object):
filename_hashing=False) # enables --old-build-string
# conda-build v3.x render() returns a list of tuples:
# [(MetaData, bool, bool)]
- self.metaobj = self.render_payload[0][0]
+ if not self.render_payload:
+ print('Skipping due to empty payload: Marking metadata as invalid')
+ self.valid = False
+ else:
+ self.metaobj = self.render_payload[0][0]
+
+ if not self.valid:
+ return
self.mdata = self.metaobj.meta
self.valid = self.is_valid()
@@ -148,11 +155,16 @@ class Meta(object):
numpy=self.versions['numpy'],
dirty=self.dirty)
if CONDA_BUILD_MAJOR_VERSION == '3':
+ if self.metaobj is None:
+ print('Not rendering canonical name')
+ return
+
output_file_path = conda_build.api.get_output_file_paths(
self.metaobj,
python=self.versions['python'],
numpy=self.versions['numpy'],
dirty=self.dirty)[0]
+
self.canonical_name = os.path.basename(output_file_path)
print('Package canonical name: {}\n\n'.format(
self.canonical_name))
@@ -345,12 +357,13 @@ class MetaSet(object):
versions=self.versions,
channel=self.channel,
dirty=self.dirty)
- if not m.metaobj.skip():
- if m.complete:
- self.metas.append(m)
- self.names.append(m.name)
- else:
- self.incomplete_metas.append(m)
+ if m.valid:
+ if not m.metaobj.skip():
+ if m.complete:
+ self.metas.append(m)
+ self.names.append(m.name)
+ else:
+ self.incomplete_metas.append(m)
def read_recipes(self, directory):
recipe_dirnames = os.listdir(directory)