#!/usr/bin/env python3
#
# Product:   Macal
# Author:    Marco Caspers
# Date:      15-09-2022
#

"""Macal Interpreter Application Runner"""

import sys
import macal


def run(lang: macal.Macal, filename: str):
    (result, _) = lang.Run(filename)
    print()
    exitCode = lang.exitcode.GetValue()
    if exitCode != 0:
        print(f'Execution failed with errors, exit code: {exitCode}.')
    else:
        if result is True:
            print(f'Executed successfully, exit code: {exitCode}.')
        else:
            print(f'Execution failed, exit code: {exitCode}.')



def main(args):
    lang = macal.Macal()
    lang.RegisterVariable('sysargv', args)
    if len(args) > 1:
        if args[1] == '-v':
            print(f'Macal version: {lang.version()}')
        else:
            run(lang, args[1])
    else:
        print('Usage: mi <filename>')


if __name__ == '__main__':
    main(sys.argv)