#!/usr/bin/env python3

import json
import os
import sys

module_path = "../modules"

def usage ():
    print ("Usage: get_image_versions <module_id> <module> <version>")

def main():
    if len (sys.argv) != 4:
        usage ()
        sys.exit (1)

    target_module_id = sys.argv[1]
    target_module_name = sys.argv[2]
    target_module_version = sys.argv[3]

    modules = None
    if not os.path.isfile(module_path):
        print ("Error: Modules file not found")
        sys.exit(1)

    with open(module_path) as modules_file:
        try:
            modules = json.load(modules_file)
        except json.JSONDecodeError:
            modules = None

    if modules is None:
        print ("Error: Failed to load modules file")
        sys.exit (1)

    target_module = None
    for module in modules.get("modules", []):
        if module.get ("module", "") == target_module_id:
            target_module = module
            break

    if target_module is None:
        print ("Error: Could not find module '{}'".format(target_module_id))
        sys.exit (1)

    target_version = None
    for version in module.get ("versions", []):
        if version.get ("version", "") == target_module_version:
            target_version = version
            break

    if target_version is None:
        print("Error: Could not find version '{}' in module '{}'".format(
            target_module_version,
            target_module_id))
        sys.exit(1)

    central = ""
    remote = ""
    ui = ""
    for image in target_version.get("images", ""):
        image_name = image.get("image")
        if target_module_name in image_name:
            print(json.dumps(image))

if __name__ == "__main__":
    main()
