Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor fix multidesktop #4466

Merged
merged 2 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 18 additions & 7 deletions pyaedt/desktop.py
Original file line number Diff line number Diff line change
Expand Up @@ -935,13 +935,24 @@ def _initialize(
last_session = list(_desktop_sessions.values())[-1]
all_desktop = [i for i in last_session.odesktop.GetRunningInstancesMgr().GetAllRunningInstances()]
for desktop in all_desktop:
if port and desktop.GetGrpcServerPort() == port:
self.isoutsideDesktop = True
self.odesktop = desktop
self.aedt_process_id = self.odesktop.GetProcessID()
self.is_grpc_api = True
last_session.parent_desktop_id.append(self.aedt_process_id)
return True
try:
if port and desktop.GetGrpcServerPort() == port:
self.isoutsideDesktop = True
self.odesktop = desktop
self.aedt_process_id = self.odesktop.GetProcessID()
self.is_grpc_api = True
last_session.parent_desktop_id.append(self.aedt_process_id)
return True
except:
messages = desktop.GetMessages("", "", 0)
for message in messages:
if " GRPC server running on port: " in message and str(port) in message:
self.isoutsideDesktop = True
self.odesktop = desktop
self.aedt_process_id = self.odesktop.GetProcessID()
self.is_grpc_api = True
last_session.parent_desktop_id.append(self.aedt_process_id)
return True
if new_session:
self.launched_by_pyaedt = new_session
oapp = python_grpc_wrapper.CreateAedtApplication(machine, port, non_graphical, new_session)
Expand Down
6 changes: 5 additions & 1 deletion pyaedt/generic/design_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -1770,8 +1770,10 @@ def get_pyaedt_app(project_name=None, design_name=None, desktop=None):
from pyaedt.generic.desktop_sessions import _desktop_sessions

odesktop = None
process_id = None
if desktop:
odesktop = desktop.odesktop
process_id = desktop.aedt_process_id
elif _desktop_sessions and project_name:
for desktop in list(_desktop_sessions.values()):
if project_name in list(desktop.project_list()):
Expand All @@ -1783,6 +1785,8 @@ def get_pyaedt_app(project_name=None, design_name=None, desktop=None):
odesktop = sys.modules["__main__"].oDesktop # ironpython
else:
raise AttributeError("No Desktop Present.")
if not process_id:
process_id = odesktop.GetProcessID()
if project_name and project_name not in odesktop.GetProjectList():
raise AttributeError("Project {} doesn't exist in current desktop.".format(project_name))
if not project_name:
Expand All @@ -1808,5 +1812,5 @@ def get_pyaedt_app(project_name=None, design_name=None, desktop=None):
if design_type in list(app_map.keys()):
version = odesktop.GetVersion().split(".")
v = ".".join([version[0], version[1]])
return app_map[design_type](project_name, design_name, specified_version=v)
return app_map[design_type](project_name, design_name, specified_version=v, aedt_process_id=process_id)
return None
3 changes: 1 addition & 2 deletions pyaedt/modeler/cad/Primitives3D.py
Original file line number Diff line number Diff line change
Expand Up @@ -1416,8 +1416,7 @@ def insert_3d_component(
if "IsEncrypted" in line:
line_list = line.split("=")
if line_list[1] in ["true", "True", True] and password == "":
self.logger.error("Password can't be an empty string.")
return False
self.logger.warning("Encrypted model.")
aedt_fh.close()
vArg1 = ["NAME:InsertComponentData"]
sz_geo_params = ""
Expand Down
2 changes: 1 addition & 1 deletion pyaedt/modeler/cad/components_3d.py
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ def edit_definition(self, password=""):
# design_name = project.GetDesigns()[0].GetName()
# else:
# design_name = project.GetActiveDesign().GetName()
return get_pyaedt_app(project_name, design_name)
return get_pyaedt_app(project_name, design_name, desktop=self._primitives._app.desktop_class)
return False


Expand Down
Loading