#!/usr/bin/python3
# Automatically generated file: do not modify!

is_installed = False

import sys, os
import logging

# This function is embedded to allow standalone execution.
def _updateSysPath(extra_list):
    if extra_list:
        os_env_str = os.environ.get("PYTHONPATH", None)
        if os_env_str:
            sys_path_str = os.pathsep.join(sys.path)
            found_idx = sys_path_str.find(os_env_str)
            new_sys_path_str = sys_path_str
            if found_idx != -1:
                size_of_env = len(os_env_str)
                new_sys_path_str = sys_path_str[:found_idx+size_of_env]
                new_sys_path_str += os.pathsep + os.pathsep.join(extra_list)
                new_sys_path_str += sys_path_str[found_idx+size_of_env:]
            else:
                new_sys_path_str += os.pathsep + os.pathsep.join(extra_list)
            sys.path = new_sys_path_str.split(os.pathsep)
        else:
            sys.path = extra_list + sys.path

old_path = sys.path[:]

# insert neighbour python path after the env variable in sys.path
update_list = []
close_python_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "python")
update_list.append(close_python_dir)
_updateSysPath(update_list)

from ELEMENTS_VERSION import ELEMENTS_VERSION_STRING, ELEMENTS_VCS_VERSION
from ELEMENTS_INSTALL import ELEMENTS_SEARCH_DIRS

ELEMENTS_NAME = "Elements"

ELEMENTS_MODULE_NAME = "ElementsKernel"
ELEMENTS_MODULE_VERSION = "1.0"

sys.path = old_path

# insert python path list after the env variable in sys.path
_updateSysPath(update_list + [os.path.join(p, "python") for p in ELEMENTS_SEARCH_DIRS[1:]])

from ElementsKernel.Program import Program

p = Program('ElementsKernel.AddPythonModule',
             ELEMENTS_VERSION_STRING, ELEMENTS_NAME,
             ELEMENTS_VCS_VERSION,
             ELEMENTS_MODULE_NAME, ELEMENTS_MODULE_VERSION,
             ELEMENTS_SEARCH_DIRS, os.path.realpath(__file__),
             logging.DEBUG,
             use_config_file=True)

if __name__ == '__main__':
    exit(p.runProgram())
