import logging from typing import Any, Dict, List from desktop_env.evaluators.metrics.utils import are_lists_equal, compare_urls logger = logging.getLogger("desktopenv.metrics.chrome") def is_expected_tabs(open_tabs: List[Dict[str, str]], rule: Dict[str, Any]) -> float: """ Checks if the expected tabs are open in Chrome. """ print(open_tabs, rule) match_type = rule['type'] if match_type == "url": expected_urls = rule['urls'] actual_urls = [tab['url'] for tab in open_tabs] return 1 if are_lists_equal(expected_urls, actual_urls, compare_urls) else 0 else: logger.error(f"Unknown type: {match_type}") return 0 def is_expected_bookmarks(bookmarks: List[Dict[str, Any]], rule: Dict[str, Any]) -> float: """ Checks if the expected bookmarks are in Chrome. """ # todo match_type = rule['type'] if match_type == "url": expected_urls = rule['urls'] actual_urls = [bookmark['url'] for bookmark in bookmarks] return 1 if are_lists_equal(expected_urls, actual_urls, compare_urls) else 0 else: logger.error(f"Unknown type: {match_type}") return 0