diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-06-22 00:34:41 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-06-22 00:34:41 -0400 |
commit | 348e41e7ee22bcb23d549d7d816f4a946df54eac (patch) | |
tree | 735c7fbb68609c986f1dcb16699bffdbf7461e42 /cbc/meta.py | |
parent | cf88b55c7d978943af005c327dd3ee8cd6d79a95 (diff) | |
download | cbc-348e41e7ee22bcb23d549d7d816f4a946df54eac.tar.gz |
Can convert ini to yaml
Diffstat (limited to 'cbc/meta.py')
-rw-r--r-- | cbc/meta.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/cbc/meta.py b/cbc/meta.py new file mode 100644 index 0000000..f38532f --- /dev/null +++ b/cbc/meta.py @@ -0,0 +1,48 @@ +'''I refuse to write the same thing over and over again in meta.yaml. +And yeah, conda supports Jinja2, but ugh... No. +''' + +import os +import conda_build +import conda_build.metadata + +import configparser +from configparser import ConfigParser, ExtendedInterpolation +from pprint import pprint +import yaml + +def convert_conda_fields(fields): + temp = {} + for fkey, fval in fields.items(): + temp[fkey] = { x: '' for x in fval} + #fields[field] = dict(value) + return temp + + +class Specfile(object): + def __init__(self, filename): + if not os.path.exists(filename): + print('"{0}" does not exist.'.format(filename)); + return + + self.filename = filename + fields = convert_conda_fields(conda_build.metadata.FIELDS) + + config = ConfigParser(interpolation=ExtendedInterpolation(), allow_no_value=True) + config.read_dict(fields) + config.read(self.filename) + + with open('../../test.ini.out', 'w+') as testfile: + config.write(testfile) + + y = yaml.load(fields) + md = conda_build.metadata.MetaData() + + #for section in config.sections(): + # for sub in config[section]: + # print('{0}:{1}:{2}'.format(section, sub, config[section][sub])) + +if __name__ == '__main__': + spec = Specfile('../../test.spec') + #pprint() +
\ No newline at end of file |