from django.core.management.base import BaseCommand
import json
from iching.utils.bz import calc10YearsFate, calcBazi

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

    def add_arguments(self, parser):
        parser.add_argument('--gender', type=str, help='f/m', default=None)
        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_10_years(options)
    
    def _calc_10_years(self, options):
        bazi = calcBazi(options['y'], options['m'], options['d'], options['h'], options['M'], options['s'])
        result = calc10YearsFate(options['gender'], 9, options['y'], options['m'], options['d'], options['h'], options['M'], options['s'])
        self.stdout.write(f"Testing for 10 years fate")
        self.stdout.write(f"{bazi}")
        self.stdout.write(f"{result}")
        # self.stdout.write(f"years: {result['years']} direction: {result['direction']} days: {result['days']}")