#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Status Reporter Reports the current status of the novel project. """ import argparse import json import sys from pathlib import Path try: from runtime_compat import enable_windows_utf8_stdio except ImportError: enable_windows_utf8_stdio = lambda: None def main(): if __name__ == "__main__": enable_windows_utf8_stdio() parser = argparse.ArgumentParser(description="Report project status") parser.add_argument("--project-root", type=str, default=".", help="Project root") args = parser.parse_args() project_root = Path(args.project_root).resolve() # Load state state_file = project_root / ".noma" / "state.json" if state_file.exists(): state = json.loads(state_file.read_text(encoding="utf-8")) print(f"Title: {state.get('title', 'Unknown')}") print(f"Author: {state.get('author', 'Unknown')}") print(f"Genre: {state.get('genre', 'Unknown')}") print(f"Target Words: {state.get('target_words', 0):,}") print(f"Target Chapters: {state.get('target_chapters', 0)}") else: print("No state.json found") sys.exit(1) if __name__ == "__main__": main()