from django.core.management.base import BaseCommand
import json
from iching.utils.bz import calcNominalAge
from datetime import datetime, timedelta, timezone

class Command(BaseCommand):
    help = 'Test the calcNominalAge method'

    def add_arguments(self, parser):
        parser.add_argument('--y', type=int, default=None)
        parser.add_argument('--m', type=int, default=None)
        parser.add_argument('--d', type=int, default=None)
        parser.add_argument('--h', type=int, default=None)
        parser.add_argument('--M', type=int, default=None)
        parser.add_argument('--s', type=int, default=0)

    def handle(self, *args, **options):
        self._calc_age(options)
    
    def _calc_age(self, options):
        dateNow = datetime(2026, 1, 4)
        result = calcNominalAge(options['y'], options['m'], options['d'], options['h'], options['M'], options['s'], True, dateNow)
        self.stdout.write(f"Testing for calculate nominal age")
        self.stdout.write(f"{result}")