#!python

import argparse
import subprocess as subprocess


def __main__():

    PWE_MODULE_CHOICES = {
        'run_clingo': 'pwe_run_clingo',
        'run_dlv': 'pwe_run_dlv',
        'load_worlds': 'pwe_load_worlds',
        'export': 'pwe_export',
        'query': 'pwe_query',
        'dist_calc': 'pwe_dist_calc',
        'complexity_calc': 'pwe_complexity_calc',
        'visualize': 'pwe_visualize',
    }

    parser = argparse.ArgumentParser(add_help=False)
    parser.add_argument('pwe_module', type=str, choices=PWE_MODULE_CHOICES.keys(),
                        help='Choose the PWE module to invoke.')

    args, args_for_selected_module = parser.parse_known_args()

    subprocess.call([PWE_MODULE_CHOICES[args.pwe_module]] + args_for_selected_module)


if __name__ == '__main__':
    __main__()
