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())