feat: initial commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user