diff options
author | Paul Sherwood <paul.sherwood@codethink.co.uk> | 2016-02-27 19:15:49 +0000 |
---|---|---|
committer | Paul Sherwood <paul.sherwood@codethink.co.uk> | 2016-02-27 19:15:49 +0000 |
commit | da771a52f4b638c8f7c3d5b57ff403850c449e92 (patch) | |
tree | 026872a681ad0afa5284e42224995d453cc52116 | |
parent | ffaf1afff10c31ecfc9f0430442bfb4a96b474ea (diff) | |
download | ybd-da771a52f4b638c8f7c3d5b57ff403850c449e92.tar.gz |
Split out write_metafile function
-rw-r--r-- | ybd/splitting.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/ybd/splitting.py b/ybd/splitting.py index 93b1c7b..7fae7a9 100644 --- a/ybd/splitting.py +++ b/ybd/splitting.py @@ -166,16 +166,7 @@ def write_chunk_metafile(defs, chunk): splits[artifact].append(path) break - unique_artifacts = sorted(set([a for a, r in rules.iteritems()])) - - metafile = os.path.join(chunk['baserockdir'], chunk['name'] + '.meta') - metadata = {'repo': chunk.get('repo'), - 'ref': chunk.get('ref'), - 'products': [{'artifact': a, 'files': sorted(splits[a])} - for a in unique_artifacts]} - - with open(metafile, "w") as f: - yaml.safe_dump(metadata, f, default_flow_style=False) + write_metafile(rules, splits, chunk) def write_stratum_metafiles(defs, stratum): @@ -218,10 +209,23 @@ def write_stratum_metafiles(defs, stratum): with open(split_metafile, "w") as f: yaml.safe_dump(split_metadata, f, default_flow_style=False) - metafile = os.path.join(stratum['baserockdir'], stratum['name'] + '.meta') + write_metafile(rules, splits, stratum) + + +def write_metafile(rules, splits, component): metadata = {'products': [{'artifact': a, 'components': sorted(set(splits[a]))} for a, r in rules.iteritems()]} + if component.get('kind', 'chunk') == 'chunk': + unique_artifacts = sorted(set([a for a, r in rules.iteritems()])) + metadata = {'repo': component.get('repo'), + 'ref': component.get('ref'), + 'products': [{'artifact': a, 'files': sorted(splits[a])} + for a in unique_artifacts]} + + metafile = os.path.join(component['baserockdir'], + component['name'] + '.meta') + with open(metafile, "w") as f: yaml.safe_dump(metadata, f, default_flow_style=False) |