示例#1
0
文件: date.py 项目: weeksjm/gnumed
 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
示例#2
0
文件: timetype.py 项目: ncqgm/gnumed
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))
示例#3
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))
示例#4
0
 def label(self, time, major=False):
     if major:
         first_weekday = self.start(time)
         next_first_weekday = self.increment(first_weekday)
         last_weekday = next_first_weekday - GregorianDelta.from_days(1)
         range_string = self._time_range_string(first_weekday, last_weekday)
         if self.appearance.get_week_start() == "monday":
             return (_("Week") + " %s (%s)") % (GregorianDateTime.from_time(
                 time).week_number, range_string)
         else:
             # It is sunday (don't know what to do about week numbers here)
             return range_string
     # This strip should never be used as minor
     return ""
示例#5
0
文件: timetype.py 项目: ncqgm/gnumed
 def label(self, time, major=False):
     if major:
         first_weekday = self.start(time)
         next_first_weekday = self.increment(first_weekday)
         last_weekday = next_first_weekday - GregorianDelta.from_days(1)
         range_string = self._time_range_string(first_weekday, last_weekday)
         if self.appearance.get_week_start() == "monday":
             return (_("Week") + " %s (%s)") % (
                 GregorianDateTime.from_time(time).week_number,
                 range_string
             )
         else:
             # It is sunday (don't know what to do about week numbers here)
             return range_string
     # This strip should never be used as minor
     return ""
示例#6
0
文件: timetype.py 项目: ncqgm/gnumed
def navigate_month_step(current_period, navigation_fn, direction):
    """
    Currently does notice leap years.
    """
    # TODO: NEW-TIME: (year, month, day, hour, minute, second) -> int (days in # month)
    tm = current_period.mean_time()
    gt = GregorianDateTime.from_time(tm)
    if direction > 0:
        if gt.month == 2:
            d = 28
        elif gt.month in (4, 6, 9, 11):
            d = 30
        else:
            d = 31
    else:
        if gt.month == 3:
            d = 28
        elif gt.month in (5, 7, 10, 12):
            d = 30
        else:
            d = 31
    mv = GregorianDelta.from_days(d)
    navigation_fn(lambda tp: tp.move_delta(direction * mv))
示例#7
0
def navigate_month_step(current_period, navigation_fn, direction):
    """
    Currently does notice leap years.
    """
    # TODO: NEW-TIME: (year, month, day, hour, minute, second) -> int (days in # month)
    tm = current_period.mean_time()
    gt = GregorianDateTime.from_time(tm)
    if direction > 0:
        if gt.month == 2:
            d = 28
        elif gt.month in (4, 6, 9, 11):
            d = 30
        else:
            d = 31
    else:
        if gt.month == 3:
            d = 28
        elif gt.month in (5, 7, 10, 12):
            d = 30
        else:
            d = 31
    mv = GregorianDelta.from_days(d)
    navigation_fn(lambda tp: tp.move_delta(direction * mv))
示例#8
0
文件: timetype.py 项目: ncqgm/gnumed
def backward_one_week_fn(main_frame, current_period, navigation_fn):
    wk = GregorianDelta.from_days(7)
    navigation_fn(lambda tp: tp.move_delta(-1 * wk))
示例#9
0
文件: timetype.py 项目: ncqgm/gnumed
 def get_default_time_period(self):
     return time_period_center(self.now(), GregorianDelta.from_days(30))
示例#10
0
def move_period_num_weeks(period, num):
    delta = GregorianDelta.from_days(7) * num
    start_time = period.start_time + delta
    end_time = period.end_time + delta
    return TimePeriod(start_time, end_time)
示例#11
0
 def increment(self, time):
     return time + GregorianDelta.from_days(1)
示例#12
0
    if event.get_locked():
        event.set_locked(False)
        event.set_ends_today(not event.get_ends_today())
        event.set_locked(True)
    else:
        event.set_ends_today(not event.get_ends_today())
    return event


EVENT_MODIFIERS = [
    ("change fuzzy", lambda event: event.set_fuzzy(not event.get_fuzzy())),
    ("change locked", lambda event: event.set_locked(not event.get_locked())),
    ("change ends today", modifier_change_ends_today),
    ("change id", lambda event: event.set_id(inc(event.get_id()))),
    ("change time period", lambda event: event.set_time_period(
        event.get_time_period().move_delta(GregorianDelta.from_days(1)))),
    ("change text",
     lambda event: event.set_text("was: %s" % event.get_text())),
    ("change category", lambda event: event.set_category(new_cat(event))),
    ("change icon",
     lambda event: event.set_icon("was: %s" % event.get_icon())),
    ("change description",
     lambda event: event.set_description("was: %s" % event.get_description())),
    ("change hyperlink",
     lambda event: event.set_hyperlink("was: %s" % event.get_hyperlink())),
    ("change progress", lambda event: event.set_progress(new_progress(event))),
    ("change alert",
     lambda event: event.set_alert("was: %s" % event.get_alert())),
]

SUBEVENT_MODIFIERS = EVENT_MODIFIERS
示例#13
0
文件: timetype.py 项目: ncqgm/gnumed
 def increment(self, time):
     return time + GregorianDelta.from_days(
         GregorianDateTime.from_time(time).days_in_month()
     )
示例#14
0
文件: date.py 项目: ncqgm/gnumed
 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
示例#15
0
文件: timetype.py 项目: ncqgm/gnumed
 def increment(self, time):
     return time + GregorianDelta.from_days(1)
示例#16
0
def backward_one_week_fn(main_frame, current_period, navigation_fn):
    wk = GregorianDelta.from_days(7)
    navigation_fn(lambda tp: tp.move_delta(-1 * wk))
示例#17
0
 def get_default_time_period(self):
     return time_period_center(self.now(), GregorianDelta.from_days(30))
示例#18
0
 def monday_week_1(year):
     from timelinelib.calendar.gregorian.timetype import GregorianTimeType
     jan_4 = GregorianDateTime.from_ymd(year, 1, 4).to_time()
     jan_4_day_of_week = GregorianTimeType().get_day_of_week(jan_4)
     return jan_4 - GregorianDelta.from_days(jan_4_day_of_week)
示例#19
0
文件: tutorial.py 项目: ncqgm/gnumed
 def get_delta(self, value):
     return GregorianDelta.from_days(value)
示例#20
0
文件: gregorian.py 项目: ncqgm/gnumed
 def monday_week_1(year):
     from timelinelib.calendar.gregorian.timetype import GregorianTimeType
     jan_4 = GregorianDateTime.from_ymd(year, 1, 4).to_time()
     jan_4_day_of_week = GregorianTimeType().get_day_of_week(jan_4)
     return jan_4 - GregorianDelta.from_days(jan_4_day_of_week)
示例#21
0
文件: timetype.py 项目: ncqgm/gnumed
def backward_one_year_fn(main_frame, current_period, navigation_fn):
    yr = GregorianDelta.from_days(365)
    navigation_fn(lambda tp: tp.move_delta(-1 * yr))
示例#22
0
文件: utils.py 项目: ncqgm/gnumed
        event.set_locked(True)
    else:
        event.set_ends_today(not event.get_ends_today())
    return event


EVENT_MODIFIERS = [
    ("change fuzzy", lambda event:
        event.set_fuzzy(not event.get_fuzzy())),
    ("change locked", lambda event:
        event.set_locked(not event.get_locked())),
    ("change ends today", modifier_change_ends_today),
    ("change id", lambda event:
        event.set_id(inc(event.get_id()))),
    ("change time period", lambda event:
        event.set_time_period(event.get_time_period().move_delta(GregorianDelta.from_days(1)))),
    ("change text", lambda event:
        event.set_text("was: %s" % event.get_text())),
    ("change category", lambda event:
        event.set_category(new_cat(event))),
    ("change icon", lambda event:
        event.set_icon("was: %s" % event.get_icon())),
    ("change description", lambda event:
        event.set_description("was: %s" % event.get_description())),
    ("change hyperlink", lambda event:
        event.set_hyperlink("was: %s" % event.get_hyperlink())),
    ("change progress", lambda event:
        event.set_progress(new_progress(event))),
    ("change alert", lambda event:
        event.set_alert("was: %s" % event.get_alert())),
]
示例#23
0
 def increment(self, time):
     return time + GregorianDelta.from_days(
         GregorianDateTime.from_time(time).days_in_month())
示例#24
0
文件: utils.py 项目: luzpaz/gnumed
        event.set_locked(True)
    else:
        event.set_ends_today(not event.get_ends_today())
    return event


EVENT_MODIFIERS = [
    ("change fuzzy", lambda event:
        event.set_fuzzy(not event.get_fuzzy())),
    ("change locked", lambda event:
        event.set_locked(not event.get_locked())),
    ("change ends today", modifier_change_ends_today),
    ("change id", lambda event:
        event.set_id(inc(event.get_id()))),
    ("change time period", lambda event:
        event.set_time_period(event.get_time_period().move_delta(GregorianDelta.from_days(1)))),
    ("change text", lambda event:
        event.set_text("was: %s" % event.get_text())),
    ("change category", lambda event:
        event.set_category(new_cat(event))),
    ("change icon", lambda event:
        event.set_icon("was: %s" % event.get_icon())),
    ("change description", lambda event:
        event.set_description("was: %s" % event.get_description())),
    ("change hyperlink", lambda event:
        event.set_hyperlink("was: %s" % event.get_hyperlink())),
    ("change progress", lambda event:
        event.set_progress(new_progress(event))),
    ("change alert", lambda event:
        event.set_alert("was: %s" % event.get_alert())),
]
示例#25
0
 def get_delta(self, value):
     return GregorianDelta.from_days(value)
示例#26
0
文件: timetype.py 项目: ncqgm/gnumed
def move_period_num_weeks(period, num):
    delta = GregorianDelta.from_days(7) * num
    start_time = period.start_time + delta
    end_time = period.end_time + delta
    return TimePeriod(start_time, end_time)
示例#27
0
def backward_one_year_fn(main_frame, current_period, navigation_fn):
    yr = GregorianDelta.from_days(365)
    navigation_fn(lambda tp: tp.move_delta(-1 * yr))