@@ -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
635623def 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