automation-ide-dev 0.0.35__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. automation_ide_dev-0.0.35/LICENSE +21 -0
  2. automation_ide_dev-0.0.35/PKG-INFO +85 -0
  3. automation_ide_dev-0.0.35/README.md +58 -0
  4. automation_ide_dev-0.0.35/automation_ide/__init__.py +7 -0
  5. automation_ide_dev-0.0.35/automation_ide/__main__.py +0 -0
  6. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/__init__.py +0 -0
  7. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/editor_main/__init__.py +0 -0
  8. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/editor_main/main_ui.py +76 -0
  9. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/extend_multi_language/__init__.py +0 -0
  10. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/extend_multi_language/extend_english.py +98 -0
  11. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/extend_multi_language/extend_traditional_chinese.py +98 -0
  12. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/extend_multi_language/update_language_dict.py +8 -0
  13. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/__init__.py +0 -0
  14. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/__init__.py +0 -0
  15. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/api_testka_menu/__init__.py +0 -0
  16. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/api_testka_menu/build_api_testka_menu.py +120 -0
  17. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/auto_control_menu/__init__.py +0 -0
  18. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/auto_control_menu/build_autocontrol_menu.py +147 -0
  19. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/automation_file_menu/__init__.py +0 -0
  20. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/automation_file_menu/build_automation_file_menu.py +122 -0
  21. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/load_density_menu/__init__.py +0 -0
  22. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/load_density_menu/build_load_density_menu.py +120 -0
  23. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/mail_thunder_menu/__init__.py +0 -0
  24. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/mail_thunder_menu/build_mail_thunder_menu.py +88 -0
  25. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/web_runner_menu/__init__.py +0 -0
  26. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/automation_menu/web_runner_menu/build_webrunner_menu.py +119 -0
  27. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/build_menubar.py +42 -0
  28. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/install_menu/__init__.py +0 -0
  29. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/install_menu/automation_menu/__init__.py +0 -0
  30. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/install_menu/automation_menu/build_automation_install_menu.py +82 -0
  31. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/install_menu/install_utils.py +21 -0
  32. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/install_menu/tools_menu/__init__.py +0 -0
  33. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/install_menu/tools_menu/build_tool_install_menu.py +29 -0
  34. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/menu_utils.py +16 -0
  35. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/tools_menu/__init__.py +0 -0
  36. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/tools_menu/bing_gpt_menu/__init__.py +0 -0
  37. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/menu/tools_menu/bing_gpt_menu/build_bing_gpt_menu.py +44 -0
  38. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/show_code_window/__init__.py +0 -0
  39. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/show_code_window/code_window.py +21 -0
  40. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/syntax/__init__.py +0 -0
  41. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/syntax/syntax_extend.py +37 -0
  42. automation_ide_dev-0.0.35/automation_ide/automation_editor_ui/syntax/syntax_keyword.py +152 -0
  43. automation_ide_dev-0.0.35/automation_ide/extend/__init__.py +0 -0
  44. automation_ide_dev-0.0.35/automation_ide/extend/mail_thunder_extend/__init__.py +0 -0
  45. automation_ide_dev-0.0.35/automation_ide/extend/mail_thunder_extend/mail_thunder_setting.py +36 -0
  46. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/__init__.py +0 -0
  47. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/api_testka/__init__.py +0 -0
  48. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/api_testka/api_testka_process.py +66 -0
  49. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/auto_control/__init__.py +0 -0
  50. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/auto_control/auto_control_process.py +62 -0
  51. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/file_automation/__init__.py +0 -0
  52. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/file_automation/file_automation_process.py +66 -0
  53. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/load_density/__init__.py +0 -0
  54. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/load_density/load_density_process.py +66 -0
  55. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/mail_thunder/__init__.py +0 -0
  56. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/mail_thunder/mail_thunder_process.py +16 -0
  57. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/process_executor_utils.py +72 -0
  58. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/task_process_manager.py +164 -0
  59. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/web_runner/__init__.py +0 -0
  60. automation_ide_dev-0.0.35/automation_ide/extend/process_executor/web_runner/web_runner_process.py +66 -0
  61. automation_ide_dev-0.0.35/automation_ide/utils/__init__.py +0 -0
  62. automation_ide_dev-0.0.35/automation_ide/utils/exception/__init__.py +0 -0
  63. automation_ide_dev-0.0.35/automation_ide/utils/exception/exception_tags.py +30 -0
  64. automation_ide_dev-0.0.35/automation_ide/utils/exception/exceptions.py +50 -0
  65. automation_ide_dev-0.0.35/automation_ide/utils/file_process/__init__.py +0 -0
  66. automation_ide_dev-0.0.35/automation_ide/utils/file_process/get_dir_file_list.py +29 -0
  67. automation_ide_dev-0.0.35/automation_ide/utils/json_format/__init__.py +1 -0
  68. automation_ide_dev-0.0.35/automation_ide/utils/json_format/json_process.py +28 -0
  69. automation_ide_dev-0.0.35/automation_ide/utils/manager/__init__.py +0 -0
  70. automation_ide_dev-0.0.35/automation_ide/utils/manager/package_manager/__init__.py +0 -0
  71. automation_ide_dev-0.0.35/automation_ide/utils/manager/package_manager/package_manager_class.py +18 -0
  72. automation_ide_dev-0.0.35/automation_ide_dev.egg-info/PKG-INFO +85 -0
  73. automation_ide_dev-0.0.35/automation_ide_dev.egg-info/SOURCES.txt +76 -0
  74. automation_ide_dev-0.0.35/automation_ide_dev.egg-info/dependency_links.txt +1 -0
  75. automation_ide_dev-0.0.35/automation_ide_dev.egg-info/requires.txt +8 -0
  76. automation_ide_dev-0.0.35/automation_ide_dev.egg-info/top_level.txt +1 -0
  77. automation_ide_dev-0.0.35/pyproject.toml +43 -0
  78. automation_ide_dev-0.0.35/setup.cfg +4 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 JE-Chen
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,85 @@
1
+ Metadata-Version: 2.1
2
+ Name: automation_ide_dev
3
+ Version: 0.0.35
4
+ Summary: AutomationEditor for multi automation
5
+ Author-email: JE-Chen <jechenmailman@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/AutomationEditor
8
+ Project-URL: Code, https://github.com/Intergration-Automation-Testing/AutomationEditor
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Development Status :: 2 - Pre-Alpha
11
+ Classifier: Environment :: Win32 (MS Windows)
12
+ Classifier: Environment :: MacOS X
13
+ Classifier: Environment :: X11 Applications
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Requires-Python: >=3.9
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: je-editor
20
+ Requires-Dist: je_auto_control
21
+ Requires-Dist: je_web_runner
22
+ Requires-Dist: je_load_density
23
+ Requires-Dist: je_api_testka
24
+ Requires-Dist: je-mail-thunder
25
+ Requires-Dist: automation-file
26
+ Requires-Dist: PySide6==6.7.3
27
+
28
+ [![Downloads](https://static.pepy.tech/badge/automation-editor)](https://pepy.tech/project/automation-editor)
29
+
30
+ [![Codacy Badge](https://app.codacy.com/project/badge/Grade/b7d32ed8600b4bd2a2f3e960f46f2ad0)](https://www.codacy.com/gh/JE-Chen/Integration-testing-environment/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=JE-Chen/Integration-testing-environment&amp;utm_campaign=Badge_Grade)
31
+
32
+ [![AutomationEditor Stable Python3.9](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_9.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_9.yml)
33
+
34
+ [![AutomationEditor Stable Python3.10](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_10.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_10.yml)
35
+
36
+ [![AutomationEditor Stable Python3.11](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_11.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_11.yml)
37
+
38
+ [![Documentation Status](https://readthedocs.org/projects/automationeditor/badge/?version=latest)](https://automationeditor.readthedocs.io/en/latest/?badge=latest)
39
+
40
+ [AutomationIDE Doc Click Here!](https://automationeditor.readthedocs.io/en/latest/)
41
+
42
+ [Using this IDE edit tkinter video](https://www.youtube.com/watch?v=VXm8L2qrdSU&ab_channel=JEChen)
43
+
44
+ ---
45
+
46
+ ## Notice
47
+ > * If you can't run program and get argument or internal error on windows, Please update your powershell.
48
+ > * https://github.com/PowerShell/PowerShell/releases
49
+
50
+ ---
51
+ ## What is Automation Editor
52
+ > Project Kanban \
53
+ > https://github.com/orgs/Integration-Automation/projects/2/views/1 \
54
+ > * Native support AutoControl script.
55
+ > * Native support APITestka script.
56
+ > * Native support Load Density script.
57
+ > * Native support WEB Runner script.
58
+ > * Native support Mail Thunder script.
59
+ > * Native support File Automation script.
60
+ > * Native support Front Engine script.
61
+ > * Automation instance monitor.
62
+ > * Automation project support.
63
+ > * Docs support.
64
+ > * BingGPT (requires setting up cookies, tutorial available in the IDE)
65
+ > * DALL-E3 Bing version for image generation (requires setting up another type of cookie, tutorial available in the IDE)
66
+ > * Auto-save (available after the first save or after opening a file), auto-complete, jump to definition.
67
+ > * Bilingual interface (English, Traditional Chinese) Choose font and size.
68
+ > * Tabbed browsing, split window functionality.
69
+ > * Embedded browser.
70
+ > * Embedded Jupyter and IPython.
71
+ > * Built-in automation packages.
72
+ > * Multiple UI style choices.
73
+ > * Python venv and management to choose the Python interpreter to use.
74
+ > * Code style checking and auto-formatting (PEP8).
75
+ > * Debugger.
76
+ > * Multiple Shell command executors (run multiple Shells at once).
77
+ > * Multiple program executors (run multiple programs at once). Custom colors.
78
+
79
+
80
+ ---
81
+
82
+ ### install
83
+ > pip install automation_editor
84
+
85
+ ![Architecture Diagram](architecture_diagram/AutomationEditorArchitectureDiagram.drawio.png)
@@ -0,0 +1,58 @@
1
+ [![Downloads](https://static.pepy.tech/badge/automation-editor)](https://pepy.tech/project/automation-editor)
2
+
3
+ [![Codacy Badge](https://app.codacy.com/project/badge/Grade/b7d32ed8600b4bd2a2f3e960f46f2ad0)](https://www.codacy.com/gh/JE-Chen/Integration-testing-environment/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=JE-Chen/Integration-testing-environment&amp;utm_campaign=Badge_Grade)
4
+
5
+ [![AutomationEditor Stable Python3.9](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_9.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_9.yml)
6
+
7
+ [![AutomationEditor Stable Python3.10](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_10.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_10.yml)
8
+
9
+ [![AutomationEditor Stable Python3.11](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_11.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_11.yml)
10
+
11
+ [![Documentation Status](https://readthedocs.org/projects/automationeditor/badge/?version=latest)](https://automationeditor.readthedocs.io/en/latest/?badge=latest)
12
+
13
+ [AutomationIDE Doc Click Here!](https://automationeditor.readthedocs.io/en/latest/)
14
+
15
+ [Using this IDE edit tkinter video](https://www.youtube.com/watch?v=VXm8L2qrdSU&ab_channel=JEChen)
16
+
17
+ ---
18
+
19
+ ## Notice
20
+ > * If you can't run program and get argument or internal error on windows, Please update your powershell.
21
+ > * https://github.com/PowerShell/PowerShell/releases
22
+
23
+ ---
24
+ ## What is Automation Editor
25
+ > Project Kanban \
26
+ > https://github.com/orgs/Integration-Automation/projects/2/views/1 \
27
+ > * Native support AutoControl script.
28
+ > * Native support APITestka script.
29
+ > * Native support Load Density script.
30
+ > * Native support WEB Runner script.
31
+ > * Native support Mail Thunder script.
32
+ > * Native support File Automation script.
33
+ > * Native support Front Engine script.
34
+ > * Automation instance monitor.
35
+ > * Automation project support.
36
+ > * Docs support.
37
+ > * BingGPT (requires setting up cookies, tutorial available in the IDE)
38
+ > * DALL-E3 Bing version for image generation (requires setting up another type of cookie, tutorial available in the IDE)
39
+ > * Auto-save (available after the first save or after opening a file), auto-complete, jump to definition.
40
+ > * Bilingual interface (English, Traditional Chinese) Choose font and size.
41
+ > * Tabbed browsing, split window functionality.
42
+ > * Embedded browser.
43
+ > * Embedded Jupyter and IPython.
44
+ > * Built-in automation packages.
45
+ > * Multiple UI style choices.
46
+ > * Python venv and management to choose the Python interpreter to use.
47
+ > * Code style checking and auto-formatting (PEP8).
48
+ > * Debugger.
49
+ > * Multiple Shell command executors (run multiple Shells at once).
50
+ > * Multiple program executors (run multiple programs at once). Custom colors.
51
+
52
+
53
+ ---
54
+
55
+ ### install
56
+ > pip install automation_editor
57
+
58
+ ![Architecture Diagram](architecture_diagram/AutomationEditorArchitectureDiagram.drawio.png)
@@ -0,0 +1,7 @@
1
+ from automation_ide.automation_editor_ui.editor_main.main_ui import AutomationEditor
2
+ from automation_ide.automation_editor_ui.editor_main.main_ui import EDITOR_EXTEND_TAB
3
+ from automation_ide.automation_editor_ui.editor_main.main_ui import start_editor
4
+
5
+ __all__ = [
6
+ "start_editor", "AutomationEditor", "EDITOR_EXTEND_TAB"
7
+ ]
File without changes
@@ -0,0 +1,76 @@
1
+ import sys
2
+ from typing import List, Dict, Type
3
+
4
+ from PySide6.QtCore import QTimer, QCoreApplication
5
+ from PySide6.QtWidgets import QApplication, QWidget
6
+ from je_editor import EditorMain, language_wrapper
7
+ from qt_material import apply_stylesheet
8
+
9
+ from automation_ide.automation_editor_ui.extend_multi_language.update_language_dict import update_language_dict
10
+ from automation_ide.automation_editor_ui.menu.build_menubar import add_menu_to_menubar
11
+ from automation_ide.automation_editor_ui.syntax.syntax_extend import \
12
+ syntax_extend_package
13
+
14
+ EDITOR_EXTEND_TAB: Dict[str, Type[QWidget]] = {}
15
+
16
+
17
+ class AutomationEditor(EditorMain):
18
+
19
+ def __init__(self, debug_mode: bool = False, show_system_tray_ray: bool = False):
20
+ super().__init__(debug_mode, show_system_tray_ray)
21
+ self.current_run_code_window: List[QWidget] = list()
22
+ # Project compiler if user not choose this will use which to find
23
+ self.python_compiler = None
24
+ # Delete JEditor help
25
+ if self.help_menu:
26
+ self.help_menu.deleteLater()
27
+ # System tray change
28
+ if self.show_system_tray_ray:
29
+ self.system_tray.main_window = self
30
+ self.system_tray.setToolTip(language_wrapper.language_word_dict.get("automation_editor_application_name"))
31
+ # Update language_dict
32
+ update_language_dict()
33
+ # Menu
34
+ add_menu_to_menubar(self)
35
+ syntax_extend_package(self)
36
+ # Tab
37
+ for widget_name, widget in EDITOR_EXTEND_TAB.items():
38
+ self.tab_widget.addTab(widget(), widget_name)
39
+ # Title
40
+ self.setWindowTitle(language_wrapper.language_word_dict.get("automation_editor_application_name"))
41
+ if debug_mode:
42
+ close_timer = QTimer(self)
43
+ close_timer.setInterval(10000)
44
+ close_timer.timeout.connect(self.debug_close)
45
+ close_timer.start()
46
+
47
+ def closeEvent(self, event) -> None:
48
+ for widget in self.current_run_code_window:
49
+ widget.close()
50
+ super().closeEvent(event)
51
+
52
+ @classmethod
53
+ def debug_close(cls) -> None:
54
+ """
55
+ Use to run CI test.
56
+ :return: None
57
+ """
58
+ sys.exit(0)
59
+
60
+
61
+ def start_editor(debug_mode: bool = False, **kwargs) -> None:
62
+ """
63
+ Start editor instance
64
+ :return: None
65
+ """
66
+ new_editor = QCoreApplication.instance()
67
+ if new_editor is None:
68
+ new_editor = QApplication(sys.argv)
69
+ window = AutomationEditor(debug_mode=debug_mode, **kwargs)
70
+ apply_stylesheet(new_editor, theme="dark_amber.xml")
71
+ window.showMaximized()
72
+ try:
73
+ window.startup_setting()
74
+ except Exception as error:
75
+ print(repr(error))
76
+ sys.exit(new_editor.exec())
@@ -0,0 +1,98 @@
1
+ from je_editor import english_word_dict
2
+
3
+
4
+ def update_english_word_dict():
5
+ english_word_dict.update(
6
+ {
7
+ # application name
8
+ "automation_editor_application_name": "Automation Editor",
9
+ # Menubar
10
+ "automation_menu_label": "Automation",
11
+ "install_menu_label": "Install",
12
+ # Normal label
13
+ "run_label": "Run",
14
+ "help_label": "HELP",
15
+ "project_label": "Project",
16
+ # APITestka Menu
17
+ "apitestka_menu_label": "APITestka",
18
+ "apitestka_run_script_label": "Run APITestka Script",
19
+ "apitestka_run_script_with_send_label": "Run APITestka With Send",
20
+ "apitestka_run_multi_script_label": "Run Multi APITestka Script",
21
+ "apitestka_run_multi_script_with_send_label": "Run Multi APITestka Script With Send",
22
+ "apitestka_doc_label": "Open APITestka Doc",
23
+ "apitestka_doc_tab_label": "APITestka Doc",
24
+ "apitestka_github_label": "Open APITestka GitHub",
25
+ "apitestka_github_tab_label": "APITestka GitHub",
26
+ "apitestka_create_project_label": "Create APITestka Project",
27
+ # Autocontrol Menu
28
+ "autocontrol_menu_label": "Autocontrol",
29
+ "autocontrol_run_script_label": "Run Autocontrol Script",
30
+ "autocontrol_run_script_with_send_label": "Run Autocontrol With Send",
31
+ "autocontrol_run_multi_script_label": "Run Multi Autocontrol Script",
32
+ "autocontrol_run_multi_script_with_send_label": "Run Multi Autocontrol Script With Send",
33
+ "autocontrol_doc_label": "Open Autocontrol Doc",
34
+ "autocontrol_doc_tab_label": "Autocontrol Doc",
35
+ "autocontrol_github_label": "Open Autocontrol GitHub",
36
+ "autocontrol_github_tab_label": "Autocontrol GitHub",
37
+ "autocontrol_create_project_label": "Create Autocontrol Project",
38
+ "autocontrol_record_menu_label": "Record",
39
+ "autocontrol_record_start_label": "Record Start",
40
+ "autocontrol_record_stop_label": "Record Stop",
41
+ # File Automation Menu
42
+ "file_automation_menu_label": "FileAutomation",
43
+ "file_automation_run_script_label": "Run FileAutomation Script",
44
+ "file_automation_run_script_with_send_label": "Run FileAutomation With Send",
45
+ "file_automation_run_multi_script_label": "Run Multi FileAutomation Script",
46
+ "file_automation_run_multi_script_with_send_label": "Run Multi FileAutomation Script With Send",
47
+ "file_automation_doc_label": "Open FileAutomation Doc",
48
+ "file_automation_doc_tab_label": "FileAutomation Doc",
49
+ "file_automation_github_label": "Open FileAutomation GitHub",
50
+ "file_automation_github_tab_label": "FileAutomation GitHub",
51
+ "file_automation_create_project_label": "Create FileAutomation Project",
52
+ # Load Density Menu
53
+ "load_density_menu_label": "LoadDensity",
54
+ "load_density_run_script_label": "Run LoadDensity Script",
55
+ "load_density_run_script_with_send_label": "Run LoadDensity With Send",
56
+ "load_density_run_multi_script_label": "Run Multi LoadDensity Script",
57
+ "load_density_run_multi_script_with_send_label": "Run Multi LoadDensity Script With Send",
58
+ "load_density_doc_label": "Open LoadDensity Doc",
59
+ "load_density_doc_tab_label": "LoadDensity Doc",
60
+ "load_density_github_label": "Open LoadDensity GitHub",
61
+ "load_density_github_tab_label": "LoadDensity GitHub",
62
+ "load_density_create_project_label": "Create LoadDensity Project",
63
+ # Mail Thunder Menu
64
+ "mail_thunder_menu_label": "MailThunder",
65
+ "mail_thunder_run_script_label": "Run MailThunder Script",
66
+ "mail_thunder_doc_label": "Open MailThunder Doc",
67
+ "mail_thunder_doc_tab_label": "MailThunder Doc",
68
+ "mail_thunder_github_label": "Open MailThunder GitHub",
69
+ "mail_thunder_github_tab_label": "MailThunder GitHub",
70
+ "mail_thunder_create_project_label": "Create MailThunder Project",
71
+ # Webrunner Menu
72
+ "web_runner_menu_label": "WebRunner",
73
+ "web_runner_run_script_label": "Run WebRunner Script",
74
+ "web_runner_run_script_with_send_label": "Run WebRunner With Send",
75
+ "web_runner_run_multi_script_label": "Run Multi WebRunner Script",
76
+ "web_runner_run_multi_script_with_send_label": "Run Multi WebRunner Script With Send",
77
+ "web_runner_doc_label": "Open WebRunner Doc",
78
+ "web_runner_doc_tab_label": "WebRunner Doc",
79
+ "web_runner_github_label": "Open WebRunner GitHub",
80
+ "web_runner_github_tab_label": "WebRunner GitHub",
81
+ "web_runner_create_project_label": "Create WebRunner Project",
82
+ # Install Menu
83
+ "install_menu_autocontrol": "Install AutoControl",
84
+ "install_menu_apitestka": "Install APITestka",
85
+ "install_menu_loaddensity": "Install LoadDensity",
86
+ "install_menu_webrunner": "Install WebRunner",
87
+ "install_menu_automation_file": "Install Automation File",
88
+ "install_menu_mail_thunder": "Install MailThunder",
89
+ "install_menu_tools_install_menu_label": "Tools",
90
+ "install_menu_tools_install_build_tools": "Install Build Tools",
91
+ # Tools Menu
92
+ "tools_menu_re_edge_gpt_label": "ReEdgeGPT",
93
+ "tools_menu_re_edge_gpt_doc_label": "Open ReEdgeGPT Doc",
94
+ "tools_menu_re_edge_gpt_doc_tab_label": "ReEdgeGPT Doc",
95
+ "tools_menu_re_edge_gpt_github_label": "Open ReEdgeGPT GitHub",
96
+ "tools_menu_re_edge_gpt_github_tab_label": "ReEdgeGPT GitHub",
97
+ }
98
+ )
@@ -0,0 +1,98 @@
1
+ from je_editor import traditional_chinese_word_dict
2
+
3
+
4
+ def update_traditional_chinese_word_dict():
5
+ traditional_chinese_word_dict.update(
6
+ {
7
+ # application name
8
+ "automation_editor_application_name": "Automation Editor",
9
+ # Menubar
10
+ "automation_menu_label": "自動化",
11
+ "install_menu_label": "安裝",
12
+ # Normal label
13
+ "run_label": "運行",
14
+ "help_label": "幫助",
15
+ "project_label": "專案",
16
+ # APITestka Menu
17
+ "apitestka_menu_label": "APITestka",
18
+ "apitestka_run_script_label": "運行 APITestka 腳本",
19
+ "apitestka_run_script_with_send_label": "運行 APITestka 腳本並寄信",
20
+ "apitestka_run_multi_script_label": "運行多個 APITestka 腳本",
21
+ "apitestka_run_multi_script_with_send_label": "運行多個 APITestka 腳本並寄信",
22
+ "apitestka_doc_label": "開啟 APITestka 文件",
23
+ "apitestka_doc_tab_label": "APITestka 文件",
24
+ "apitestka_github_label": "開啟 APITestka GitHub",
25
+ "apitestka_github_tab_label": "APITestka GitHub",
26
+ "apitestka_create_project_label": "建立 APITestka 專案",
27
+ # Autocontrol Menu
28
+ "autocontrol_menu_label": "Autocontrol",
29
+ "autocontrol_run_script_label": "運行 Autocontrol 腳本",
30
+ "autocontrol_run_script_with_send_label": "運行 Autocontrol 腳本並寄信",
31
+ "autocontrol_run_multi_script_label": "運行 Multi Autocontrol 腳本",
32
+ "autocontrol_run_multi_script_with_send_label": "運行 Multi Autocontrol 腳本 腳本並寄信",
33
+ "autocontrol_doc_label": "開啟 Autocontrol 文件",
34
+ "autocontrol_doc_tab_label": "Autocontrol 文件",
35
+ "autocontrol_github_label": "開啟 Autocontrol GitHub",
36
+ "autocontrol_github_tab_label": "Autocontrol GitHub",
37
+ "autocontrol_create_project_label": "建立 Autocontrol 專案",
38
+ "autocontrol_record_menu_label": "紀錄",
39
+ "autocontrol_record_start_label": "紀錄 Start",
40
+ "autocontrol_record_stop_label": "紀錄 Stop",
41
+ # File Automation Menu
42
+ "file_automation_menu_label": "FileAutomation",
43
+ "file_automation_run_script_label": "運行 FileAutomation 腳本",
44
+ "file_automation_run_script_with_send_label": "運行 FileAutomation 腳本並寄信",
45
+ "file_automation_run_multi_script_label": "運行 Multi FileAutomation 腳本",
46
+ "file_automation_run_multi_script_with_send_label": "運行 Multi FileAutomation 腳本 腳本並寄信",
47
+ "file_automation_doc_label": "開啟 FileAutomation 文件",
48
+ "file_automation_doc_tab_label": "FileAutomation 文件",
49
+ "file_automation_github_label": "開啟 FileAutomation GitHub",
50
+ "file_automation_github_tab_label": "FileAutomation GitHub",
51
+ "file_automation_create_project_label": "建立 FileAutomation 專案",
52
+ # Load Density Menu
53
+ "load_density_menu_label": "LoadDensity",
54
+ "load_density_run_script_label": "運行 LoadDensity 腳本",
55
+ "load_density_run_script_with_send_label": "運行 LoadDensity 腳本並寄信",
56
+ "load_density_run_multi_script_label": "運行 Multi LoadDensity 腳本",
57
+ "load_density_run_multi_script_with_send_label": "運行 Multi LoadDensity 腳本 腳本並寄信",
58
+ "load_density_doc_label": "開啟 LoadDensity 文件",
59
+ "load_density_doc_tab_label": "LoadDensity 文件",
60
+ "load_density_github_label": "開啟 LoadDensity GitHub",
61
+ "load_density_github_tab_label": "LoadDensity GitHub",
62
+ "load_density_create_project_label": "建立 LoadDensity 專案",
63
+ # Mail Thunder Menu
64
+ "mail_thunder_menu_label": "MailThunder",
65
+ "mail_thunder_run_script_label": "運行 MailThunder 腳本",
66
+ "mail_thunder_doc_label": "開啟 MailThunder 文件",
67
+ "mail_thunder_doc_tab_label": "MailThunder 文件",
68
+ "mail_thunder_github_label": "開啟 MailThunder GitHub",
69
+ "mail_thunder_github_tab_label": "MailThunder GitHub",
70
+ "mail_thunder_create_project_label": "建立 MailThunder 專案",
71
+ # Webrunner Menu
72
+ "web_runner_menu_label": "WebRunner",
73
+ "web_runner_run_script_label": "運行 WebRunner 腳本",
74
+ "web_runner_run_script_with_send_label": "運行 WebRunner 腳本並寄信",
75
+ "web_runner_run_multi_script_label": "運行 Multi WebRunner 腳本",
76
+ "web_runner_run_multi_script_with_send_label": "運行 Multi WebRunner 腳本 腳本並寄信",
77
+ "web_runner_doc_label": "開啟 WebRunner 文件",
78
+ "web_runner_doc_tab_label": "WebRunner 文件",
79
+ "web_runner_github_label": "開啟 WebRunner GitHub",
80
+ "web_runner_github_tab_label": "WebRunner GitHub",
81
+ "web_runner_create_project_label": "建立 WebRunner 專案",
82
+ # Install Menu
83
+ "install_menu_autocontrol": "安裝 AutoControl",
84
+ "install_menu_apitestka": "安裝 APITestka",
85
+ "install_menu_loaddensity": "安裝 LoadDensity",
86
+ "install_menu_webrunner": "安裝 WebRunner",
87
+ "install_menu_automation_file": "安裝 Automation File",
88
+ "install_menu_mail_thunder": "安裝 MailThunder",
89
+ "install_menu_tools_install_menu_label": "工具",
90
+ "install_menu_tools_install_build_tools": "安裝 Build Tools",
91
+ # Tools Menu
92
+ "tools_menu_re_edge_gpt_label": "ReEdgeGPT",
93
+ "tools_menu_re_edge_gpt_doc_label": "開啟 ReEdgeGPT 文件",
94
+ "tools_menu_re_edge_gpt_doc_tab_label": "ReEdgeGPT 文件",
95
+ "tools_menu_re_edge_gpt_github_label": "開啟 ReEdgeGPT GitHub",
96
+ "tools_menu_re_edge_gpt_github_tab_label": "ReEdgeGPT GitHub",
97
+ }
98
+ )
@@ -0,0 +1,8 @@
1
+ from automation_ide.automation_editor_ui.extend_multi_language.extend_english import update_english_word_dict
2
+ from automation_ide.automation_editor_ui.extend_multi_language.extend_traditional_chinese import \
3
+ update_traditional_chinese_word_dict
4
+
5
+
6
+ def update_language_dict():
7
+ update_traditional_chinese_word_dict()
8
+ update_english_word_dict()
@@ -0,0 +1,120 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from je_editor import language_wrapper
6
+
7
+ from automation_ide.automation_editor_ui.menu.menu_utils import open_web_browser
8
+
9
+ if TYPE_CHECKING:
10
+ from automation_ide.automation_editor_ui.editor_main.main_ui import AutomationEditor
11
+ import sys
12
+
13
+ from PySide6.QtGui import QAction
14
+
15
+ from automation_ide.extend.process_executor.api_testka.api_testka_process import call_api_testka, \
16
+ call_api_testka_with_send, call_api_testka_multi_file, call_api_testka_multi_file_and_send
17
+
18
+
19
+ def set_apitestka_menu(ui_we_want_to_set: AutomationEditor):
20
+ """
21
+ Build menu include APITestka feature.
22
+ :param ui_we_want_to_set: main window to add menu.
23
+ :return: None
24
+ """
25
+ ui_we_want_to_set.apitestka_menu = ui_we_want_to_set.automation_menu.addMenu(
26
+ language_wrapper.language_word_dict.get("apitestka_menu_label")
27
+ )
28
+ ui_we_want_to_set.apitestka_run_menu = ui_we_want_to_set.apitestka_menu.addMenu(
29
+ language_wrapper.language_word_dict.get("run_label"))
30
+ # Run APITestka Script
31
+ ui_we_want_to_set.run_apitestka_action = QAction(
32
+ language_wrapper.language_word_dict.get("apitestka_run_script_label"))
33
+ ui_we_want_to_set.run_apitestka_action.triggered.connect(
34
+ lambda: call_api_testka(
35
+ ui_we_want_to_set,
36
+ )
37
+ )
38
+ ui_we_want_to_set.apitestka_run_menu.addAction(ui_we_want_to_set.run_apitestka_action)
39
+ # Run APITestka Script With Send
40
+ ui_we_want_to_set.run_apitestka_action_with_send = QAction(
41
+ language_wrapper.language_word_dict.get("apitestka_run_script_with_send_label"))
42
+ ui_we_want_to_set.run_apitestka_action_with_send.triggered.connect(
43
+ lambda: call_api_testka_with_send(
44
+ ui_we_want_to_set,
45
+ )
46
+ )
47
+ ui_we_want_to_set.apitestka_run_menu.addAction(
48
+ ui_we_want_to_set.run_apitestka_action_with_send
49
+ )
50
+ # Run Multi APITestka Script
51
+ ui_we_want_to_set.run_multi_apitestka_action = QAction(
52
+ language_wrapper.language_word_dict.get("apitestka_run_multi_script_label"))
53
+ ui_we_want_to_set.run_multi_apitestka_action.triggered.connect(
54
+ lambda: call_api_testka_multi_file(
55
+ ui_we_want_to_set,
56
+ )
57
+ )
58
+ ui_we_want_to_set.apitestka_run_menu.addAction(
59
+ ui_we_want_to_set.run_multi_apitestka_action
60
+ )
61
+ # Run Multi APITestka Script With Send
62
+ ui_we_want_to_set.run_multi_apitestka_action_with_send = QAction(
63
+ language_wrapper.language_word_dict.get("apitestka_run_multi_script_with_send_label"))
64
+ ui_we_want_to_set.run_multi_apitestka_action_with_send.triggered.connect(
65
+ lambda: call_api_testka_multi_file_and_send(
66
+ ui_we_want_to_set,
67
+ )
68
+ )
69
+ ui_we_want_to_set.apitestka_run_menu.addAction(
70
+ ui_we_want_to_set.run_multi_apitestka_action_with_send
71
+ )
72
+ ui_we_want_to_set.apitestka_help_menu = ui_we_want_to_set.apitestka_menu.addMenu(
73
+ language_wrapper.language_word_dict.get("help_label"))
74
+ # Open Doc
75
+ ui_we_want_to_set.open_apitestka_doc_action = QAction(
76
+ language_wrapper.language_word_dict.get("apitestka_doc_label"))
77
+ ui_we_want_to_set.open_apitestka_doc_action.triggered.connect(
78
+ lambda: open_web_browser(
79
+ ui_we_want_to_set,
80
+ "https://apitestka.readthedocs.io/en/latest/",
81
+ language_wrapper.language_word_dict.get("apitestka_doc_tab_label")
82
+ )
83
+ )
84
+ ui_we_want_to_set.apitestka_help_menu.addAction(
85
+ ui_we_want_to_set.open_apitestka_doc_action
86
+ )
87
+ # Open Github
88
+ ui_we_want_to_set.open_apitestka_github_action = QAction(
89
+ language_wrapper.language_word_dict.get("apitestka_github_label"))
90
+ ui_we_want_to_set.open_apitestka_github_action.triggered.connect(
91
+ lambda: open_web_browser(
92
+ ui_we_want_to_set,
93
+ "https://github.com/Intergration-Automation-Testing/APITestka",
94
+ language_wrapper.language_word_dict.get("apitestka_github_tab_label")
95
+ )
96
+ )
97
+ ui_we_want_to_set.apitestka_help_menu.addAction(
98
+ ui_we_want_to_set.open_apitestka_github_action
99
+ )
100
+ ui_we_want_to_set.apitestka_project_menu = ui_we_want_to_set.apitestka_menu.addMenu(
101
+ language_wrapper.language_word_dict.get("project_label"))
102
+ # Create Project
103
+ ui_we_want_to_set.create_apitestka_project_action = QAction(
104
+ language_wrapper.language_word_dict.get("apitestka_create_project_label"))
105
+ ui_we_want_to_set.create_apitestka_project_action.triggered.connect(
106
+ create_project
107
+ )
108
+ ui_we_want_to_set.apitestka_project_menu.addAction(
109
+ ui_we_want_to_set.create_apitestka_project_action
110
+ )
111
+
112
+
113
+ def create_project() -> None:
114
+ try:
115
+ import je_api_testka
116
+ package = je_api_testka
117
+ if package is not None:
118
+ package.create_project_dir()
119
+ except ImportError as error:
120
+ print(repr(error), file=sys.stderr)