← Back to team overview

gtg team mailing list archive

[Merge] lp:~chihchun/gtg/gtg-lp1102453 into lp:gtg

 

Rex Tsai has proposed merging lp:~chihchun/gtg/gtg-lp1102453 into lp:gtg.

Requested reviews:
  Gtg developers (gtg)
Related bugs:
  Bug #1102453 in Getting Things GNOME!: "hamster integration plugins crash when start a task"
  https://bugs.launchpad.net/gtg/+bug/1102453

For more details, see:
https://code.launchpad.net/~chihchun/gtg/gtg-lp1102453/+merge/187676

Fixed hamster dbus API changes. #1102453
-- 
https://code.launchpad.net/~chihchun/gtg/gtg-lp1102453/+merge/187676
Your team Gtg developers is requested to review the proposed merge of lp:~chihchun/gtg/gtg-lp1102453 into lp:gtg.
=== modified file 'GTG/plugins/hamster/hamster.py'
--- GTG/plugins/hamster/hamster.py	2013-03-03 07:27:26 +0000
+++ GTG/plugins/hamster/hamster.py	2013-09-26 06:59:36 +0000
@@ -23,6 +23,7 @@
 import os
 import re
 import time
+import datetime
 
 from GTG import _
 
@@ -96,19 +97,22 @@
         tag_candidates = []
         try:
             if self.preferences['tags'] == 'existing':
-                hamster_tags = set([unicode(x) for x in
-                                    self.hamster.GetTags()])
+                hamster_tags = set([unicode(x[1]) for x in
+                                    self.hamster.GetTags(False)])
                 tag_candidates = list(hamster_tags.intersection(set(gtg_tags)))
             elif self.preferences['tags'] == 'all':
                 tag_candidates = gtg_tags
         except dbus.exceptions.DBusException:
             # old hamster version, doesn't support tags
             pass
-        tag_str = "".join([" ," + x for x in tag_candidates])
+        tag_str = "".join([" #" + x for x in tag_candidates])
 
-        # print '%s%s,%s%s'%(activity, category, description, tag_str)
-        hamster_id = self.hamster.AddFact(activity, tag_str, 0, 0,
-                                          category, description)
+        """ `[-]start_time[-end_time] activity@category, description #tag1 #tag2` """
+        fact = activity
+        if category:
+            fact += "@%s" % category
+        fact += ",%s%s" % (description, tag_str)
+        hamster_id = self.hamster.AddFact(fact, timegm(datetime.datetime.now().timetuple()), 0, False)
 
         ids = self.get_hamster_ids(task)
         ids.append(str(hamster_id))