INNER CODE UNIT · Python
parse_candidates
LiuMengxuan04/shushu-internship-tool · skills/shushu-internship-tool/scripts/shushu_internship_tool/candidate_score.py:30
def parse_candidates(value: Any) -> list[dict[str, Any]]:
if isinstance(value, list):
return [dict(item) for item in value]
if isinstance(value, dict) and isinstance(value.get("candidates"), list):
return [dict(item) for item in value["candidates"]]
raise ValueError("candidates JSON must be a list or an object with a 'candidates' list")
def parse_commit_date(raw: Any) -> date | None:
if not raw:
return None
text = str(raw).strip()
for fmt in ("%Y-%m-%d", "%Y/%m/%d", "%Y-%m", "%Y"):
try:
parsed = datetime.strptime(text, fmt)
return parsed.date()
except ValueError:
continue