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)
def GetFactsJSON(self, dbus_range, search_terms): """Gets facts between the day of start and the day of end. Args: dbus_range (str): same format as on the command line. (cf. dt.Range.parse) search_terms (str): If starts with "not ", the search terms will be reversed Return: array of D-Bus facts in JSON format. (cf. to_dbus_fact_json) This will be the preferred way to get facts. """ range = from_dbus_range(dbus_range) return [ to_dbus_fact_json(fact) for fact in self.get_facts(range, search_terms=search_terms) ]