Example #1
0
def git_important_days(birthday_dt, period):
    '''
    получаем список особых дней за указанный период
    birthday_dt - дата рождения
    period - период, в который нужно получить особые даты
        [0] - дата начала прериода,
        [1] - дата окончания периода
    '''
    days = {}
    _day = period[0]
    while date_compare( *(_day+period[1]) )  != -1:
        time_diff = date_diff(_day, birthday_dt)

        critical = get_critical_preiods(_day, time_diff)
        peak = get_peak_preiods(_day, time_diff)
        day = yyyy_mm_dd(_day)

        if (peak or critical):
            days.setdefault(
                day, {
                    'biorythms': day_bio(time_diff),
                    'day': yyyy_mm_dd(_day)
                }
            )
        if peak:
            days[day].update(peak)
        if critical:
            days[day].update(critical)

        _day = date_shift(*(_day + (1,)))
    return collections.OrderedDict(sorted(days.items()))
Example #2
0
 def get_period(date1, date2):
     list_d = [date1]
     current_date = date1
     while date.date_compare(*current_date + date2) == 1:
         current_date = date.date_shift(*current_date + (1,))
         list_d.append(current_date)
     return list_d