3333import PIL
3434from PIL import Image , ImageGrab
3535
36+ import psutil
3637
3738
3839python_folder = []
@@ -1010,8 +1011,6 @@ def image_search(step_data_set):
10101011 text_screenshot = ''
10111012 easyocr_paragraph = ''
10121013
1013-
1014-
10151014 for left , mid , right in step_data_set :
10161015 left = left .strip ().lower ()
10171016 mid = mid .strip ().lower ()
@@ -1061,8 +1060,6 @@ def image_search(step_data_set):
10611060 if language == '' :
10621061 language = 'en'
10631062
1064-
1065-
10661063 if parent_dataset :
10671064 parent = Get_Element (parent_dataset )
10681065 if type (parent ) == str and parent == "zeuz_failed" :
@@ -1267,7 +1264,6 @@ def new_image_text(step_data_set):
12671264
12681265 pytesseract .tesseract_cmd = os .environ ["PROGRAMFILES" ] + r"\Tesseract-OCR\tesseract.exe"
12691266
1270-
12711267 file_name = ""
12721268 resolution = ""
12731269 idx = 0
@@ -1283,8 +1279,6 @@ def new_image_text(step_data_set):
12831279 text_screenshot = ''
12841280 easyocr_paragraph = ''
12851281
1286-
1287-
12881282 for left , mid , right in step_data_set :
12891283 left = left .strip ().lower ()
12901284 mid = mid .strip ().lower ()
@@ -1318,7 +1312,6 @@ def seq(a, b):
13181312 print (c )
13191313 if c > 0.8 :
13201314 return c
1321-
13221315 else :
13231316 return .00004
13241317
@@ -1365,8 +1358,6 @@ def seq(a, b):
13651358 return _Element (element )
13661359
13671360
1368-
1369-
13701361def _scale_image (file_name , size_w , size_h ):
13711362 """ This function calculates ratio and scales an image for comparison by _pyautogui() """
13721363
@@ -1513,10 +1504,6 @@ def Get_Element(data_set, wait_time=Shared_Resources.Get_Shared_Variables("eleme
15131504 elif 'easyocr_paragraph' in left :
15141505 easyocr_paragraph = right
15151506
1516-
1517-
1518-
1519-
15201507 _get_main_window (window_name )
15211508 for i in (("name" , parent_name ), ("class" , parent_class ), ("automationid" , parent_automation ), ("control" , parent_control ), ("path" , parent_path ), ("window" , window_name ), ("index" , parent_index )):
15221509 if i [1 ]:
@@ -1535,7 +1522,6 @@ def Get_Element(data_set, wait_time=Shared_Resources.Get_Shared_Variables("eleme
15351522 element_image .append (("t_screenshot" , "element parameter" , str (text_screenshot )))
15361523 element_image .append (("easyocr_paragraph" , "element parameter" , str (easyocr_paragraph )))
15371524
1538-
15391525 if 'ntext' in element_image [0 ][0 ]:
15401526 result = new_image_text (element_image )
15411527 return result
@@ -2474,3 +2460,114 @@ def save_attribute_values_in_list(data_set):
24742460 return CommonUtil .Exception_Handler (sys .exc_info ())
24752461
24762462
2463+ def ListServices ():
2464+ import win32con
2465+ import win32service
2466+ import pywin32_system32 , pywin32_testutil , pywin32_bootstrap
2467+ import win32serviceutil
2468+ resume = 0
2469+ accessSCM = win32con .GENERIC_READ
2470+ accessSrv = win32service .SC_MANAGER_ALL_ACCESS
2471+ #Open Service Control Manager
2472+ hscm = win32service .OpenSCManager (None , None , accessSCM )
2473+ #Enumerate Service Control Manager DB
2474+ typeFilter = win32service .SERVICE_WIN32
2475+ stateFilter = win32service .SERVICE_STATE_ALL
2476+ statuses = win32service .EnumServicesStatus (hscm , typeFilter , stateFilter )
2477+ x = []
2478+ for (short_name , desc , status ) in statuses :
2479+ x .append ([short_name , desc , status ])
2480+ return x
2481+ # x=ListServices()
2482+
2483+ @logger
2484+ def List_services (data_set ):
2485+ try :
2486+ sModuleInfo = inspect .currentframe ().f_code .co_name + " : " + MODULE_NAME
2487+ variable_name = ""
2488+ for left , mid , right in data_set :
2489+ left = left .strip ().lower ()
2490+ right = right .strip ()
2491+ if left == "get all services" :
2492+ variable_name = right
2493+
2494+ import win32con
2495+ import win32service
2496+ accessSCM = win32con .GENERIC_READ
2497+ # Open Service Control Manager
2498+ hscm = win32service .OpenSCManager (None , None , accessSCM )
2499+ # Enumerate Service Control Manager DB
2500+ typeFilter = win32service .SERVICE_WIN32
2501+ stateFilter = win32service .SERVICE_STATE_ALL
2502+ statuses = win32service .EnumServicesStatus (hscm , typeFilter , stateFilter )
2503+ service_list = [st [0 ] for st in statuses ]
2504+ return Shared_Resources .Set_Shared_Variables (variable_name , service_list )
2505+ except :
2506+ return CommonUtil .Exception_Handler (sys .exc_info ())
2507+
2508+ @logger
2509+ def Start_service (data_set ):
2510+ try :
2511+ sModuleInfo = inspect .currentframe ().f_code .co_name + " : " + MODULE_NAME
2512+ service_name = ""
2513+ for left , mid , right in data_set :
2514+ left = left .strip ().lower ()
2515+ right = right .strip ()
2516+ if left == "start service" :
2517+ service_name = right
2518+ import win32serviceutil
2519+ import pywintypes
2520+ win32serviceutil .StartService (service_name )
2521+ CommonUtil .ExecLog (sModuleInfo , f"{ service_name } - service started" , 1 )
2522+ return "passed"
2523+ except pywintypes .error as e :
2524+ if "An instance of the service is already running" in str (sys .exc_info ()[1 ]):
2525+ CommonUtil .ExecLog (sModuleInfo , f"{ service_name } - service Already started" , 2 )
2526+ return "passed"
2527+ return CommonUtil .Exception_Handler (sys .exc_info ())
2528+ except :
2529+ return CommonUtil .Exception_Handler (sys .exc_info ())
2530+
2531+ @logger
2532+ def Stop_service (data_set ):
2533+ try :
2534+ sModuleInfo = inspect .currentframe ().f_code .co_name + " : " + MODULE_NAME
2535+ service_name = ""
2536+ for left , mid , right in data_set :
2537+ left = left .strip ().lower ()
2538+ right = right .strip ()
2539+ if left == "stop service" :
2540+ service_name = right
2541+ import win32serviceutil
2542+ import pywintypes
2543+ win32serviceutil .StopService (service_name )
2544+ CommonUtil .ExecLog (sModuleInfo , f"{ service_name } - service stopped" , 1 )
2545+ return "passed"
2546+ except pywintypes .error as e :
2547+ if "The service has not been started" in str (sys .exc_info ()[1 ]):
2548+ CommonUtil .ExecLog (sModuleInfo , f"{ service_name } - service has not been started" , 2 )
2549+ return "passed"
2550+ return CommonUtil .Exception_Handler (sys .exc_info ())
2551+ except :
2552+ return CommonUtil .Exception_Handler (sys .exc_info ())
2553+
2554+ @logger
2555+ def Service_status (data_set ):
2556+ try :
2557+ sModuleInfo = inspect .currentframe ().f_code .co_name + " : " + MODULE_NAME
2558+ service_name = ""
2559+ var_name = ""
2560+ for left , mid , right in data_set :
2561+ left = left .strip ().lower ()
2562+ right = right .strip ()
2563+ if left == "get service status" :
2564+ service_name = right
2565+ elif left == "variable name" :
2566+ var_name = right
2567+ if not var_name :
2568+ CommonUtil .ExecLog (sModuleInfo , f"Variable name should be declared" , 3 )
2569+ return "zeuz_failed"
2570+ return Shared_Resources .Set_Shared_Variables (var_name , psutil .win_service_get (service_name ).as_dict ())
2571+ except :
2572+ return CommonUtil .Exception_Handler (sys .exc_info ())
2573+
0 commit comments