diff options
Diffstat (limited to 'timelinelib/time/pytime.py')
-rw-r--r-- | timelinelib/time/pytime.py | 51 |
1 files changed, 37 insertions, 14 deletions
diff --git a/timelinelib/time/pytime.py b/timelinelib/time/pytime.py index e0f0afc..bd0e335 100644 --- a/timelinelib/time/pytime.py +++ b/timelinelib/time/pytime.py @@ -130,7 +130,7 @@ class PyTimeType(TimeType): collector.append(u"1 %s" % _("minute")) elif minutes > 1: collector.append(u"%d %s" % (minutes, _("minutes"))) - delta_string = u" ".join(collector) + delta_string = u" ".join(collector) if delta_string == "": delta_string = "0" return delta_string @@ -194,10 +194,10 @@ class PyTimeType(TimeType): total_us1 = delta_to_microseconds(delta1) total_us2 = delta_to_microseconds(delta2) # Make sure that the result is a floating point number - return total_us1 / float(total_us2) + return total_us1 / float(total_us2) def get_max_zoom_delta(self): - return (timedelta(days=1200*365), + return (timedelta(days=1200*365), _("Can't zoom wider than 1200 years")) def get_min_zoom_delta(self): @@ -238,11 +238,11 @@ class PyTimeType(TimeType): return "%02d:%02d" % (time.hour, time.minute) def eventtimes_equals(self, time1, time2): - s1 = "%s %s" % (self.event_date_string(time1), + s1 = "%s %s" % (self.event_date_string(time1), self.event_date_string(time1)) - s2 = "%s %s" % (self.event_date_string(time2), + s2 = "%s %s" % (self.event_date_string(time2), self.event_date_string(time2)) - return s1 == s2 + return s1 == s2 def go_to_today_fn(main_frame, current_period, navigation_fn): @@ -392,15 +392,35 @@ def backward_one_year_fn(main_frame, current_period, navigation_fn): def fit_millennium_fn(main_frame, current_period, navigation_fn): mean = current_period.mean_time() - start = datetime(int(mean.year/1000)*1000, 1, 1) - end = datetime(int(mean.year/1000)*1000 + 1000, 1, 1) + if mean.year > get_millenium_max_year(): + year = get_millenium_max_year() + else: + year = max(get_min_year(), int(mean.year/1000)*1000) + start = datetime(year, 1, 1) + end = datetime(year + 1000, 1, 1) navigation_fn(lambda tp: tp.update(start, end)) +def get_min_year(): + return PyTimeType().get_min_time()[0].year + + +def get_millenium_max_year(): + return PyTimeType().get_max_time()[0].year - 1000 + + +def get_century_max_year(): + return PyTimeType().get_max_time()[0].year - 100 + + def fit_century_fn(main_frame, current_period, navigation_fn): mean = current_period.mean_time() - start = datetime(int(mean.year/100)*100, 1, 1) - end = datetime(int(mean.year/100)*100 + 100, 1, 1) + if mean.year > get_century_max_year(): + year = get_century_max_year() + else: + year = max(get_min_year(), int(mean.year/100)*100) + start = datetime(year, 1, 1) + end = datetime(year + 100, 1, 1) navigation_fn(lambda tp: tp.update(start, end)) @@ -449,13 +469,16 @@ class StripCentury(Strip): return datetime(max(self._century_start_year(time.year), 10), 1, 1) def increment(self, time): - return time.replace(year=time.year+100) + return time.replace(year=time.year + 100) def get_font(self, time_period): return get_default_font(8) def _century_start_year(self, year): - return (int(year) / 100) * 100 + year = (int(year) / 100) * 100 + #if year > get_century_max_year(): + # year = get_century_max_year + return year class StripDecade(Strip): @@ -643,8 +666,8 @@ def delta_to_microseconds(delta): def move_period_num_days(period, num): delta = timedelta(days=1) * num - start_time = period.start_time + delta - end_time = period.end_time + delta + start_time = period.start_time + delta + end_time = period.end_time + delta return TimePeriod(period.time_type, start_time, end_time) |