Пример #1
0
def fit_millennium_fn(main_frame, current_period, navigation_fn):
    mean = GregorianDateTime.from_time(current_period.mean_time())
    if mean.year > get_millenium_max_year():
        year = get_millenium_max_year()
    else:
        year = max(get_min_year_containing_jan_1(), int(mean.year // 1000) * 1000)
    start = GregorianDateTime.from_ymd(year, 1, 1).to_time()
    end = GregorianDateTime.from_ymd(year + 1000, 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Пример #2
0
def fit_millennium_fn(main_frame, current_period, navigation_fn):
    mean = GregorianDateTime.from_time(current_period.mean_time())
    if mean.year > get_millenium_max_year():
        year = get_millenium_max_year()
    else:
        year = max(get_min_year_containing_jan_1(), int(mean.year / 1000) * 1000)
    start = GregorianDateTime.from_ymd(year, 1, 1).to_time()
    end = GregorianDateTime.from_ymd(year + 1000, 1, 1).to_time()
    navigation_fn(lambda tp: tp.update(start, end))
Пример #3
0
 def start(self, time):
     gregorian_time = GregorianDateTime.from_time(time)
     return GregorianDateTime.from_ymd(
         gregorian_time.year,
         gregorian_time.month,
         gregorian_time.day
     ).to_time()
Пример #4
0
 def _convert_to_datetime(self, d):
     if isinstance(d, datetime):
         return GregorianDateTime(d.year, d.month, d.day, d.hour, d.minute, d.second).to_time()
     elif isinstance(d, date):
         return GregorianDateTime.from_ymd(d.year, d.month, d.day).to_time()
     else:
         raise TimelineIOError("Unknown date.")
Пример #5
0
 def start(self, time):
     gregorian_time = GregorianDateTime.from_time(time)
     return GregorianDateTime.from_ymd(
         gregorian_time.year,
         gregorian_time.month,
         gregorian_time.day
     ).to_time()
Пример #6
0
 def increment_day(self, date):
     year, month, day = date
     time = GregorianDateTime.from_ymd(year, month, day).to_time()
     if time < GregorianTimeType().get_max_time(
     ) - GregorianDelta.from_days(1):
         return GregorianDateTime.from_time(
             time + GregorianDelta.from_days(1)).to_date_tuple()
     return date
Пример #7
0
def fit_week_fn(main_frame, current_period, navigation_fn):
    mean = GregorianDateTime.from_time(current_period.mean_time())
    start = GregorianDateTime.from_ymd(mean.year, mean.month, mean.day).to_time()
    weekday = GregorianTimeType().get_day_of_week(start)
    start = start - GregorianDelta.from_days(weekday)
    if not main_frame.week_starts_on_monday():
        start = start - GregorianDelta.from_days(1)
    end = start + GregorianDelta.from_days(7)
    navigation_fn(lambda tp: tp.update(start, end))
Пример #8
0
def fit_week_fn(main_frame, current_period, navigation_fn):
    mean = GregorianDateTime.from_time(current_period.mean_time())
    start = GregorianDateTime.from_ymd(mean.year, mean.month, mean.day).to_time()
    weekday = GregorianTimeType().get_day_of_week(start)
    start = start - GregorianDelta.from_days(weekday)
    if not main_frame.week_starts_on_monday():
        start = start - GregorianDelta.from_days(1)
    end = start + GregorianDelta.from_days(7)
    navigation_fn(lambda tp: tp.update(start, end))
Пример #9
0
 def _set_valid_day(self, new_year, new_month, new_day):
     done = False
     while not done:
         try:
             date = GregorianDateTime.from_ymd(new_year, new_month, new_day)
             done = True
         except Exception:
             new_day -= 1
     return date.to_date_tuple()
Пример #10
0
 def _set_valid_day(self, new_year, new_month, new_day):
     done = False
     while not done:
         try:
             date = GregorianDateTime.from_ymd(new_year, new_month, new_day)
             done = True
         except Exception:
             new_day -= 1
     return date.to_date_tuple()
Пример #11
0
 def start(self, time):
     gregorian_time = GregorianDateTime.from_time(time)
     new_gregorian = GregorianDateTime.from_ymd(gregorian_time.year, 1, 1)
     return new_gregorian.to_time()
Пример #12
0
 def start(self, time):
     return GregorianDateTime.from_ymd(
         self._decade_start_year(GregorianDateTime.from_time(time).year),
         1,
         1
     ).to_time()
Пример #13
0
 def start(self, time):
     gregorian_time = GregorianDateTime.from_time(time)
     new_gregorian = GregorianDateTime.from_ymd(gregorian_time.year, 1, 1)
     return new_gregorian.to_time()
Пример #14
0
 def start(self, time):
     return GregorianDateTime.from_ymd(
         self._decade_start_year(GregorianDateTime.from_time(time).year), 1,
         1).to_time()
Пример #15
0
 def increment_day(self, date):
     year, month, day = date
     time = GregorianDateTime.from_ymd(year, month, day).to_time()
     if time < GregorianTimeType().get_max_time() - GregorianDelta.from_days(1):
         return GregorianDateTime.from_time(time + GregorianDelta.from_days(1)).to_date_tuple()
     return date