Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/timelinelib/time
diff options
context:
space:
mode:
Diffstat (limited to 'timelinelib/time')
-rw-r--r--timelinelib/time/__init__.py4
-rw-r--r--timelinelib/time/numtime.py6
-rw-r--r--timelinelib/time/pytime.py51
-rw-r--r--timelinelib/time/wxtime.py28
4 files changed, 52 insertions, 37 deletions
diff --git a/timelinelib/time/__init__.py b/timelinelib/time/__init__.py
index 383e478..d320ea5 100644
--- a/timelinelib/time/__init__.py
+++ b/timelinelib/time/__init__.py
@@ -16,7 +16,7 @@
# along with Timeline. If not, see <http://www.gnu.org/licenses/>.
-from timelinelib.time.pytime import PyTimeType
from timelinelib.time.numtime import NumTimeType
-from timelinelib.time.wxtime import WxTimeType
+from timelinelib.time.pytime import PyTimeType
from timelinelib.time.wxtime import try_to_create_wx_date_time_from_dmy
+from timelinelib.time.wxtime import WxTimeType
diff --git a/timelinelib/time/numtime.py b/timelinelib/time/numtime.py
index ab898cc..3318ab8 100644
--- a/timelinelib/time/numtime.py
+++ b/timelinelib/time/numtime.py
@@ -16,11 +16,8 @@
# along with Timeline. If not, see <http://www.gnu.org/licenses/>.
-import sys
import re
-import wx
-
from timelinelib.time.typeinterface import TimeType
from timelinelib.db.objects import time_period_center
from timelinelib.drawing.interface import Strip
@@ -76,7 +73,6 @@ class NumTimeType(TimeType):
def choose_strip(self, metrics, config):
start_time = 1
end_time = 2
- period_width = 0
limit = 30
period = TimePeriod(self, start_time, end_time)
period_width = metrics.calc_exact_width(period)
@@ -108,7 +104,7 @@ class NumTimeType(TimeType):
return time_period.start_time + delta * x_percent_of_width
def div_timedeltas(self, delta1, delta2):
- return delta1 / delta2
+ return delta1 / delta2
def get_max_zoom_delta(self):
return (None, None)
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)
diff --git a/timelinelib/time/wxtime.py b/timelinelib/time/wxtime.py
index 7ded2ec..61b50d2 100644
--- a/timelinelib/time/wxtime.py
+++ b/timelinelib/time/wxtime.py
@@ -18,10 +18,6 @@
import sys
import re
-from wx import DateTime
-from wx import DateSpan
-from wx import TimeSpan
-import calendar
import wx
@@ -132,7 +128,7 @@ class WxTimeType(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
@@ -195,7 +191,7 @@ class WxTimeType(TimeType):
total_us1 = delta_to_microseconds(delta1)
total_us2 = delta_to_microseconds(delta2)
# Make sure that the result is a floating point number
- return float(total_us1) / float(total_us2)
+ return float(total_us1) / float(total_us2)
def get_max_zoom_delta(self):
max_zoom_delta = wx.TimeSpan.Days(1200 * 365)
@@ -241,11 +237,11 @@ class WxTimeType(TimeType):
return time.Format("%H:%M")
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):
@@ -318,7 +314,7 @@ def _move_smart_month_backward(navigation_fn, start, end):
new_start_year, new_start_month = _months_to_year_and_month(
start_months -
month_diff)
- new_start = wx.DateTimeFromDMY(start.Day, new_start_month, new_start_year,
+ new_start = wx.DateTimeFromDMY(start.Day, new_start_month, new_start_year,
start.Hour, start.Minute, start.Second)
navigation_fn(lambda tp: tp.update(new_start, new_end))
@@ -331,7 +327,7 @@ def _move_smart_month_forward(navigation_fn, start, end):
new_end_year, new_end_month = _months_to_year_and_month(
end_months +
month_diff)
- new_end = wx.DateTimeFromDMY(end.Day, new_end_month, new_end_year,
+ new_end = wx.DateTimeFromDMY(end.Day, new_end_month, new_end_year,
end.Hour, end.Minute, end.Second)
navigation_fn(lambda tp: tp.update(new_start, new_end))
@@ -619,7 +615,7 @@ class StripHour(Strip):
return str(time.Hour)
def start(self, time):
- start_time = wx.DateTimeFromDMY(time.Day, time.Month, time.Year, time.Hour)
+ start_time = wx.DateTimeFromDMY(time.Day, time.Month, time.Year, time.Hour)
return start_time
def increment(self, time):
@@ -642,7 +638,7 @@ def microseconds_to_delta(microsecs):
counter += 1
delta = wx.TimeSpan.Milliseconds(milliseconds)
while counter > 0:
- delta = delta * 2;
+ delta = delta * 2;
counter -= 1
return delta
@@ -657,7 +653,7 @@ def delta_to_microseconds(delta):
neg = False
if days < 0:
neg = True
- days = -days
+ days = -days
hours = -hours
minutes = -minutes
seconds = -seconds
@@ -670,9 +666,9 @@ def delta_to_microseconds(delta):
if seconds >= 0:
microsecs = seconds * US_PER_SEC
if milliseconds >= 0:
- microsecs = milliseconds * 1000
+ microsecs = milliseconds * 1000
if neg:
- microsecs = -microsecs
+ microsecs = -microsecs
return microsecs