diff --git a/desktop_env/evaluators/getters/chrome.py b/desktop_env/evaluators/getters/chrome.py index 0fc869b..c247046 100644 --- a/desktop_env/evaluators/getters/chrome.py +++ b/desktop_env/evaluators/getters/chrome.py @@ -1485,7 +1485,7 @@ def get_url_path_parse(env, config: Dict[str, str]): """ Parse Macy's product url path, extract: - mens_clothing: true if 'mens-clothing' in path, else None - - t_shirts: true if any key 'Top_style' or 'Product_department' value is 'T-shirts', else None + - shirts: true if any key 'Top_style' or 'Product_department' value is 'shirts', else None - Men_regular_size_t, Price_discount_range (as list), Sleeve_length: as before, None if not found All fields are None if not found for robustness. """ @@ -1503,9 +1503,11 @@ def get_url_path_parse(env, config: Dict[str, str]): # key-value path_parts = path.strip('/').split('/') key_value_json = {} - tshirts_flag = False - if "mens-t-shirts" in path: - tshirts_flag = True + shirts_flag = False + if "shirts" in path: + shirts_flag = True + if "short-sleeve" in path: + short_sleeve_flag = True for i in range(len(path_parts)-1): if ',' in path_parts[i] and ',' in path_parts[i+1]: keys = [k.strip() for k in path_parts[i].split(',')] @@ -1515,13 +1517,16 @@ def get_url_path_parse(env, config: Dict[str, str]): key_value_json[k] = [item.strip() for item in v.split('|')] if v else None else: key_value_json[k] = v if v else None - if (k == 'Top_style' or k == 'Product_department') and (v == 'T-shirts' or v == 'T-Shirts' or v == 'T-Shirt'): - tshirts_flag = True + if k == 'Product_department' and (v == 'shirts' or v == 'Shirts' or v == 'Shirt'): + shirts_flag = True + if k == 'Sleeve_length' and (v == 'short-sleeve' or v == 'Short Sleeve'): + short_sleeve_flag = True break - for field in ['Men_regular_size_t', 'Price_discount_range', 'Sleeve_length']: + for field in ['Men_regular_size_t', 'Price_discount_range']: if field not in key_value_json: key_value_json[field] = None - result['t_shirts'] = tshirts_flag if tshirts_flag else None + result['shirts'] = shirts_flag if shirts_flag else None + result['short_sleeve'] = short_sleeve_flag if short_sleeve_flag else None # parse_keys for key in config["parse_keys"]: if key in key_value_json: diff --git a/evaluation_examples/examples/chrome/2888b4e6-5b47-4b57-8bf5-c73827890774.json b/evaluation_examples/examples/chrome/2888b4e6-5b47-4b57-8bf5-c73827890774.json index 7bc0fa1..cf36044 100644 --- a/evaluation_examples/examples/chrome/2888b4e6-5b47-4b57-8bf5-c73827890774.json +++ b/evaluation_examples/examples/chrome/2888b4e6-5b47-4b57-8bf5-c73827890774.json @@ -1,7 +1,7 @@ { "id": "2888b4e6-5b47-4b57-8bf5-c73827890774", "snapshot": "chrome", - "instruction": "Show me all men's large-size short-sleeve T-shirts with a discount of 50% or more.", + "instruction": "Show me all men's large-size short-sleeve shirts with a discount of 50% or more.", "source": "test_task_1", "config": [ { @@ -49,10 +49,10 @@ "goto_prefix": "https://www.", "parse_keys": [ "mens_clothing", - "t_shirts", + "shirts", "Men_regular_size_t", "Price_discount_range", - "Sleeve_length" + "short_sleeve" ] }, "expected": { @@ -60,13 +60,13 @@ "rules": { "expected": { "mens_clothing": true, - "t_shirts": true, + "shirts": true, "Men_regular_size_t": "L", "Price_discount_range": "50_PERCENT_ off & more", - "Sleeve_length": "Short Sleeve" + "short_sleeve": true } } } }, - "proxy": true + "proxy": false } \ No newline at end of file