import os import ast import hashlib import glob BUILD_DIR = os.environ.get('TRABIS_BUILD_DIR') def main(): manifests = glob.glob('%s/*/__manifest__.py' % (BUILD_DIR)) versions = [] for manifest in manifests: with open(manifest) as f: version = ast.literal_eval(f.read()).get('version', '') versions.append(version) versions.sort() versions_str = ';'.join(versions) md5_summ = hashlib.md5(versions_str.encode('utf-8')).hexdigest() return md5_summ if __name__ == '__main__': with open(os.path.join(BUILD_DIR, 'versions_md5summ'), 'w') as f: f.write(main())