Ejemplo n.º 1
0
    def __show_edit(self, event):
        tree_view = event.widget
        tree_frame = tree_view._nametowidget(tree_view.winfo_parent())
        list_frame = tree_frame._nametowidget(tree_frame.winfo_parent())

        item_id = tree_view.selection()
        if len(item_id) > 0:
            item_id = item_id[0]
        else:
            return

        # show wizard
        eew = EnvEditWizard(master=self.master,
                            list_frame=list_frame, item_id=item_id, size=12)
        eew.lift()
        eew.title(
            ENV_EDIT_WIZARD_TITLE % list_frame.get_item_value(item_id, 2))
        eew.focus_set()
        eew.transient(eew.master)

        eew.grab_set()

        eew.wait_window()

        # Update view
        self.update_list_items()
        save_config()
Ejemplo n.º 2
0
    def __regist_env_setup_script(self):
        try:
            self.__main_window.is_running = True
            # Show File Select Dialog
            file_path = filedialog.askopenfilename(
                filetypes=[('All Files', '*.*')], title=ENV_SETUP_WIZARD_TITLE)

            if file_path:

                # Check if it is already registed
                env_setup = EnvSetupInfo.get_data_with_path(file_path)
                if env_setup is None:
                    # Add Env Setup
                    env_setup = EnvSetup(path=file_path)
                    EnvSetupInfo.add_data(env_setup)
                    try:
                        save_config()
                        self.__main_window.c_println(ADD_NEW_SCRIPT_MSG %
                                                     env_setup.abs_path,
                                                     mode=INFO)

                    except Exception as e:
                        self.__main_window.c_println(os.linesep + str(e),
                                                     ERROR)

                else:
                    self.__main_window.c_println(ALREADY_SCRIPT_MSG %
                                                 (ENV_SETUP, env_setup.id),
                                                 mode=INFO)
        finally:
            self.__main_window.is_running = False
Ejemplo n.º 3
0
    def __delete_scripts(self):
        # Delete Scripts
        del_dict = self.__test_select_frame.delete_selected()

        # Save Config
        save_config()

        # Show Deleted Message
        if len(del_dict[TEST_FUNC]) > 0:
            self.__del_print(del_dict[TEST_FUNC])

        if len(del_dict[DATA_SCRIPT]) > 0:
            self.__del_print(del_dict[DATA_SCRIPT])

        if len(del_dict[MODEL_SCRIPT]) > 0:
            self.__del_print(del_dict[MODEL_SCRIPT])
Ejemplo n.º 4
0
    def __regist_test_func_script(self):
        try:
            self.__main_window.is_running = True
            # Show File Select Dialog
            file_path = filedialog.askopenfilename(
                filetypes=[('Python File', '*.py')],
                title=TEST_FUNC_WIZARD_TITLE)

            if file_path:
                # show env select wizard
                env_setup_wizard = EnvSetupWizard(master=self.master, size=12)
                show_wizard(wizard=env_setup_wizard,
                            title=ENV_SET_WIZARD_TITLE)

                env_id = env_setup_wizard.env_setup_id

                if len(env_id) == 0:
                    return

                # Check if it is already registed
                test_func = TestFuncInfo.get_data_with_path(path=file_path)
                if test_func is None:
                    # Add Test Function
                    test_func = TestFunc(path=file_path, env_id=env_id)
                    TestFuncInfo.add_data(test_func)
                    # Update CONF
                    try:
                        save_config()
                        self.__main_window.c_println(ADD_NEW_SCRIPT_MSG %
                                                     test_func.abs_path,
                                                     mode=INFO)

                    except Exception as e:
                        self.__main_window.c_println(os.linesep + str(e),
                                                     ERROR)
                        return

                else:
                    self.__main_window.c_println(ALREADY_SCRIPT_MSG %
                                                 (TEST_FUNC, test_func.id),
                                                 mode=INFO)

                # Update MainWindow
                self.__test_select_frame.update_list_items()
        finally:
            self.__main_window.is_running = False
Ejemplo n.º 5
0
    def test_func_run(self):
        # Check anaconda
        if ANACONDA_DIR is None:
            self.c_println(NOT_SELECTED_ANACONDA_MSG, ERROR)
            return

        select_test_func_list = self.__test_select_frame.get_select_test_func()
        select_model_list = self.__test_select_frame.get_select_model()
        select_data_list = self.__test_select_frame.get_select_data()

        if len(select_test_func_list) > 0 and len(select_model_list) > 0:
            # Treeview selectmode is BROWSE
            test_func = select_test_func_list[0]
            self.c_println('%s : %s' % (TEST_FUNC_LABEL, test_func.abs_path),
                           mode=INFO)

            if select_data_list:
                data_script = select_data_list[0]
                self.c_println('%s : %s' % (DATA_SCRIPT_LABEL,
                                            data_script.abs_path), mode=INFO)
            else:
                data_script = None

            model_script = select_model_list[0]
            self.c_println('%s : %s' % (MODEL_SCRIPT_LABEL,
                                        model_script.abs_path), mode=INFO)

            # select confing
            conf_select_wizard = ConfSelectWizard(
                master=self.master, conf_path=test_func.conf_path)

            show_wizard(title=SELECT_USE_CONF_LABEL, wizard=conf_select_wizard)
            if not conf_select_wizard.is_run:
                self.c_println(CANCEL_MSG, mode=INFO)
                return

            test_func.conf_path = conf_select_wizard.conf_path

            # Save config
            save_config()

            if test_func.conf_path:
                self.c_println('Configuration : %s' % test_func.conf_path,
                               mode=INFO)
            else:
                self.c_println('Not used configuration file', mode=INFO)

            # Create Execute Environment
            if data_script:
                env_id = min(set(test_func.env_id) &
                             set(model_script.env_id) &
                             set(data_script.env_id))
            else:
                env_id = min(set(test_func.env_id) &
                             set(model_script.env_id))

            env_setup = EnvSetupInfo.get_data(env_id)

            env_python_dir = self.__create_env(script_path=env_setup.abs_path)

            if not env_python_dir:
                self.c_println(CANCEL_MSG, mode=INFO)
                return

            self.c_println('Execute Env : %s' % env_python_dir,
                           mode=INFO)

            # template python file replace keyword
            # Created file is deleted after execution
            exec_path = create_test_exec_script(
                test_func=test_func,
                data=data_script,
                model=model_script,
                print_func=self.c_println)

            if exec_path:
                # Run Test Execute Function
                try:
                    self.__call_test_func(
                        test_func=test_func,
                        env_python_dir=env_python_dir,
                        test_func_script_path=exec_path)

                finally:
                    os.remove(exec_path)