je-editor 0.0.182__py3-none-any.whl → 0.0.184__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. je_editor/__init__.py +2 -2
  2. je_editor/pyside_ui/browser/browser_download_window.py +7 -0
  3. je_editor/pyside_ui/browser/browser_serach_lineedit.py +7 -2
  4. je_editor/pyside_ui/browser/browser_view.py +6 -0
  5. je_editor/pyside_ui/browser/browser_widget.py +7 -1
  6. je_editor/pyside_ui/code/auto_save/auto_save_manager.py +5 -0
  7. je_editor/pyside_ui/code/auto_save/auto_save_thread.py +5 -0
  8. je_editor/pyside_ui/code/code_format/pep8_format.py +13 -0
  9. je_editor/pyside_ui/code/code_process/code_exec.py +17 -0
  10. je_editor/pyside_ui/code/plaintext_code_edit/code_edit_plaintext.py +23 -0
  11. je_editor/pyside_ui/code/running_process_manager.py +4 -0
  12. je_editor/pyside_ui/code/shell_process/shell_exec.py +15 -0
  13. je_editor/pyside_ui/code/syntax/python_syntax.py +3 -0
  14. je_editor/pyside_ui/code/textedit_code_result/code_record.py +6 -0
  15. je_editor/pyside_ui/dialog/file_dialog/create_file_dialog.py +3 -0
  16. je_editor/pyside_ui/dialog/file_dialog/open_file_dialog.py +5 -0
  17. je_editor/pyside_ui/dialog/file_dialog/save_file_dialog.py +3 -0
  18. je_editor/pyside_ui/dialog/search_ui/search_error_box.py +2 -0
  19. je_editor/pyside_ui/dialog/search_ui/search_text_box.py +2 -0
  20. je_editor/pyside_ui/main_ui/dock/destroy_dock.py +4 -0
  21. je_editor/pyside_ui/main_ui/editor/editor_widget.py +19 -5
  22. je_editor/pyside_ui/main_ui/editor/editor_widget_dock.py +3 -0
  23. je_editor/pyside_ui/main_ui/editor/process_input.py +8 -0
  24. je_editor/pyside_ui/main_ui/ipython_widget/rich_jupyter.py +5 -0
  25. je_editor/pyside_ui/main_ui/main_editor.py +13 -3
  26. je_editor/pyside_ui/main_ui/menu/check_style_menu/build_check_style_menu.py +4 -1
  27. je_editor/pyside_ui/main_ui/menu/dock_menu/build_dock_menu.py +8 -3
  28. je_editor/pyside_ui/main_ui/menu/file_menu/build_file_menu.py +19 -0
  29. je_editor/pyside_ui/main_ui/menu/help_menu/build_help_menu.py +10 -2
  30. je_editor/pyside_ui/main_ui/menu/language_menu/build_language_server.py +5 -0
  31. je_editor/pyside_ui/main_ui/menu/python_env_menu/build_venv_menu.py +10 -0
  32. je_editor/pyside_ui/main_ui/menu/run_menu/build_run_menu.py +7 -0
  33. je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_debug_menu.py +4 -0
  34. je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_program_menu.py +4 -0
  35. je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/build_shell_menu.py +4 -0
  36. je_editor/pyside_ui/main_ui/menu/run_menu/under_run_menu/utils.py +2 -0
  37. je_editor/pyside_ui/main_ui/menu/set_menu_bar.py +2 -0
  38. je_editor/pyside_ui/main_ui/menu/style_menu/build_style_menu.py +5 -0
  39. je_editor/pyside_ui/main_ui/menu/tab_menu/build_tab_menu.py +24 -15
  40. je_editor/pyside_ui/main_ui/menu/text_menu/build_text_menu.py +8 -0
  41. je_editor/pyside_ui/main_ui/save_settings/setting_utils.py +4 -0
  42. je_editor/pyside_ui/main_ui/save_settings/user_color_setting_file.py +4 -0
  43. je_editor/pyside_ui/main_ui/save_settings/user_setting_file.py +3 -0
  44. je_editor/pyside_ui/main_ui/system_tray/extend_system_tray.py +5 -0
  45. je_editor/utils/file/open/open_file.py +2 -0
  46. je_editor/utils/file/save/save_file.py +4 -0
  47. je_editor/utils/json/json_file.py +5 -0
  48. je_editor/utils/json_format/json_process.py +4 -0
  49. je_editor/utils/logging/__init__.py +0 -0
  50. je_editor/utils/logging/loggin_instance.py +13 -0
  51. je_editor/utils/multi_language/multi_language_wrapper.py +3 -0
  52. je_editor/utils/redirect_manager/redirect_manager_class.py +16 -2
  53. je_editor/utils/venv_check/check_venv.py +5 -2
  54. {je_editor-0.0.182.dist-info → je_editor-0.0.184.dist-info}/METADATA +1 -1
  55. {je_editor-0.0.182.dist-info → je_editor-0.0.184.dist-info}/RECORD +58 -56
  56. {je_editor-0.0.182.dist-info → je_editor-0.0.184.dist-info}/LICENSE +0 -0
  57. {je_editor-0.0.182.dist-info → je_editor-0.0.184.dist-info}/WHEEL +0 -0
  58. {je_editor-0.0.182.dist-info → je_editor-0.0.184.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("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("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("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("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 JEBrowser
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: add_stackoverflow(ui_we_want_to_set)
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: add_ipython(ui_we_want_to_set)
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
- language_wrapper.language_word_dict.get("tab_menu_re_re_edge_gpt_tab_name"))
60
- ui_we_want_to_set.tab_menu.add_re_edge_gpt_action.triggered.connect(
61
- lambda: add_re_edge_gpt(ui_we_want_to_set)
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
- JEBrowser(),
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 add_stackoverflow(ui_we_want_to_set: EditorMain):
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
- JEBrowser(start_url="https://stackoverflow.com/", search_prefix="https://stackoverflow.com/search?q="),
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 add_ipython(ui_we_want_to_set: EditorMain):
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 add_re_edge_gpt(ui_we_want_to_set: EditorMain):
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("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("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("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("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("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("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("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("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("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("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("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
- logging.getLogger(name).addHandler(redirect_err)
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