INNER CODE UNIT · Python
_parse_json_taste
LiuMengxuan04/shushu-internship-tool · skills/shushu-internship-tool/scripts/shushu_internship_tool/candidate_score.py:173
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
def _parse_explicit_tag_lines(text: str) -> tuple[set[str], set[str]]:
prefer: set[str] = set()
avoid: set[str] = set()
consumed_patterns = [*EXPLICIT_PREFER_KEYS, *EXPLICIT_AVOID_KEYS]
line_pattern = re.compile(
rf"(?im)^\s*({'|'.join(re.escape(key) for key in consumed_patterns)})\s*[:=]\s*(.+)$"