Skip to content

Commit b14315e

Browse files
authored
Minor fix multidesktop (#4466)
Co-authored-by: maxcapodi78 <Shark78>
1 parent b54f056 commit b14315e

File tree

4 files changed

+25
-11
lines changed

4 files changed

+25
-11
lines changed

pyaedt/desktop.py

+18-7
Original file line numberDiff line numberDiff line change
@@ -935,13 +935,24 @@ def _initialize(
935935
last_session = list(_desktop_sessions.values())[-1]
936936
all_desktop = [i for i in last_session.odesktop.GetRunningInstancesMgr().GetAllRunningInstances()]
937937
for desktop in all_desktop:
938-
if port and desktop.GetGrpcServerPort() == port:
939-
self.isoutsideDesktop = True
940-
self.odesktop = desktop
941-
self.aedt_process_id = self.odesktop.GetProcessID()
942-
self.is_grpc_api = True
943-
last_session.parent_desktop_id.append(self.aedt_process_id)
944-
return True
938+
try:
939+
if port and desktop.GetGrpcServerPort() == port:
940+
self.isoutsideDesktop = True
941+
self.odesktop = desktop
942+
self.aedt_process_id = self.odesktop.GetProcessID()
943+
self.is_grpc_api = True
944+
last_session.parent_desktop_id.append(self.aedt_process_id)
945+
return True
946+
except:
947+
messages = desktop.GetMessages("", "", 0)
948+
for message in messages:
949+
if " GRPC server running on port: " in message and str(port) in message:
950+
self.isoutsideDesktop = True
951+
self.odesktop = desktop
952+
self.aedt_process_id = self.odesktop.GetProcessID()
953+
self.is_grpc_api = True
954+
last_session.parent_desktop_id.append(self.aedt_process_id)
955+
return True
945956
if new_session:
946957
self.launched_by_pyaedt = new_session
947958
oapp = python_grpc_wrapper.CreateAedtApplication(machine, port, non_graphical, new_session)

pyaedt/generic/design_types.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -1770,8 +1770,10 @@ def get_pyaedt_app(project_name=None, design_name=None, desktop=None):
17701770
from pyaedt.generic.desktop_sessions import _desktop_sessions
17711771

17721772
odesktop = None
1773+
process_id = None
17731774
if desktop:
17741775
odesktop = desktop.odesktop
1776+
process_id = desktop.aedt_process_id
17751777
elif _desktop_sessions and project_name:
17761778
for desktop in list(_desktop_sessions.values()):
17771779
if project_name in list(desktop.project_list()):
@@ -1783,6 +1785,8 @@ def get_pyaedt_app(project_name=None, design_name=None, desktop=None):
17831785
odesktop = sys.modules["__main__"].oDesktop # ironpython
17841786
else:
17851787
raise AttributeError("No Desktop Present.")
1788+
if not process_id:
1789+
process_id = odesktop.GetProcessID()
17861790
if project_name and project_name not in odesktop.GetProjectList():
17871791
raise AttributeError("Project {} doesn't exist in current desktop.".format(project_name))
17881792
if not project_name:
@@ -1808,5 +1812,5 @@ def get_pyaedt_app(project_name=None, design_name=None, desktop=None):
18081812
if design_type in list(app_map.keys()):
18091813
version = odesktop.GetVersion().split(".")
18101814
v = ".".join([version[0], version[1]])
1811-
return app_map[design_type](project_name, design_name, specified_version=v)
1815+
return app_map[design_type](project_name, design_name, specified_version=v, aedt_process_id=process_id)
18121816
return None

pyaedt/modeler/cad/Primitives3D.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1416,8 +1416,7 @@ def insert_3d_component(
14161416
if "IsEncrypted" in line:
14171417
line_list = line.split("=")
14181418
if line_list[1] in ["true", "True", True] and password == "":
1419-
self.logger.error("Password can't be an empty string.")
1420-
return False
1419+
self.logger.warning("Encrypted model.")
14211420
aedt_fh.close()
14221421
vArg1 = ["NAME:InsertComponentData"]
14231422
sz_geo_params = ""

pyaedt/modeler/cad/components_3d.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -893,7 +893,7 @@ def edit_definition(self, password=""):
893893
# design_name = project.GetDesigns()[0].GetName()
894894
# else:
895895
# design_name = project.GetActiveDesign().GetName()
896-
return get_pyaedt_app(project_name, design_name)
896+
return get_pyaedt_app(project_name, design_name, desktop=self._primitives._app.desktop_class)
897897
return False
898898

899899

0 commit comments

Comments
 (0)