Ejemplo n.º 1
0
def fit_month_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(mean.year, mean.month, 1).to_time()
    if mean.month == 12:
        end = gregorian.from_date(mean.year + 1, 1, 1).to_time()
    else:
        end = gregorian.from_date(mean.year, mean.month + 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 2
0
def fit_month_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(mean.year, mean.month, 1).to_time()
    if mean.month == 12:
        end = gregorian.from_date(mean.year + 1, 1, 1).to_time()
    else:
        end = gregorian.from_date(mean.year, mean.month + 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 3
0
def fit_century_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    if mean.year > get_century_max_year():
        year = get_century_max_year()
    else:
        year = max(get_min_year_containing_jan_1(), int(mean.year/100)*100)
    start = gregorian.from_date(year, 1, 1).to_time()
    end = gregorian.from_date(year + 100, 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 4
0
def fit_century_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    if mean.year > get_century_max_year():
        year = get_century_max_year()
    else:
        year = max(get_min_year_containing_jan_1(), int(mean.year / 100) * 100)
    start = gregorian.from_date(year, 1, 1).to_time()
    end = gregorian.from_date(year + 100, 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 5
0
Archivo: ics.py Proyecto: sk/gnumed
def convert_to_datetime(d):
    if isinstance(d, datetime):
        return Gregorian(d.year, d.month, d.day, d.hour, d.minute, d.second).to_time()
    elif isinstance(d, date):
        return gregorian.from_date(d.year, d.month, d.day).to_time()
    else:
        raise TimelineIOError("Unknown date.")
Ejemplo n.º 6
0
    def on_down(self):
        def decrement_year(date):
            year, month, day = date
            if year > gregorian.from_time(
                    GregorianTimeType().get_min_time()[0]).year:
                return self._set_valid_day(year - 1, month, day)
            return date

        def decrement_month(date):
            year, month, day = date
            if month > 1:
                return self._set_valid_day(year, month - 1, day)
            elif year > gregorian.from_time(
                    GregorianTimeType().get_min_time()[0]).year:
                return self._set_valid_day(year - 1, 12, day)
            return date

        def decrement_day(date):
            year, month, day = date
            if day > 1:
                return self._set_valid_day(year, month, day - 1)
            elif month > 1:
                return self._set_valid_day(year, month - 1, 31)
            elif year > gregorian.from_time(
                    GregorianTimeType().get_min_time()[0]).year:
                return self._set_valid_day(year - 1, 12, 31)
            return date

        if not self._current_date_is_valid():
            return
        selection = self.date_picker.GetSelection()
        current_date = self.get_value()
        if self._insertion_point_in_region(self.region_year):
            new_date = decrement_year(current_date)
        elif self._insertion_point_in_region(self.region_month):
            new_date = decrement_month(current_date)
        else:
            year, month, day = current_date
            gregorian.from_date(year, month, day)
            if gregorian.from_date(
                    year, month,
                    day).to_time() == GregorianTimeType().get_min_time()[0]:
                return
            new_date = decrement_day(current_date)
            self._save_preferred_day(new_date)
        if current_date != new_date:
            self._set_new_date_and_restore_selection(new_date, selection)
Ejemplo n.º 7
0
 def increment_day(date):
     year, month, day = date
     time = gregorian.from_date(year, month, day).to_time()
     if time < GregorianTimeType().get_max_time()[0] - delta_from_days(
             1):
         return gregorian.from_time(time +
                                    delta_from_days(1)).to_date_tuple()
     return date
Ejemplo n.º 8
0
def convert_to_datetime(d):
    if isinstance(d, datetime):
        return Gregorian(d.year, d.month, d.day, d.hour, d.minute,
                         d.second).to_time()
    elif isinstance(d, date):
        return gregorian.from_date(d.year, d.month, d.day).to_time()
    else:
        raise TimelineIOError("Unknown date.")
Ejemplo n.º 9
0
 def _set_valid_day(self, new_year, new_month, new_day):
     done = False
     while not done:
         try:
             date = gregorian.from_date(new_year, new_month, new_day)
             done = True
         except Exception:
             new_day -= 1
     return date.to_date_tuple()
Ejemplo n.º 10
0
def fit_week_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(mean.year, mean.month, mean.day).to_time()
    weekday = start.get_day_of_week()
    start = start - delta_from_days(weekday)
    if not main_frame.week_starts_on_monday():
        start = start - delta_from_days(1)
    end = start + delta_from_days(7)
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 11
0
 def _set_valid_day(self, new_year, new_month, new_day):
     done = False
     while not done:
         try:
             date = gregorian.from_date(new_year, new_month, new_day)
             done = True
         except Exception:
             new_day -= 1
     return date.to_date_tuple()
Ejemplo n.º 12
0
def fit_week_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(mean.year, mean.month, mean.day).to_time()
    weekday = start.get_day_of_week()
    start = start - delta_from_days(weekday)
    if not main_frame.week_starts_on_monday():
        start = start - delta_from_days(1)
    end = start + delta_from_days(7)
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 13
0
 def on_down(self):
     def decrement_year(date):
         year, month, day = date
         if year > gregorian.from_time(GregorianTimeType().get_min_time()[0]).year:
             return self._set_valid_day(year - 1, month, day)
         return date
     def decrement_month(date):
         year, month, day = date
         if month > 1:
             return self._set_valid_day(year, month - 1, day)
         elif year > gregorian.from_time(GregorianTimeType().get_min_time()[0]).year:
             return self._set_valid_day(year - 1, 12, day)
         return date
     def decrement_day(date):
         year, month, day = date
         if day > 1:
             return self._set_valid_day(year, month, day - 1)
         elif month > 1:
             return self._set_valid_day(year, month - 1, 31)
         elif year > gregorian.from_time(GregorianTimeType().get_min_time()[0]).year:
             return self._set_valid_day(year - 1, 12, 31)
         return date
     if not self._current_date_is_valid():
         return
     selection = self.date_picker.GetSelection()
     current_date = self.get_value()
     if self._insertion_point_in_region(self.region_year):
         new_date = decrement_year(current_date)
     elif self._insertion_point_in_region(self.region_month):
         new_date = decrement_month(current_date)
     else:
         year, month, day = current_date
         gregorian.from_date(year, month, day)
         if gregorian.from_date(year, month, day).to_time() == GregorianTimeType().get_min_time()[0]:
             return 
         new_date = decrement_day(current_date)
         self._save_preferred_day(new_date)
     if current_date != new_date:
         self._set_new_date_and_restore_selection(new_date, selection)
Ejemplo n.º 14
0
 def start(self, time):
     gregorian_time = gregorian.from_time(time)
     new_gregorian = gregorian.from_date(gregorian_time.year,
                                         gregorian_time.month,
                                         gregorian_time.day)
     return new_gregorian.to_time()
Ejemplo n.º 15
0
 def increment_day(date):
     year, month, day = date
     time = gregorian.from_date(year, month, day).to_time()
     if time <  GregorianTimeType().get_max_time()[0] - delta_from_days(1):
         return gregorian.from_time(time + delta_from_days(1)).to_date_tuple()
     return date
Ejemplo n.º 16
0
 def start(self, time):
     gregorian_time = gregorian.from_time(time)
     new_gregorian = gregorian.from_date(gregorian_time.year, gregorian_time.month, gregorian_time.day)
     return new_gregorian.to_time()
Ejemplo n.º 17
0
 def start(self, time):
     gregorian_time = gregorian.from_time(time)
     new_gregorian = gregorian.from_date(self._decade_start_year(gregorian_time.year), 1, 1)
     return new_gregorian.to_time()
Ejemplo n.º 18
0
 def start(self, time):
     time = gregorian.from_time(time)
     return gregorian.from_date(self._century_start_year(time.year), 1, 1).to_time()
Ejemplo n.º 19
0
def fit_day_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(mean.year, mean.month, mean.day).to_time()
    end = start + delta_from_days(1)
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 20
0
def fit_year_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(mean.year, 1, 1).to_time()
    end = gregorian.from_date(mean.year + 1, 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 21
0
def fit_decade_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(int(mean.year / 10) * 10, 1, 1).to_time()
    end = gregorian.from_date(int(mean.year / 10) * 10 + 10, 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 22
0
def fit_decade_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(int(mean.year/10)*10, 1, 1).to_time()
    end = gregorian.from_date(int(mean.year/10)*10+10, 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 23
0
def fit_year_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(mean.year, 1, 1).to_time()
    end = gregorian.from_date(mean.year + 1, 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 24
0
def fit_day_fn(main_frame, current_period, navigation_fn):
    mean = gregorian.from_time(current_period.mean_time())
    start = gregorian.from_date(mean.year, mean.month, mean.day).to_time()
    end = start + delta_from_days(1)
    navigation_fn(lambda tp: tp.update(start, end))
Ejemplo n.º 25
0
 def start(self, time):
     gregorian_time = gregorian.from_time(time)
     new_gregorian = gregorian.from_date(
         self._decade_start_year(gregorian_time.year), 1, 1)
     return new_gregorian.to_time()
Ejemplo n.º 26
0
 def start(self, time):
     time = gregorian.from_time(time)
     return gregorian.from_date(self._century_start_year(time.year), 1,
                                1).to_time()