[hamster-applet] use get_facts of today to determine last activity in order to have same results everywhere
- From: Toms Baugis <tbaugis src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [hamster-applet] use get_facts of today to determine last activity in order to have same results everywhere
- Date: Sat, 26 Dec 2009 03:51:18 +0000 (UTC)
commit ac35260f14bba66e94bbaf19b4f50441dc30bdef
Author: Toms Bauģis <toms baugis gmail com>
Date: Sat Dec 26 03:50:48 2009 +0000
use get_facts of today to determine last activity in order to have same results everywhere
hamster/db.py | 40 ++++++++++------------------------------
1 files changed, 10 insertions(+), 30 deletions(-)
---
diff --git a/hamster/db.py b/hamster/db.py
index 39b3747..2f8ba77 100644
--- a/hamster/db.py
+++ b/hamster/db.py
@@ -325,37 +325,17 @@ class Storage(storage.Storage):
return grouped_facts
def __get_last_activity(self):
- query = """
- SELECT a.id AS id,
- a.start_time AS start_time,
- a.end_time AS end_time,
- a.description as description,
- b.name AS name, b.id as activity_id,
- coalesce(c.name, ?) as category, coalesce(c.id, -1) as category_id,
- e.name as tags
- FROM facts a
- LEFT JOIN activities b ON a.activity_id = b.id
- LEFT JOIN categories c ON b.category_id = c.id
- LEFT JOIN fact_tags d ON d.fact_id = a.id
- LEFT JOIN tags e ON e.id = d.tag_id
- WHERE date(a.start_time) = ?
- ORDER BY a.start_time desc
- LIMIT 20
- """
- last = self.fetchall(query, (_("Unsorted"), dt.date.today()))
- if not last:
- #try yesterday if there is nothing today
- last = self.fetchall(query,
- (# unsorted category
- _("Unsorted"),
- dt.date.today() - dt.timedelta(days=1)))
- if last:
- last = self.__group_tags(last)[0]
-
- if last and last["end_time"]: #will consider as last only if it is going on
- last = None
-
- return last
+ from configuration import GconfStore
+ day_start = GconfStore().get_day_start()
+
+ today = (dt.datetime.now() - dt.timedelta(hours = day_start.hour,
+ minutes = day_start.minute)).date()
+ facts = self.__get_facts(today)
+
+ last_activity = None
+ if facts and facts[-1]["end_time"] == None:
+ last_activity = facts[-1]
+ return last_activity
def __touch_fact(self, fact, end_time):
# tasks under one minute do not count
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]