def increment_year(self, date): max_year = PharaonicDateTime.from_time( PharaonicTimeType().get_max_time()).year year, month, day = date if year < max_year - 1: return self._set_valid_day(year + 1, month, day) return date
def decrement_month(self, date): year, month, day = date if month > 1: return self._set_valid_day(year, month - 1, day) elif year > PharaonicDateTime.from_time( PharaonicTimeType().get_min_time()).year: return self._set_valid_day(year - 1, 13, day) return date
def increment_day(self, date): year, month, day = date time = PharaonicDateTime.from_ymd(year, month, day).to_time() if time < PharaonicTimeType().get_max_time( ) - PharaonicDelta.from_days(1): return PharaonicDateTime.from_time( time + PharaonicDelta.from_days(1)).to_date_tuple() return date
def __init__(self, parent, show_time=True, config=None, on_change=None): wx.Panel.__init__(self, parent) self.config = config self._create_gui() self.controller = PharaonicDateTimePickerController( self, self.date_picker, self.time_picker, PharaonicTimeType().now, on_change) self.show_time(show_time) self.parent = parent
def __init__(self, parent, config, name=None): Panel.__init__( self, PharaonicPeriodPickerController, parent, { "time_type": PharaonicTimeType(), "config": config, "to_label": _("to"), "period_checkbox_text": _("Period"), "show_time_checkbox_text": _("Show time"), })
def _parse_timetype(self, text, tmp_dict): self.db.set_time_type(None) valid_time_types = (GregorianTimeType(), BosparanianTimeType(), NumTimeType(), CopticTimeType(), PharaonicTimeType()) for timetype in valid_time_types: if text == timetype.get_name(): self.db.set_time_type(timetype) break if self.db.get_time_type() is None: raise ParseException("Invalid timetype '%s' found." % text)
def a_pharaonic_era_with(start=None, end=None, time=ANY_TIME, name="foo", color=(128, 128, 128), time_type=PharaonicTimeType(), ends_today=False): """Create an :doc:`Era <timelinelib_canvas_data_era>` object.""" if start and end: start = human_time_to_pharaonic(start) end = human_time_to_pharaonic(end) else: start = human_time_to_pharaonic(time) end = human_time_to_pharaonic(time) era = Era().update(start, end, name, color) era.set_ends_today(ends_today) return era
def _set_cal_range(self, cal): min_date = PharaonicTimeType().get_min_time() max_date = PharaonicTimeType().get_max_time() min_date = self.time_to_wx_date(min_date) max_date = self.time_to_wx_date(max_date) - wx.DateSpan.Day() cal.SetDateRange(min_date, max_date)
def _create_new_pharaonic_timeline(self): self._create_new_timeline(PharaonicTimeType())
def _format_sample_date(self, date_formatter): return date_formatter.format( PharaonicDateTime.from_time( PharaonicTimeType().now()).to_date_tuple())[0]