paper-dynasty-card-creation/pd_cards/commands/scouting.py
Cal Corum 2e28d29ced Add pd-cards CLI skeleton with Typer
Introduces new pd-cards CLI tool for all card creation workflows:
- custom: manage fictional character cards via YAML profiles
- live-series: live season card updates (stub)
- retrosheet: historical data processing (stub)
- scouting: scouting report generation (stub)
- upload: S3 card image upload (stub)

Key features:
- Typer-based CLI with auto-generated help and shell completion
- YAML profiles for custom characters (replaces per-character Python scripts)
- Preview, submit, new, and list commands for custom cards
- First character migrated: Kalin Young

Install with: uv pip install -e .
Run with: pd-cards --help

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 16:08:32 -06:00

74 lines
1.9 KiB
Python

"""
Scouting report generation commands.
Commands for generating scouting reports and ratings comparisons.
"""
from pathlib import Path
from typing import Optional
import typer
from rich.console import Console
app = typer.Typer(no_args_is_help=True)
console = Console()
@app.command()
def batters(
cardset: str = typer.Option(..., "--cardset", "-c", help="Cardset name"),
output: Optional[Path] = typer.Option(None, "--output", "-o", help="Output directory"),
):
"""
Generate batting scouting reports.
Creates CSV files with batting ratings and comparisons.
"""
console.print()
console.print("=" * 70)
console.print(f"[bold]BATTING SCOUTING REPORT - {cardset}[/bold]")
console.print("=" * 70)
# TODO: Migrate logic from scouting_batters.py
console.print()
console.print("[yellow]Not yet implemented - run legacy script:[/yellow]")
console.print(" python scouting_batters.py")
raise typer.Exit(0)
@app.command()
def pitchers(
cardset: str = typer.Option(..., "--cardset", "-c", help="Cardset name"),
output: Optional[Path] = typer.Option(None, "--output", "-o", help="Output directory"),
):
"""
Generate pitching scouting reports.
Creates CSV files with pitching ratings and comparisons.
"""
console.print()
console.print("=" * 70)
console.print(f"[bold]PITCHING SCOUTING REPORT - {cardset}[/bold]")
console.print("=" * 70)
# TODO: Migrate logic from scouting_pitchers.py
console.print()
console.print("[yellow]Not yet implemented - run legacy script:[/yellow]")
console.print(" python scouting_pitchers.py")
raise typer.Exit(0)
@app.command()
def upload(
cardset: str = typer.Option(..., "--cardset", "-c", help="Cardset name"),
):
"""
Upload scouting reports to database.
Uploads generated scouting CSV data to Paper Dynasty API.
"""
console.print()
console.print("[yellow]Not yet implemented[/yellow]")