#!/usr/bin/env python3

"""
Cuchulufm is a series of wrappers for Bottle, mako and others and construct a simple headless cms.

Copyright (C) 2023 Antonio de la Rosa Caballero

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
"""

from cuchulu.libraries.db.coreforms import BaseForm
from cuchulu.libraries.mtemplates import standard_t
from cuchulu.libraries.datetime import format_timedata

class DateForm(BaseForm):
    """Create a form for dates, with year, day, hour, minut and seconds"""
    
    def __init__(self, name, value):
        
        super().__init__(name, value)
        
        self.yes_time=True
        self.t=standard_t

    def form(self):
        
        if type(self.default_value).__name__!='datetime':
        
            y=''
            m=''
            d=''
            h=''
            min=''
            s=''
            min_time=''
            
            time=format_timedata(self.default_value)
            
            if time[0]:
                y=int(time[0])
                m=int(time[1])
                d=int(time[2])
                h=int(time[3])
                min_time=int(time[4])
                s='00' #int(time[5])
        
        else:
            
            y=self.default_value.year #"{:>10}".format(s)  
            m="{:02d}".format(self.default_value.month)
            d="{:02d}".format(self.default_value.day)
            h="{:02d}".format(self.default_value.hour)
            min_time="{:02d}".format(self.default_value.minute)
            s='00'
            
            pass
        
        return self.t.load_template('forms/dateform.phtml', yes_time=self.yes_time, form=self.name, y=y, m=m, d=d, h=h, min=min_time, s=s)

    #def 
                         
