generated from nhcarrigan/template
docs: add data file documentation and fix data path resolution
All Python cohort scripts now use DATA_DIR = Path(__file__).parent.parent.parent / "data" to correctly resolve the repo-root data/ directory regardless of the working directory set by run.sh. All TypeScript scripts have expanded JSDoc headers documenting data file requirements and environment variables.
This commit is contained in:
@@ -1,23 +1,46 @@
|
||||
"""Generate markdown participant and leader profile files for the cohort.
|
||||
|
||||
Reads all evaluation data files and produces two markdown files summarising
|
||||
each member's tech stack, availability, proficiency, and leadership assessment.
|
||||
|
||||
Data files (place in data/):
|
||||
- discord_verification.json Discord ID verification results (from verify_discord.py)
|
||||
- proficiency_evaluations.json Proficiency scores (from evaluate_technical_proficiency.py)
|
||||
- availability_analysis.json Availability UTC blocks (from analyse_availability.py)
|
||||
- leadership_candidates.json List of applicants who expressed interest in leading
|
||||
- leadership_evaluations.json Leadership assessment scores
|
||||
|
||||
Outputs (written to data/):
|
||||
- participants.md Markdown profile for each participant
|
||||
- leaders.md Markdown profile for each leader candidate
|
||||
|
||||
Env vars:
|
||||
- None
|
||||
"""
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
DATA_DIR = Path(__file__).parent.parent.parent / "data"
|
||||
|
||||
BLOCK_EMOJIS = {"mornings": "🌅", "afternoons": "☀️", "evenings": "🌆", "nights": "🌙"}
|
||||
|
||||
|
||||
def load_all_data():
|
||||
"""Load all evaluation data files"""
|
||||
with open("discord_verification.json") as f:
|
||||
with open(DATA_DIR / "discord_verification.json") as f:
|
||||
verification = json.load(f)
|
||||
|
||||
with open("proficiency_evaluations.json") as f:
|
||||
with open(DATA_DIR / "proficiency_evaluations.json") as f:
|
||||
proficiency = json.load(f)
|
||||
|
||||
with open("availability_analysis.json") as f:
|
||||
with open(DATA_DIR / "availability_analysis.json") as f:
|
||||
availability = json.load(f)
|
||||
|
||||
with open("leadership_candidates.json") as f:
|
||||
with open(DATA_DIR / "leadership_candidates.json") as f:
|
||||
candidates = json.load(f)
|
||||
|
||||
with open("leadership_evaluations.json") as f:
|
||||
with open(DATA_DIR / "leadership_evaluations.json") as f:
|
||||
leadership = json.load(f)
|
||||
|
||||
return verification, proficiency, availability, candidates, leadership
|
||||
@@ -230,14 +253,14 @@ def main():
|
||||
participants_md = generate_participants_md(
|
||||
non_leader_ids, verified_usernames, prof_by_id, avail_by_id
|
||||
)
|
||||
with open("participants.md", "w") as f:
|
||||
with open(DATA_DIR / "participants.md", "w") as f:
|
||||
f.write(participants_md)
|
||||
print(f"Generated participants.md with {len(non_leader_ids)} participants")
|
||||
|
||||
leaders_md = generate_leaders_md(
|
||||
leader_ids, verified_usernames, prof_by_id, avail_by_id, lead_by_id
|
||||
)
|
||||
with open("leaders.md", "w") as f:
|
||||
with open(DATA_DIR / "leaders.md", "w") as f:
|
||||
f.write(leaders_md)
|
||||
print(f"Generated leaders.md with {len(leader_ids)} leaders")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user