예제 #1
0
    def test_round_trip(self):
        fact = Fact.parse(
            "11:00 12:00 activity, with comma@category,, description, with comma #and #tags"
        )
        dbus_fact = to_dbus_fact_json(fact)
        return_fact = from_dbus_fact_json(dbus_fact)
        self.assertEqual(return_fact, fact)

        dbus_fact = to_dbus_fact(fact)
        return_fact = from_dbus_fact(dbus_fact)
        self.assertEqual(return_fact, fact)

        fact = Fact.parse("11:00 activity")
        dbus_fact = to_dbus_fact_json(fact)
        return_fact = from_dbus_fact_json(dbus_fact)
        self.assertEqual(return_fact, fact)

        dbus_fact = to_dbus_fact(fact)
        return_fact = from_dbus_fact(dbus_fact)
        self.assertEqual(return_fact, fact)

        range, __ = dt.Range.parse("2020-01-19 11:00 - 2020-01-19 12:00")
        dbus_range = to_dbus_range(range)
        return_range = from_dbus_range(dbus_range)
        self.assertEqual(return_range, range)
예제 #2
0
 def CheckFact(self, dbus_fact, dbus_default_day):
     fact = from_dbus_fact(dbus_fact)
     dd = from_dbus_date(dbus_default_day)
     try:
         self.check_fact(fact, default_day=dd)
         success = True
         message = ""
     except FactError as error:
         success = False
         message = str(error)
     return success, message
예제 #3
0
 def get_facts(self, date, end_date=None, search_terms=""):
     """Returns facts for the time span matching the optional filter criteria.
        In search terms comma (",") translates to boolean OR and space (" ")
        to boolean AND.
        Filter is applied to tags, categories, activity names and description
     """
     date = timegm(date.timetuple())
     end_date = end_date or 0
     if end_date:
         end_date = timegm(end_date.timetuple())
     return [from_dbus_fact(fact) for fact in self.conn.GetFacts(date,
                                                                 end_date,
                                                                 search_terms)]
예제 #4
0
 def get_todays_facts(self):
     """returns facts of the current date, respecting hamster midnight
        hamster midnight is stored in gconf, and presented in minutes
     """
     return [from_dbus_fact(fact) for fact in self.conn.GetTodaysFacts()]
예제 #5
0
 def get_fact(self, id):
     """returns fact by it's ID"""
     return from_dbus_fact(self.conn.GetFact(id))
예제 #6
0
 def UpdateFactVerbatim(self, fact_id, dbus_fact):
     fact = from_dbus_fact(dbus_fact)
     return self.update_fact(fact_id, fact) or 0
예제 #7
0
 def AddFactVerbatim(self, dbus_fact):
     fact = from_dbus_fact(dbus_fact)
     return self.add_fact(fact) or 0