je-editor 0.0.182__py3-none-any.whl → 0.0.183__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- je_editor/__init__.py +2 -2
- je_editor/pyside_ui/browser/browser_download_window.py +7 -0
- je_editor/pyside_ui/browser/browser_serach_lineedit.py +7 -2
- je_editor/pyside_ui/browser/browser_view.py +6 -0
- je_editor/pyside_ui/browser/browser_widget.py +7 -1
- je_editor/pyside_ui/code/auto_save/auto_save_manager.py +5 -0
- je_editor/pyside_ui/code/auto_save/auto_save_thread.py +5 -0
- je_editor/pyside_ui/code/code_format/pep8_format.py +13 -0
- je_editor/pyside_ui/code/code_process/code_exec.py +17 -0
- je_editor/pyside_ui/code/plaintext_code_edit/code_edit_plaintext.py +23 -0
- je_editor/pyside_ui/code/running_process_manager.py +4 -0
- je_editor/pyside_ui/code/shell_process/shell_exec.py +15 -0
- je_editor/pyside_ui/code/syntax/python_syntax.py +3 -0
- je_editor/pyside_ui/code/textedit_code_result/code_record.py +6 -0
- je_editor/pyside_ui/dialog/file_dialog/create_file_dialog.py +3 -0
- je_editor/pyside_ui/dialog/file_dialog/open_file_dialog.py +5 -0
- je_editor/pyside_ui/dialog/file_dialog/save_file_dialog.py +3 -0
- je_editor/pyside_ui/dialog/search_ui/search_error_box.py +2 -0
- je_editor/pyside_ui/dialog/search_ui/search_text_box.py +2 -0
- je_editor/pyside_ui/main_ui/dock/destroy_dock.py +4 -0
- je_editor/pyside_ui/main_ui/editor/editor_widget.py +19 -5
- je_editor/pyside_ui/main_ui/editor/editor_widget_dock.py +3 -0
- je_editor/pyside_ui/main_ui/editor/process_input.py +8 -0
- je_editor/pyside_ui/main_ui/ipython_widget/rich_jupyter.py +5 -0
- je_editor/pyside_ui/main_ui/main_editor.py +13 -3
- je_editor/pyside_ui/main_ui/menu/check_style_menu/build_check_style_menu.py +4 -1
- je_editor/pyside_ui/main_ui/menu/dock_menu/build_dock_menu.py +8 -3
- je_editor/pyside_ui/main_ui/menu/file_menu/build_file_menu.py +19 -0
- je_editor/pyside_ui/main_ui/menu/help_menu/build_help_menu.py +10 -2
- je_editor/pyside_ui/main_ui/menu/language_menu/build_language_server.py +5 -0
- je_editor/pyside_ui/main_ui/menu/python_env_menu/build_venv_menu.py +10 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/build_run_menu.py +7 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_debug_menu.py +4 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_program_menu.py +4 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_shell_menu.py +4 -0
- je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/utils.py +2 -0
- je_editor/pyside_ui/main_ui/menu/set_menu_bar.py +2 -0
- je_editor/pyside_ui/main_ui/menu/style_menu/build_style_menu.py +5 -0
- je_editor/pyside_ui/main_ui/menu/tab_menu/build_tab_menu.py +24 -15
- je_editor/pyside_ui/main_ui/menu/text_menu/build_text_menu.py +8 -0
- je_editor/pyside_ui/main_ui/save_settings/setting_utils.py +4 -0
- je_editor/pyside_ui/main_ui/save_settings/user_color_setting_file.py +4 -0
- je_editor/pyside_ui/main_ui/save_settings/user_setting_file.py +3 -0
- je_editor/pyside_ui/main_ui/system_tray/extend_system_tray.py +5 -0
- je_editor/utils/file/open/open_file.py +2 -0
- je_editor/utils/file/save/save_file.py +4 -0
- je_editor/utils/json/json_file.py +5 -0
- je_editor/utils/json_format/json_process.py +4 -0
- je_editor/utils/logging/__init__.py +0 -0
- je_editor/utils/logging/loggin_instance.py +13 -0
- je_editor/utils/multi_language/multi_language_wrapper.py +3 -0
- je_editor/utils/redirect_manager/redirect_manager_class.py +16 -2
- je_editor/utils/venv_check/check_venv.py +5 -2
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/METADATA +1 -1
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/RECORD +58 -56
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/LICENSE +0 -0
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/WHEEL +0 -0
- {je_editor-0.0.182.dist-info → je_editor-0.0.183.dist-info}/top_level.txt +0 -0
@@ -9,6 +9,7 @@ from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
|
9
9
|
from je_editor.pyside_ui.main_ui.menu.run_menu.under_run_menu.build_debug_menu import set_debug_menu
|
10
10
|
from je_editor.pyside_ui.main_ui.menu.run_menu.under_run_menu.build_program_menu import set_program_menu
|
11
11
|
from je_editor.pyside_ui.main_ui.menu.run_menu.under_run_menu.build_shell_menu import set_shell_menu
|
12
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
12
13
|
|
13
14
|
if TYPE_CHECKING:
|
14
15
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -18,6 +19,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
18
19
|
|
19
20
|
|
20
21
|
def set_run_menu(ui_we_want_to_set: EditorMain) -> None:
|
22
|
+
jeditor_logger.info(f"build_run_menu.py set_run_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
21
23
|
ui_we_want_to_set.run_menu = ui_we_want_to_set.menu.addMenu(
|
22
24
|
language_wrapper.language_word_dict.get("run_menu_label"))
|
23
25
|
set_program_menu(ui_we_want_to_set)
|
@@ -64,6 +66,7 @@ def set_run_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
64
66
|
|
65
67
|
|
66
68
|
def stop_program(ui_we_want_to_set: EditorMain) -> None:
|
69
|
+
jeditor_logger.info(f"build_run_menu.py stop_program ui_we_want_to_set: {ui_we_want_to_set}")
|
67
70
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
68
71
|
if isinstance(widget, EditorWidget):
|
69
72
|
if widget.exec_program is not None:
|
@@ -81,16 +84,19 @@ def stop_program(ui_we_want_to_set: EditorMain) -> None:
|
|
81
84
|
|
82
85
|
|
83
86
|
def stop_all_program() -> None:
|
87
|
+
jeditor_logger.info(f"build_run_menu.py stop_all_program")
|
84
88
|
run_instance_manager.close_all_instance()
|
85
89
|
|
86
90
|
|
87
91
|
def clean_result(ui_we_want_to_set: EditorMain) -> None:
|
92
|
+
jeditor_logger.info(f"build_run_menu.py clean_result ui_we_want_to_set: {ui_we_want_to_set}")
|
88
93
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
89
94
|
if isinstance(widget, EditorWidget):
|
90
95
|
widget.code_result.setPlainText("")
|
91
96
|
|
92
97
|
|
93
98
|
def show_run_help() -> None:
|
99
|
+
jeditor_logger.info(f"build_run_menu.py show_run_help")
|
94
100
|
message_box = QMessageBox()
|
95
101
|
message_box.setText(
|
96
102
|
language_wrapper.language_word_dict.get("run_menu_run_help_tip")
|
@@ -99,6 +105,7 @@ def show_run_help() -> None:
|
|
99
105
|
|
100
106
|
|
101
107
|
def show_shell_help() -> None:
|
108
|
+
jeditor_logger.info(f"build_run_menu.py show_shell_help")
|
102
109
|
message_box = QMessageBox()
|
103
110
|
message_box.setText(
|
104
111
|
language_wrapper.language_word_dict.get("run_menu_shell_run_tip")
|
@@ -5,6 +5,7 @@ from typing import TYPE_CHECKING
|
|
5
5
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
6
6
|
from je_editor.pyside_ui.main_ui.editor.process_input import ProcessInput
|
7
7
|
from je_editor.pyside_ui.main_ui.menu.run_menu.under_run_menu.utils import please_close_current_running_messagebox
|
8
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
8
9
|
|
9
10
|
if TYPE_CHECKING:
|
10
11
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -16,6 +17,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
16
17
|
|
17
18
|
|
18
19
|
def set_debug_menu(ui_we_want_to_set: EditorMain) -> None:
|
20
|
+
jeditor_logger.info(f"build_debug_menu.py set_debug_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
19
21
|
# Debug menu inside run menu
|
20
22
|
ui_we_want_to_set.debug_menu = ui_we_want_to_set.run_menu.addMenu(
|
21
23
|
language_wrapper.language_word_dict.get("editor_debugger_input_title_label"))
|
@@ -36,6 +38,7 @@ def set_debug_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
36
38
|
|
37
39
|
|
38
40
|
def run_debugger(ui_we_want_to_set: EditorMain) -> None:
|
41
|
+
jeditor_logger.info(f"build_debug_menu.py run_debugger ui_we_want_to_set: {ui_we_want_to_set}")
|
39
42
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
40
43
|
if isinstance(widget, EditorWidget):
|
41
44
|
if widget.exec_python_debugger is None:
|
@@ -55,6 +58,7 @@ def run_debugger(ui_we_want_to_set: EditorMain) -> None:
|
|
55
58
|
|
56
59
|
|
57
60
|
def show_debugger_input(ui_we_want_to_set: EditorMain) -> None:
|
61
|
+
jeditor_logger.info(f"build_debug_menu.py show_debugger_input ui_we_want_to_set: {ui_we_want_to_set}")
|
58
62
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
59
63
|
if isinstance(widget, EditorWidget):
|
60
64
|
widget.debugger_input = ProcessInput(widget, "debugger")
|
@@ -9,6 +9,7 @@ from je_editor.pyside_ui.dialog.file_dialog.save_file_dialog import choose_file_
|
|
9
9
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
10
10
|
from je_editor.pyside_ui.main_ui.editor.process_input import ProcessInput
|
11
11
|
from je_editor.pyside_ui.main_ui.menu.run_menu.under_run_menu.utils import please_close_current_running_messagebox
|
12
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
12
13
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
13
14
|
|
14
15
|
if TYPE_CHECKING:
|
@@ -16,6 +17,7 @@ if TYPE_CHECKING:
|
|
16
17
|
|
17
18
|
|
18
19
|
def set_program_menu(ui_we_want_to_set: EditorMain) -> None:
|
20
|
+
jeditor_logger.info(f"build_program_menu.py set_program_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
19
21
|
ui_we_want_to_set.run_program_menu = ui_we_want_to_set.run_menu.addMenu(
|
20
22
|
language_wrapper.language_word_dict.get("run_menu_run_program_label"))
|
21
23
|
# Run program
|
@@ -35,6 +37,7 @@ def set_program_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
35
37
|
|
36
38
|
|
37
39
|
def run_program(ui_we_want_to_set: EditorMain) -> None:
|
40
|
+
jeditor_logger.info(f"build_program_menu.py run_program ui_we_want_to_set: {ui_we_want_to_set}")
|
38
41
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
39
42
|
if isinstance(widget, EditorWidget):
|
40
43
|
if widget.exec_program is None:
|
@@ -51,6 +54,7 @@ def run_program(ui_we_want_to_set: EditorMain) -> None:
|
|
51
54
|
|
52
55
|
|
53
56
|
def show_program_input(ui_we_want_to_set: EditorMain) -> None:
|
57
|
+
jeditor_logger.info(f"build_program_menu.py show_program_input ui_we_want_to_set: {ui_we_want_to_set}")
|
54
58
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
55
59
|
if isinstance(widget, EditorWidget):
|
56
60
|
widget.program_input = ProcessInput(widget, "program")
|
@@ -5,6 +5,7 @@ from typing import TYPE_CHECKING
|
|
5
5
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
6
6
|
from je_editor.pyside_ui.main_ui.editor.process_input import ProcessInput
|
7
7
|
from je_editor.pyside_ui.main_ui.menu.run_menu.under_run_menu.utils import please_close_current_running_messagebox
|
8
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
8
9
|
|
9
10
|
if TYPE_CHECKING:
|
10
11
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -15,6 +16,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
15
16
|
|
16
17
|
|
17
18
|
def set_shell_menu(ui_we_want_to_set: EditorMain) -> None:
|
19
|
+
jeditor_logger.info(f"build_shell_menu.py set_shell_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
18
20
|
ui_we_want_to_set.run_shell_menu = ui_we_want_to_set.run_menu.addMenu(
|
19
21
|
language_wrapper.language_word_dict.get("run_menu_run_on_shell_label"))
|
20
22
|
# Run on shell
|
@@ -34,6 +36,7 @@ def set_shell_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
34
36
|
|
35
37
|
|
36
38
|
def shell_exec(ui_we_want_to_set: EditorMain) -> None:
|
39
|
+
jeditor_logger.info(f"build_shell_menu.py shell_exec ui_we_want_to_set: {ui_we_want_to_set}")
|
37
40
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
38
41
|
if isinstance(widget, EditorWidget):
|
39
42
|
if widget.exec_shell is None:
|
@@ -50,6 +53,7 @@ def shell_exec(ui_we_want_to_set: EditorMain) -> None:
|
|
50
53
|
|
51
54
|
|
52
55
|
def show_shell_input(ui_we_want_to_set: EditorMain) -> None:
|
56
|
+
jeditor_logger.info(f"build_shell_menu.py show_shell_input ui_we_want_to_set: {ui_we_want_to_set}")
|
53
57
|
widget = ui_we_want_to_set.tab_widget.currentWidget()
|
54
58
|
if isinstance(widget, EditorWidget):
|
55
59
|
widget.shell_input = ProcessInput(widget, "shell")
|
@@ -4,6 +4,7 @@ from typing import TYPE_CHECKING
|
|
4
4
|
|
5
5
|
from PySide6.QtWidgets import QMessageBox
|
6
6
|
|
7
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
7
8
|
from je_editor.utils.multi_language.multi_language_wrapper import language_wrapper
|
8
9
|
|
9
10
|
if TYPE_CHECKING:
|
@@ -11,6 +12,7 @@ if TYPE_CHECKING:
|
|
11
12
|
|
12
13
|
|
13
14
|
def please_close_current_running_messagebox(ui_we_want_to_set: EditorMain):
|
15
|
+
jeditor_logger.info(f"utils.py please_close_current_running_messagebox ui_we_want_to_set: {ui_we_want_to_set}")
|
14
16
|
please_stop_current_running_program_messagebox = QMessageBox(ui_we_want_to_set)
|
15
17
|
please_stop_current_running_program_messagebox.setText(
|
16
18
|
language_wrapper.language_word_dict.get("please_stop_current_running_program")
|
@@ -7,6 +7,7 @@ from je_editor.pyside_ui.main_ui.menu.language_menu.build_language_server import
|
|
7
7
|
from je_editor.pyside_ui.main_ui.menu.style_menu.build_style_menu import set_style_menu
|
8
8
|
from je_editor.pyside_ui.main_ui.menu.tab_menu.build_tab_menu import set_tab_menu
|
9
9
|
from je_editor.pyside_ui.main_ui.menu.text_menu.build_text_menu import set_text_menu
|
10
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
10
11
|
|
11
12
|
if TYPE_CHECKING:
|
12
13
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -20,6 +21,7 @@ from je_editor.pyside_ui.main_ui.menu.python_env_menu.build_venv_menu import set
|
|
20
21
|
|
21
22
|
|
22
23
|
def set_menu_bar(ui_we_want_to_set: EditorMain) -> None:
|
24
|
+
jeditor_logger.info(f"set_menu_bar.py set_menu_bar ui_we_want_to_set: {ui_we_want_to_set}")
|
23
25
|
# set menu
|
24
26
|
ui_we_want_to_set.menu = QMenuBar()
|
25
27
|
set_file_menu(ui_we_want_to_set)
|
@@ -5,6 +5,7 @@ from typing import TYPE_CHECKING
|
|
5
5
|
from PySide6.QtGui import QAction
|
6
6
|
|
7
7
|
from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_setting_dict
|
8
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
8
9
|
|
9
10
|
if TYPE_CHECKING:
|
10
11
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -13,6 +14,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
13
14
|
|
14
15
|
|
15
16
|
def set_style_menu(ui_we_want_to_set: EditorMain) -> None:
|
17
|
+
jeditor_logger.info(f"build_style_menu.py set_style_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
16
18
|
ui_we_want_to_set.menu.style_menu = ui_we_want_to_set.menu.addMenu(
|
17
19
|
language_wrapper.language_word_dict.get("style_menu_label")
|
18
20
|
)
|
@@ -29,5 +31,8 @@ def set_style_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
29
31
|
|
30
32
|
|
31
33
|
def set_style(ui_we_want_to_set: EditorMain, action: QAction) -> None:
|
34
|
+
jeditor_logger.info(f"build_style_menu.py set_style "
|
35
|
+
f"ui_we_want_to_set: {ui_we_want_to_set} "
|
36
|
+
f"action: {action}")
|
32
37
|
ui_we_want_to_set.apply_stylesheet(ui_we_want_to_set, action.text())
|
33
38
|
user_setting_dict.update({"ui_style": action.text()})
|
@@ -4,11 +4,13 @@ from typing import TYPE_CHECKING
|
|
4
4
|
|
5
5
|
from frontengine import FrontEngineMainUI
|
6
6
|
|
7
|
-
from je_editor.pyside_ui.browser.browser_widget import
|
7
|
+
from je_editor.pyside_ui.browser.browser_widget import BrowserWidget
|
8
8
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
9
9
|
from je_editor.pyside_ui.main_ui.ipython_widget.rich_jupyter import IpythonWidget
|
10
10
|
from re_edge_gpt.ui.chat.main_ui import ChatMainUI
|
11
11
|
|
12
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
13
|
+
|
12
14
|
if TYPE_CHECKING:
|
13
15
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
14
16
|
from PySide6.QtGui import QAction
|
@@ -16,6 +18,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
16
18
|
|
17
19
|
|
18
20
|
def set_tab_menu(ui_we_want_to_set: EditorMain) -> None:
|
21
|
+
jeditor_logger.info(f"build_tab_menu.py set_tab_menu ui_we_want_to_set:{ui_we_want_to_set}")
|
19
22
|
# Editor
|
20
23
|
ui_we_want_to_set.tab_menu = ui_we_want_to_set.menu.addMenu(
|
21
24
|
language_wrapper.language_word_dict.get("tab_menu_label")
|
@@ -44,26 +47,27 @@ def set_tab_menu(ui_we_want_to_set: EditorMain) -> None:
|
|
44
47
|
ui_we_want_to_set.tab_menu.add_stackoverflow_action = QAction(
|
45
48
|
language_wrapper.language_word_dict.get("tab_menu_add_stackoverflow_label"))
|
46
49
|
ui_we_want_to_set.tab_menu.add_stackoverflow_action.triggered.connect(
|
47
|
-
lambda:
|
50
|
+
lambda: add_stackoverflow_tab(ui_we_want_to_set)
|
48
51
|
)
|
49
52
|
ui_we_want_to_set.tab_menu.addAction(ui_we_want_to_set.tab_menu.add_stackoverflow_action)
|
50
53
|
# IPython
|
51
54
|
ui_we_want_to_set.tab_menu.add_ipython_action = QAction(
|
52
55
|
language_wrapper.language_word_dict.get("tab_menu_ipython_tab_name"))
|
53
56
|
ui_we_want_to_set.tab_menu.add_ipython_action.triggered.connect(
|
54
|
-
lambda:
|
57
|
+
lambda: add_ipython_tab(ui_we_want_to_set)
|
55
58
|
)
|
56
59
|
ui_we_want_to_set.tab_menu.addAction(ui_we_want_to_set.tab_menu.add_ipython_action)
|
57
|
-
# ReEdgeGPT
|
58
|
-
ui_we_want_to_set.tab_menu.add_re_edge_gpt_action = QAction(
|
59
|
-
|
60
|
-
ui_we_want_to_set.tab_menu.add_re_edge_gpt_action.triggered.connect(
|
61
|
-
|
62
|
-
)
|
63
|
-
ui_we_want_to_set.tab_menu.addAction(ui_we_want_to_set.tab_menu.add_re_edge_gpt_action)
|
60
|
+
# ReEdgeGPT (Need fix it first)
|
61
|
+
# ui_we_want_to_set.tab_menu.add_re_edge_gpt_action = QAction(
|
62
|
+
# language_wrapper.language_word_dict.get("tab_menu_re_re_edge_gpt_tab_name"))
|
63
|
+
# ui_we_want_to_set.tab_menu.add_re_edge_gpt_action.triggered.connect(
|
64
|
+
# lambda: add_re_edge_gpt_tab(ui_we_want_to_set)
|
65
|
+
# )
|
66
|
+
# ui_we_want_to_set.tab_menu.addAction(ui_we_want_to_set.tab_menu.add_re_edge_gpt_action)
|
64
67
|
|
65
68
|
|
66
69
|
def add_editor_tab(ui_we_want_to_set: EditorMain):
|
70
|
+
jeditor_logger.info(f"build_tab_menu.py add_editor_tab ui_we_want_to_set: {ui_we_want_to_set}")
|
67
71
|
widget = EditorWidget(ui_we_want_to_set)
|
68
72
|
ui_we_want_to_set.tab_widget.addTab(
|
69
73
|
widget,
|
@@ -73,6 +77,7 @@ def add_editor_tab(ui_we_want_to_set: EditorMain):
|
|
73
77
|
|
74
78
|
|
75
79
|
def add_frontengine_tab(ui_we_want_to_set: EditorMain):
|
80
|
+
jeditor_logger.info(f"build_tab_menu.py add_frontengine_tab ui_we_want_to_set: {ui_we_want_to_set}")
|
76
81
|
ui_we_want_to_set.tab_widget.addTab(
|
77
82
|
FrontEngineMainUI(show_system_tray_ray=False, redirect_output=False),
|
78
83
|
f"{language_wrapper.language_word_dict.get('tab_menu_frontengine_tab_name')} "
|
@@ -80,27 +85,31 @@ def add_frontengine_tab(ui_we_want_to_set: EditorMain):
|
|
80
85
|
|
81
86
|
|
82
87
|
def add_web_tab(ui_we_want_to_set: EditorMain):
|
88
|
+
jeditor_logger.info(f"build_tab_menu.py add_web_tab ui_we_want_to_set: {ui_we_want_to_set}")
|
83
89
|
ui_we_want_to_set.tab_widget.addTab(
|
84
|
-
|
90
|
+
BrowserWidget(),
|
85
91
|
f"{language_wrapper.language_word_dict.get('tab_menu_web_tab_name')} "
|
86
92
|
f"{ui_we_want_to_set.tab_widget.count()}")
|
87
93
|
|
88
94
|
|
89
|
-
def
|
95
|
+
def add_stackoverflow_tab(ui_we_want_to_set: EditorMain):
|
96
|
+
jeditor_logger.info(f"build_tab_menu.py add_stackoverflow_tab ui_we_want_to_set: {ui_we_want_to_set}")
|
90
97
|
ui_we_want_to_set.tab_widget.addTab(
|
91
|
-
|
98
|
+
BrowserWidget(start_url="https://stackoverflow.com/", search_prefix="https://stackoverflow.com/search?q="),
|
92
99
|
f"{language_wrapper.language_word_dict.get('tab_menu_stackoverflow_tab_name')} "
|
93
100
|
f"{ui_we_want_to_set.tab_widget.count()}")
|
94
101
|
|
95
102
|
|
96
|
-
def
|
103
|
+
def add_ipython_tab(ui_we_want_to_set: EditorMain):
|
104
|
+
jeditor_logger.info(f"build_tab_menu.py add_ipython_tab ui_we_want_to_set: {ui_we_want_to_set}")
|
97
105
|
ui_we_want_to_set.tab_widget.addTab(
|
98
106
|
IpythonWidget(ui_we_want_to_set),
|
99
107
|
f"{language_wrapper.language_word_dict.get('tab_menu_ipython_tab_name')} "
|
100
108
|
f"{ui_we_want_to_set.tab_widget.count()}")
|
101
109
|
|
102
110
|
|
103
|
-
def
|
111
|
+
def add_re_edge_gpt_tab(ui_we_want_to_set: EditorMain):
|
112
|
+
jeditor_logger.info(f"build_tab_menu.py add_re_edge_gpt_tab ui_we_want_to_set: {ui_we_want_to_set}")
|
104
113
|
ui_we_want_to_set.tab_widget.addTab(
|
105
114
|
ChatMainUI(),
|
106
115
|
f"{language_wrapper.language_word_dict.get('tab_name_re_edge_gpt')} "
|
@@ -6,6 +6,7 @@ from PySide6.QtGui import QAction
|
|
6
6
|
|
7
7
|
from je_editor.pyside_ui.main_ui.editor.editor_widget import EditorWidget
|
8
8
|
from je_editor.pyside_ui.main_ui.save_settings.user_setting_file import user_setting_dict
|
9
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
9
10
|
|
10
11
|
if TYPE_CHECKING:
|
11
12
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
@@ -13,6 +14,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
13
14
|
|
14
15
|
|
15
16
|
def set_text_menu(ui_we_want_to_set: EditorMain):
|
17
|
+
jeditor_logger.info(f"build_text_menu.py set_text_menu ui_we_want_to_set: {ui_we_want_to_set}")
|
16
18
|
ui_we_want_to_set.text_menu = ui_we_want_to_set.menu.addMenu(
|
17
19
|
language_wrapper.language_word_dict.get("text_menu_label"))
|
18
20
|
ui_we_want_to_set.text_menu.font_menu = ui_we_want_to_set.text_menu.addMenu(
|
@@ -32,6 +34,9 @@ def set_text_menu(ui_we_want_to_set: EditorMain):
|
|
32
34
|
|
33
35
|
|
34
36
|
def set_font(ui_we_want_to_set: EditorMain, action: QAction) -> None:
|
37
|
+
jeditor_logger.info(f"build_text_menu.py set_font "
|
38
|
+
f"ui_we_want_to_set: {ui_we_want_to_set} "
|
39
|
+
f"action: {action}")
|
35
40
|
for code_editor in range(ui_we_want_to_set.tab_widget.count()):
|
36
41
|
widget = ui_we_want_to_set.tab_widget.widget(code_editor)
|
37
42
|
if isinstance(widget, EditorWidget):
|
@@ -47,6 +52,9 @@ def set_font(ui_we_want_to_set: EditorMain, action: QAction) -> None:
|
|
47
52
|
|
48
53
|
|
49
54
|
def set_font_size(ui_we_want_to_set: EditorMain, action: QAction) -> None:
|
55
|
+
jeditor_logger.info(f"build_text_menu.py set_font_size "
|
56
|
+
f"ui_we_want_to_set: {ui_we_want_to_set} "
|
57
|
+
f"action: {action}")
|
50
58
|
for code_editor in range(ui_we_want_to_set.tab_widget.count()):
|
51
59
|
widget = ui_we_want_to_set.tab_widget.widget(code_editor)
|
52
60
|
if type(widget) is EditorWidget:
|
@@ -2,9 +2,13 @@ from os import getcwd
|
|
2
2
|
from pathlib import Path
|
3
3
|
|
4
4
|
from je_editor.utils.json.json_file import write_json
|
5
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
5
6
|
|
6
7
|
|
7
8
|
def write_setting(save_dict: dict, file_name: str) -> None:
|
9
|
+
jeditor_logger.info(f"setting_utils.py write_setting "
|
10
|
+
f"save_dict: {save_dict} "
|
11
|
+
f"file_name: {file_name}")
|
8
12
|
save_dir = Path(getcwd() + "/.jeditor")
|
9
13
|
save_dir.mkdir(parents=True, exist_ok=True)
|
10
14
|
save_file = Path(getcwd() + f"/.jeditor/{file_name}")
|
@@ -6,9 +6,11 @@ from PySide6.QtGui import QColor
|
|
6
6
|
|
7
7
|
from je_editor.pyside_ui.main_ui.save_settings.setting_utils import write_setting
|
8
8
|
from je_editor.utils.json.json_file import read_json
|
9
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
9
10
|
|
10
11
|
|
11
12
|
def update_actually_color_dict():
|
13
|
+
jeditor_logger.info(f"user_color_setting_file.py update_actually_color_dict")
|
12
14
|
actually_color_dict.update(
|
13
15
|
{
|
14
16
|
"line_number_color": QColor(
|
@@ -60,10 +62,12 @@ update_actually_color_dict()
|
|
60
62
|
|
61
63
|
|
62
64
|
def write_user_color_setting() -> None:
|
65
|
+
jeditor_logger.info(f"user_color_setting_file.py write_user_color_setting")
|
63
66
|
write_setting(user_setting_color_dict, "user_color_setting.json")
|
64
67
|
|
65
68
|
|
66
69
|
def read_user_color_setting() -> None:
|
70
|
+
jeditor_logger.info(f"user_color_setting_file.py read_user_color_setting")
|
67
71
|
user_color_setting_file = Path(getcwd() + "/.jeditor/user_color_setting.json")
|
68
72
|
if user_color_setting_file.exists() and user_color_setting_file.is_file():
|
69
73
|
user_setting_color_dict.update(read_json(str(user_color_setting_file)))
|
@@ -3,6 +3,7 @@ from pathlib import Path
|
|
3
3
|
|
4
4
|
from je_editor.pyside_ui.main_ui.save_settings.setting_utils import write_setting
|
5
5
|
from je_editor.utils.json.json_file import read_json
|
6
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
6
7
|
|
7
8
|
user_setting_dict = {
|
8
9
|
"ui_font": "Lato",
|
@@ -19,10 +20,12 @@ user_setting_dict = {
|
|
19
20
|
|
20
21
|
|
21
22
|
def write_user_setting() -> None:
|
23
|
+
jeditor_logger.info(f"user_setting_file.py write_user_setting")
|
22
24
|
write_setting(user_setting_dict, "user_setting.json")
|
23
25
|
|
24
26
|
|
25
27
|
def read_user_setting() -> None:
|
28
|
+
jeditor_logger.info(f"user_setting_file.py read_user_setting")
|
26
29
|
user_setting_file = Path(getcwd() + "/.jeditor/user_setting.json")
|
27
30
|
if user_setting_file.exists() and user_setting_file.is_file():
|
28
31
|
user_setting_dict.update(read_json(str(user_setting_file)))
|
@@ -2,6 +2,8 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
from typing import TYPE_CHECKING
|
4
4
|
|
5
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
6
|
+
|
5
7
|
if TYPE_CHECKING:
|
6
8
|
from je_editor.pyside_ui.main_ui.main_editor import EditorMain
|
7
9
|
import sys
|
@@ -14,6 +16,7 @@ from je_editor.utils.multi_language.multi_language_wrapper import language_wrapp
|
|
14
16
|
class ExtendSystemTray(QSystemTrayIcon):
|
15
17
|
|
16
18
|
def __init__(self, main_window: EditorMain):
|
19
|
+
jeditor_logger.info(f"Init ExtendSystemTray main_window: {main_window}")
|
17
20
|
super().__init__(parent=main_window)
|
18
21
|
self.menu = QMenu()
|
19
22
|
self.main_window = main_window
|
@@ -37,10 +40,12 @@ class ExtendSystemTray(QSystemTrayIcon):
|
|
37
40
|
self.activated.connect(self.clicked)
|
38
41
|
|
39
42
|
def close_all(self):
|
43
|
+
jeditor_logger.info(f"ExtendSystemTray close_all")
|
40
44
|
self.setVisible(False)
|
41
45
|
self.main_window.close()
|
42
46
|
sys.exit(0)
|
43
47
|
|
44
48
|
def clicked(self, reason):
|
45
49
|
if reason == self.ActivationReason.DoubleClick:
|
50
|
+
jeditor_logger.info(f"ExtendSystemTray DoubleClick")
|
46
51
|
self.main_window.showMaximized()
|
@@ -3,6 +3,7 @@ from pathlib import Path
|
|
3
3
|
from threading import Lock
|
4
4
|
|
5
5
|
from je_editor.utils.exception.exceptions import JEditorOpenFileException
|
6
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
6
7
|
|
7
8
|
|
8
9
|
def read_file(file_path: str) -> typing.List[typing.Union[str, str]]:
|
@@ -19,6 +20,7 @@ def read_file(file_path: str) -> typing.List[typing.Union[str, str]]:
|
|
19
20
|
finally
|
20
21
|
release lock
|
21
22
|
"""
|
23
|
+
jeditor_logger.info(f"open_file.py read_file file_path: {file_path}")
|
22
24
|
lock = Lock()
|
23
25
|
try:
|
24
26
|
lock.acquire()
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from threading import Lock
|
2
2
|
|
3
3
|
from je_editor.utils.exception.exceptions import JEditorSaveFileException
|
4
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
4
5
|
|
5
6
|
|
6
7
|
def write_file(file_path: str, content: str) -> None:
|
@@ -14,6 +15,9 @@ def write_file(file_path: str, content: str) -> None:
|
|
14
15
|
finally
|
15
16
|
release lock
|
16
17
|
"""
|
18
|
+
jeditor_logger.info(f"save_file.py write_file "
|
19
|
+
f"file_path: {file_path} "
|
20
|
+
f"content: {content}")
|
17
21
|
lock = Lock()
|
18
22
|
content = str(content)
|
19
23
|
try:
|
@@ -6,6 +6,7 @@ from typing import Union
|
|
6
6
|
from je_editor.utils.exception.exception_tags import cant_find_json_error
|
7
7
|
from je_editor.utils.exception.exception_tags import cant_save_json_error
|
8
8
|
from je_editor.utils.exception.exceptions import JEditorJsonException
|
9
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
9
10
|
|
10
11
|
_lock = Lock()
|
11
12
|
|
@@ -15,6 +16,7 @@ def read_json(json_file_path: str) -> Union[list, dict]:
|
|
15
16
|
use to read action file
|
16
17
|
:param json_file_path json file's path to read
|
17
18
|
"""
|
19
|
+
jeditor_logger.info(f"json_file.py read_json json_file_path: {json_file_path}")
|
18
20
|
_lock.acquire()
|
19
21
|
try:
|
20
22
|
file_path = Path(json_file_path)
|
@@ -33,6 +35,9 @@ def write_json(json_save_path: str, data_to_output: Union[list, dict]) -> None:
|
|
33
35
|
:param json_save_path json save path
|
34
36
|
:param data_to_output data to output
|
35
37
|
"""
|
38
|
+
jeditor_logger.info(f"json_file.py write_json "
|
39
|
+
f"json_save_path: {json_save_path} "
|
40
|
+
f"data_to_output: {data_to_output}")
|
36
41
|
_lock.acquire()
|
37
42
|
try:
|
38
43
|
with open(json_save_path, "w+") as file_to_write:
|
@@ -6,6 +6,7 @@ from json import loads
|
|
6
6
|
from je_editor.utils.exception.exception_tags import cant_reformat_json_error
|
7
7
|
from je_editor.utils.exception.exception_tags import wrong_json_data_error
|
8
8
|
from je_editor.utils.exception.exceptions import JEditorJsonException
|
9
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
9
10
|
|
10
11
|
|
11
12
|
def __process_json(json_string: str, **kwargs) -> str:
|
@@ -23,6 +24,9 @@ def __process_json(json_string: str, **kwargs) -> str:
|
|
23
24
|
|
24
25
|
def reformat_json(json_string: str, **kwargs) -> str:
|
25
26
|
# Make json pretty
|
27
|
+
jeditor_logger.info(f"json_process.py reformat_json "
|
28
|
+
f"json_string: {json_string} "
|
29
|
+
f"kwargs: {kwargs}")
|
26
30
|
try:
|
27
31
|
return __process_json(json_string, **kwargs)
|
28
32
|
except JEditorJsonException:
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import logging
|
2
|
+
from logging.handlers import RotatingFileHandler
|
3
|
+
|
4
|
+
logging.root.setLevel(logging.DEBUG)
|
5
|
+
jeditor_logger = logging.getLogger("JEditor")
|
6
|
+
formatter = logging.Formatter('%(asctime)s | %(name)s | %(levelname)s | %(message)s')
|
7
|
+
|
8
|
+
# Rotating File Handler
|
9
|
+
rotating_file_handler = RotatingFileHandler(filename="JEditor.log", mode="w",maxBytes=1073741824)
|
10
|
+
rotating_file_handler.setFormatter(formatter)
|
11
|
+
jeditor_logger.addHandler(rotating_file_handler)
|
12
|
+
|
13
|
+
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
1
2
|
from je_editor.utils.multi_language.english import english_word_dict
|
2
3
|
from je_editor.utils.multi_language.traditional_chinese import traditional_chinese_word_dict
|
3
4
|
|
@@ -7,6 +8,7 @@ class LanguageWrapper(object):
|
|
7
8
|
def __init__(
|
8
9
|
self
|
9
10
|
):
|
11
|
+
jeditor_logger.info("Init LanguageWrapper")
|
10
12
|
self.language: str = "English"
|
11
13
|
self.choose_language_dict = {
|
12
14
|
"English": english_word_dict,
|
@@ -15,6 +17,7 @@ class LanguageWrapper(object):
|
|
15
17
|
self.language_word_dict: dict = self.choose_language_dict.get(self.language)
|
16
18
|
|
17
19
|
def reset_language(self, language) -> None:
|
20
|
+
jeditor_logger.info(f"LanguageWrapper reset_language language: {language}")
|
18
21
|
if language in [
|
19
22
|
"English",
|
20
23
|
"Traditional_Chinese"
|
@@ -2,18 +2,23 @@ import logging
|
|
2
2
|
import queue
|
3
3
|
import sys
|
4
4
|
|
5
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
6
|
+
|
5
7
|
|
6
8
|
class RedirectStdOut(logging.Handler):
|
7
9
|
|
8
10
|
# redirect logging std output to queue
|
9
11
|
|
10
12
|
def __init__(self):
|
13
|
+
jeditor_logger.info("Init RedirectStdOut")
|
11
14
|
super().__init__()
|
12
15
|
|
13
16
|
def write(self, content_to_write) -> None:
|
17
|
+
jeditor_logger.info(f"RedirectStdOut write content_to_write: {content_to_write}")
|
14
18
|
redirect_manager_instance.std_out_queue.put(content_to_write)
|
15
19
|
|
16
20
|
def emit(self, record: logging.LogRecord) -> None:
|
21
|
+
jeditor_logger.info(f"RedirectStdOut emit record: {record}")
|
17
22
|
redirect_manager_instance.std_out_queue.put(self.format(record))
|
18
23
|
|
19
24
|
|
@@ -22,18 +27,22 @@ class RedirectStdErr(logging.Handler):
|
|
22
27
|
# redirect logging stderr output to queue
|
23
28
|
|
24
29
|
def __init__(self):
|
30
|
+
jeditor_logger.info("Init RedirectStdErr")
|
25
31
|
super().__init__()
|
26
32
|
|
27
33
|
def write(self, content_to_write) -> None:
|
34
|
+
jeditor_logger.info(f"RedirectStdErr write content_to_write: {content_to_write}")
|
28
35
|
redirect_manager_instance.std_err_queue.put(content_to_write)
|
29
36
|
|
30
37
|
def emit(self, record: logging.LogRecord) -> None:
|
38
|
+
jeditor_logger.info(f"RedirectStdErr emit record: {record}")
|
31
39
|
redirect_manager_instance.std_err_queue.put(self.format(record))
|
32
40
|
|
33
41
|
|
34
42
|
class RedirectManager(object):
|
35
43
|
# Redirect all output to queue
|
36
44
|
def __init__(self):
|
45
|
+
jeditor_logger.info("Init RedirectManager")
|
37
46
|
self.std_err_queue = queue.Queue()
|
38
47
|
self.std_out_queue = queue.Queue()
|
39
48
|
|
@@ -42,14 +51,18 @@ class RedirectManager(object):
|
|
42
51
|
"""
|
43
52
|
:return: None
|
44
53
|
"""
|
54
|
+
jeditor_logger.info("RedirectManager set_redirect")
|
45
55
|
redirect_out = RedirectStdOut()
|
46
56
|
redirect_err = RedirectStdErr()
|
47
57
|
sys.stdout = redirect_out
|
48
58
|
sys.stderr = redirect_err
|
49
|
-
default_logger = logging.getLogger()
|
59
|
+
default_logger = logging.getLogger("RedirectManager")
|
50
60
|
default_logger.addHandler(redirect_err)
|
51
61
|
for name in logging.root.manager.loggerDict.keys():
|
52
|
-
|
62
|
+
if name == "JEditor":
|
63
|
+
continue
|
64
|
+
else:
|
65
|
+
logging.getLogger(name).addHandler(redirect_err)
|
53
66
|
|
54
67
|
@staticmethod
|
55
68
|
def restore_std() -> None:
|
@@ -57,6 +70,7 @@ class RedirectManager(object):
|
|
57
70
|
reset redirect
|
58
71
|
:return: None
|
59
72
|
"""
|
73
|
+
jeditor_logger.info("RedirectManager restore_std")
|
60
74
|
sys.stdout = sys.__stdout__
|
61
75
|
sys.stderr = sys.__stderr__
|
62
76
|
|
@@ -3,16 +3,17 @@ from pathlib import Path
|
|
3
3
|
|
4
4
|
from je_editor.utils.exception.exception_tags import compiler_not_found_error
|
5
5
|
from je_editor.utils.exception.exceptions import JEditorExecException
|
6
|
+
from je_editor.utils.logging.loggin_instance import jeditor_logger
|
6
7
|
|
7
8
|
|
8
9
|
def check_and_choose_venv(venv_path: Path) -> str:
|
10
|
+
jeditor_logger.info(f"check_venv.py check_and_choose_venv venv_path: {venv_path}")
|
11
|
+
compiler_path = None
|
9
12
|
if venv_path.is_dir() and venv_path.exists():
|
10
13
|
compiler_path = shutil.which(
|
11
14
|
cmd="python3",
|
12
15
|
path=str(venv_path)
|
13
16
|
)
|
14
|
-
else:
|
15
|
-
compiler_path = shutil.which(cmd="python3")
|
16
17
|
if compiler_path is None:
|
17
18
|
compiler_path = shutil.which(
|
18
19
|
cmd="python",
|
@@ -20,6 +21,8 @@ def check_and_choose_venv(venv_path: Path) -> str:
|
|
20
21
|
)
|
21
22
|
else:
|
22
23
|
compiler_path = shutil.which(cmd="python")
|
24
|
+
if compiler_path is None:
|
25
|
+
compiler_path = shutil.which(cmd="python")
|
23
26
|
if compiler_path is None:
|
24
27
|
raise JEditorExecException(compiler_not_found_error)
|
25
28
|
return compiler_path
|