55
66from PySide6 .QtGui import QAction
77from PySide6 .QtWidgets import QMainWindow
8- from je_editor import shell_manager
9-
8+ from je_editor import ShellManager
109
1110def set_install_menu (ui_we_want_to_set : QMainWindow ):
1211 ui_we_want_to_set .install_menu = ui_we_want_to_set .menu .addMenu ("Install" )
1312 # Try to install Build Tools
1413 ui_we_want_to_set .install_tool_action = QAction ("Install Build Tools" )
1514 ui_we_want_to_set .install_tool_action .triggered .connect (
16- install_build_tools
15+ lambda : install_build_tools ( ui_we_want_to_set )
1716 )
1817 ui_we_want_to_set .install_menu .addAction (ui_we_want_to_set .install_tool_action )
1918 # Try to install AutoControl
2019 ui_we_want_to_set .install_autocontrol_action = QAction ("Install AutoControl" )
2120 ui_we_want_to_set .install_autocontrol_action .triggered .connect (
22- install_autocontrol
21+ lambda : install_autocontrol ( ui_we_want_to_set )
2322 )
2423 ui_we_want_to_set .install_menu .addAction (ui_we_want_to_set .install_autocontrol_action )
2524 # Try to install APITestka
2625 ui_we_want_to_set .install_api_testka = QAction ("Install APITestka" )
2726 ui_we_want_to_set .install_api_testka .triggered .connect (
28- install_api_testka
27+ lambda : install_api_testka ( ui_we_want_to_set )
2928 )
3029 ui_we_want_to_set .install_menu .addAction (ui_we_want_to_set .install_api_testka )
3130 # Try to install LoadDensity
3231 ui_we_want_to_set .install_load_density_action = QAction ("Install LoadDensity" )
3332 ui_we_want_to_set .install_load_density_action .triggered .connect (
34- install_load_density
33+ lambda : install_load_density ( ui_we_want_to_set )
3534 )
3635 ui_we_want_to_set .install_menu .addAction (ui_we_want_to_set .install_load_density_action )
3736 # Try to install WebRunner
3837 ui_we_want_to_set .install_web_runner_action = QAction ("Install WebRunner" )
3938 ui_we_want_to_set .install_web_runner_action .triggered .connect (
40- install_web_runner
39+ lambda : install_web_runner ( ui_we_want_to_set )
4140 )
4241 ui_we_want_to_set .install_menu .addAction (ui_we_want_to_set .install_web_runner_action )
4342
4443
45- def install_package (package_text : str ):
44+ def install_package (package_text : str , ui_we_want_to_set : QMainWindow ):
4645 if sys .platform in ["win32" , "cygwin" , "msys" ]:
4746 venv_path = Path (os .getcwd () + "/venv/Scripts" )
4847 else :
@@ -61,24 +60,29 @@ def install_package(package_text: str):
6160 )
6261 else :
6362 compiler_path = shutil .which (cmd = "python" )
64- shell_manager .exec_shell (f"{ compiler_path } -m pip install { package_text } " )
63+ shell_manager = ShellManager ()
64+ shell_manager .main_window = ui_we_want_to_set
65+ shell_manager .later_init ()
66+ shell_manager .exec_shell ([f"{ compiler_path } " , "-m" , "pip" , "install" , f"{ package_text } " ])
6567
6668
67- def install_build_tools ():
68- install_package ("setuptools build wheel" )
69+ def install_build_tools (ui_we_want_to_set : QMainWindow ):
70+ install_package ("setuptools" , ui_we_want_to_set )
71+ install_package ("build" , ui_we_want_to_set )
72+ install_package ("wheel" , ui_we_want_to_set )
6973
7074
71- def install_autocontrol ():
72- install_package ("je_auto_control" )
75+ def install_autocontrol (ui_we_want_to_set : QMainWindow ):
76+ install_package ("je_auto_control" , ui_we_want_to_set )
7377
7478
75- def install_api_testka ():
76- install_package ("je_api_testka" )
79+ def install_api_testka (ui_we_want_to_set : QMainWindow ):
80+ install_package ("je_api_testka" , ui_we_want_to_set )
7781
7882
79- def install_load_density ():
80- install_package ("je_load_density" )
83+ def install_load_density (ui_we_want_to_set : QMainWindow ):
84+ install_package ("je_load_density" , ui_we_want_to_set )
8185
8286
83- def install_web_runner ():
84- install_package ("je_web_runner" )
87+ def install_web_runner (ui_we_want_to_set : QMainWindow ):
88+ install_package ("je_web_runner" , ui_we_want_to_set )
0 commit comments