#!/usr/bin/env python3
"""
Simple fasting mode logging skill.

Usage examples:
    "log fasting: OMAD"
    "log fasting: PSMF"
    "log fasting: Water Fast"
"""

import sys
from datetime import date
from pathlib import Path

sys.path.insert(0, str(Path(__file__).parent.parent))

from health.services.manual_log_storage import ManualLogStorage


FASTING_MODES = {
    "omad": "OMAD",
    "psmf": "PSMF",
    "water fast": "Water Fast",
    "水断": "Water Fast",
    "轻断食": "OMAD",
}


def parse_fasting_mode(text: str) -> str:
    """Parse fasting mode from text."""
    text_lower = text.lower().strip()

    for key, mode in FASTING_MODES.items():
        if key in text_lower:
            return mode

    # If exact match not found, return as-is (uppercase)
    return text.upper()


def main() -> int:
    """Main function."""
    if len(sys.argv) < 2:
        print("❌ Please provide fasting mode")
        print("Example: python log_fasting_simple.py 'OMAD'")
        print("Supported: OMAD, PSMF, Water Fast")
        return 1

    text = " ".join(sys.argv[1:])

    try:
        storage = ManualLogStorage()
        today = date.today()

        # Parse fasting mode
        mode = parse_fasting_mode(text)

        # Set fasting mode
        storage.set_fasting_mode(today, mode)

        print(f"✅ Fasting mode set for {today}: {mode}")
        return 0

    except Exception as e:
        print(f"❌ Failed to set fasting mode: {e}")
        import traceback
        traceback.print_exc()
        return 1


if __name__ == "__main__":
    sys.exit(main())
