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()))
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