Blob Blame History Raw
#!/usr/bin/python3

import argparse
import json
import sys

def main():
    parser = argparse.ArgumentParser()
    group = parser.add_mutually_exclusive_group(required=True)
    group.add_argument("-P", "--provides", action="store_const", const="provides", dest="action")
    group.add_argument("-R", "--requires", action="store_const", const="requires", dest="action")
    args = parser.parse_args()

    files = sys.stdin.read().splitlines()

    for f in files:
        with open(f, "r") as fobj:
            info = json.load(fobj)['collection_info']
            if args.action == "provides":
                print(f"ansible-collection({info['namespace']}.{info['name']}) = {info['version']}")
            if args.action == "requires":
                print("(ansible >= 2.9.0 with ansible < 2.10.0)")
                if info['dependencies']:
                    raise NotImplementedError('Generation of dependencies is not supported yet')

if __name__ == "__main__":
    main()