mirror of
https://github.com/hanzoai/CUA.git
synced 2026-10-30 18:53:46 +00:00
43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
import json
|
|
import re
|
|
|
|
|
|
def convert_percent_to_decimal(percent):
|
|
try:
|
|
# Remove the '%' sign and convert to float
|
|
decimal_value = float(percent)
|
|
|
|
# Convert to decimal (e.g., 20% -> 0.20)
|
|
return decimal_value
|
|
except ValueError as e:
|
|
print(f"[convert_percent_to_decimal] error: {e}")
|
|
return None
|
|
|
|
|
|
def parse_operations(response):
|
|
if response == "DONE":
|
|
return {"type": "DONE", "data": None}
|
|
elif response.startswith("CLICK"):
|
|
# Adjust the regex to match the correct format
|
|
click_data = re.search(r"CLICK \{ (.+) \}", response).group(1)
|
|
click_data_json = json.loads(f"{{{click_data}}}")
|
|
return {"type": "CLICK", "data": click_data_json}
|
|
|
|
elif response.startswith("TYPE"):
|
|
# Extract the text to type
|
|
try:
|
|
type_data = re.search(r"TYPE (.+)", response, re.DOTALL).group(1)
|
|
except:
|
|
type_data = re.search(r'TYPE "(.+)"', response, re.DOTALL).group(1)
|
|
return {"type": "TYPE", "data": type_data}
|
|
|
|
elif response.startswith("SEARCH"):
|
|
# Extract the search query
|
|
try:
|
|
search_data = re.search(r'SEARCH "(.+)"', response).group(1)
|
|
except:
|
|
search_data = re.search(r"SEARCH (.+)", response).group(1)
|
|
return {"type": "SEARCH", "data": search_data}
|
|
|
|
return {"type": "UNKNOWN", "data": response}
|