def get_time_list()

in decisionai_plugin/common/util/timeutil.py [0:0]


def get_time_list(start_time, end_time, graninfo):
    time_list = []
    
    (gran_str, custom_in_seconds) = graninfo
    offset = 1
    if gran_str == 'Daily':
        timedelta = datetime.timedelta(days=offset)
    elif gran_str == 'Weekly':
        timedelta = datetime.timedelta(weeks=offset)
    elif gran_str == 'Monthly':
        timedelta = dateutil.relativedelta.relativedelta(months=offset)
    elif gran_str == 'Yearly':
        timedelta = dateutil.relativedelta.relativedelta(years=offset)
    elif gran_str == 'Hourly':
        timedelta = datetime.timedelta(hours=offset)
    elif gran_str == 'Minutely':
        timedelta = datetime.timedelta(minutes=offset)
    elif gran_str == 'Secondly':
        timedelta = datetime.timedelta(seconds=offset)
    elif gran_str == 'Custom':
        timedelta = datetime.timedelta(seconds=custom_in_seconds * offset)
    else:
        raise Exception('Granularity not supported: {}|{}'.format(*graninfo))

    while start_time <= end_time:
        time_list.append(start_time)
        start_time = start_time + timedelta

    return time_list