#!/usr/bin/python3

import sys
import os

import launchutils


def _get_arg_value(key_str):
    return launchutils.get_arg_value(key_str)


modules_path = launchutils.get_modules_path()
sys.path.insert(0, modules_path)

import processutils
processutils.update_sys_path(modules_path)

try:
    import stabilizedvideoheadless
    launchutils.set_app_runtime_type(modules_path)
    
    session_id = _get_arg_value("session_id")
    parent_folder = _get_arg_value("parent_folder")
    write_file = _get_arg_value("write_file")
    results_file = _get_arg_value("results_file")
    encoding_option_index = _get_arg_value("encoding_option_index")
    quality_option_index = _get_arg_value("quality_option_index")
    source_path = _get_arg_value("source_path")
    profile_desc_under_score = _get_arg_value("profile_desc")
    profile_desc = profile_desc_under_score.replace("_", " ") # We need to put underscores in profile names to get them here in one piece.
                                                              # Now we take underscores out to get correct MLT profile names.
except Exception as err:
    print ("Failed to import mltxmlheadless")
    print ("ERROR:", err)
    print ("Installation was assumed to be at:", modules_path)
    sys.exit(1)

stabilizedvideoheadless.main(   modules_path, session_id, parent_folder, write_file, results_file, profile_desc, encoding_option_index, 
                                quality_option_index, source_path)
