Skip to content

Commit 3a1127d

Browse files
committed
improved open app
1 parent 7b170e9 commit 3a1127d

1 file changed

Lines changed: 14 additions & 27 deletions

File tree

Framework/Built_In_Automation/Desktop/Linux/BuiltInFunctions.py

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ def click_element_by_node(node: Accessible | None) -> Literal["passed", "zeuz_fa
412412
click_action_index: int = -1
413413
for i in range(action_iface.nActions):
414414
action_name: str = action_iface.getName(i)
415-
if action_name in ["click", "jump", "press", "open", "activate", "select", "clickAncestor"]:
415+
if action_name in ["click", "jump", "press", "open", "activate", "select", "clickAncestor", "link.open"]:
416416
click_action_index = i
417417
break
418418

@@ -554,6 +554,7 @@ def find_best_app_match(user_input: str) -> Optional[Tuple[str, str, str]]:
554554
desktop_files = glob.glob("/usr/share/applications/*.desktop")
555555
for desktop_file in desktop_files:
556556
name, exec_cmd = parse_desktop_file(desktop_file)
557+
print(f"Found desktop file: {desktop_file}, Name: {name}, Exec: {exec_cmd}")
557558
if name and exec_cmd:
558559
# Use the desktop file basename as the key for matching
559560
key = os.path.basename(desktop_file).replace('.desktop', '')
@@ -570,29 +571,6 @@ def find_best_app_match(user_input: str) -> Optional[Tuple[str, str, str]]:
570571
for key, (name, exec_cmd) in apps.items():
571572
if name.lower() == user_lower:
572573
return key, name, exec_cmd
573-
574-
for key, (name, exec_cmd) in apps.items():
575-
if key.lower().startswith(user_lower):
576-
return key, name, exec_cmd
577-
578-
for key, (name, exec_cmd) in apps.items():
579-
if name.lower().startswith(user_lower):
580-
return key, name, exec_cmd
581-
582-
for key, (name, exec_cmd) in apps.items():
583-
if user_lower in key.lower():
584-
return key, name, exec_cmd
585-
586-
for key, (name, exec_cmd) in apps.items():
587-
if user_lower in name.lower():
588-
return key, name, exec_cmd
589-
590-
user_clean = user_lower.replace('-', '').replace('_', '').replace(' ', '')
591-
for key, (name, exec_cmd) in apps.items():
592-
key_clean = key.lower().replace('-', '').replace('_', '').replace(' ', '')
593-
name_clean = name.lower().replace('-', '').replace('_', '').replace(' ', '')
594-
if key_clean == user_clean or user_clean in key_clean or name_clean == user_clean or user_clean in name_clean:
595-
return key, name, exec_cmd
596574

597575
return None
598576

@@ -628,8 +606,18 @@ def open_app(data_set: DataSet) -> Literal["passed", "zeuz_failed"]:
628606
CommonUtil.ExecLog(sModuleInfo, f"Error launching '{app_name}': {e}", 3)
629607
return "zeuz_failed"
630608
else:
631-
CommonUtil.ExecLog(MODULE_NAME, f"No matching application found for '{app_name}'", 3)
632-
return "zeuz_failed"
609+
try:
610+
command = f"nohup {app_name} >/dev/null 2>&1 &"
611+
exit_code = os.system(command)
612+
if exit_code == 0:
613+
CommonUtil.ExecLog(sModuleInfo, f"Successfully launched '{app_name}' with command: {command}", 1)
614+
return "passed"
615+
else:
616+
CommonUtil.ExecLog(sModuleInfo, f"Failed to launch '{app_name}' (exit code: {exit_code})", 3)
617+
return "zeuz_failed"
618+
except Exception as e:
619+
CommonUtil.ExecLog(sModuleInfo, f"Error launching '{app_name}': {e}", 3)
620+
return "zeuz_failed"
633621

634622

635623
def get_process_ids(app_name: str) -> List[str]:
@@ -742,7 +730,6 @@ def save_attribute(data_set: DataSet) -> Literal["passed", "zeuz_failed"]:
742730
for left, mid, right in data_set:
743731
if mid.strip().lower() == "save parameter":
744732
field = left.replace(" ", "").lower()
745-
field2 = left.strip()
746733
variable_name = right.strip()
747734

748735
node = get_node(data_dict)

0 commit comments

Comments
 (0)