INNER CODE UNIT · Python
_collect_taste_tags
LiuMengxuan04/shushu-internship-tool · skills/shushu-internship-tool/scripts/shushu_internship_tool/candidate_score.py:166
def _collect_taste_tags(data: dict[str, Any], keys: tuple[str, ...]) -> set[str]:
tags: set[str] = set()
for key in keys:
tags.update(canonicalize_tags(data.get(key)))
return tags
def _parse_json_taste(text: str) -> tuple[set[str], set[str]]:
try:
data = json.loads(text)
except json.JSONDecodeError:
return set(), set()
if not isinstance(data, dict):
return set(), set()
prefer = _collect_taste_tags(data, EXPLICIT_PREFER_KEYS)
avoid = _collect_taste_tags(data, EXPLICIT_AVOID_KEYS)
return prefer, avoid