def test_parse_basic_iso_datetime(self): os.environ['TZ'] = "Europe/Vienna" time.tzset() self.assertEqual( OrgFormat.date( OrgFormat.parse_basic_iso_datetime('20111219T205510Z'), True ), '<2011-12-19 Mon 21:55>' ) self.assertEqual( OrgFormat.date( OrgFormat.parse_basic_iso_datetime('20111219T205510'), True ), '<2011-12-19 Mon 20:55>') self.assertEqual( OrgFormat.date(OrgFormat.parse_basic_iso_datetime('20111219'), False), '<2011-12-19 Mon>' ) self.assertEqual( OrgFormat.date(OrgFormat.parse_basic_iso_datetime('18991230'), False), '<1899-12-30 Sat>' ) with self.assertRaises(TimestampParseException): OrgFormat.parse_basic_iso_datetime('foobar') with self.assertRaises(TimestampParseException): OrgFormat.parse_basic_iso_datetime('20111219x205510Z') with self.assertRaises(TimestampParseException): OrgFormat.parse_basic_iso_datetime('20111319')
def __get_datetime(self, mydate): """ @return string: Datetime - in Org Format """ mydate_tuple = OrgFormat.parse_basic_iso_datetime(mydate) return OrgFormat.date(mydate_tuple)
def __get_datetime_range(self, dtstart, dtend): """ @return string: Datetime - Range in Org Format """ begin_tuple = OrgFormat.parse_basic_iso_datetime(dtstart) end_tuple = OrgFormat.parse_basic_iso_datetime(dtend) # handle "all-day" - events if begin_tuple.tm_sec == 0 and \ begin_tuple.tm_min == 0 and \ begin_tuple.tm_hour == 0 and \ end_tuple.tm_sec == 0 and \ end_tuple.tm_min == 0 and \ end_tuple.tm_hour == 0: # we have to subtract 1 day to get the correct dates end_tuple = time.localtime(time.mktime(end_tuple) - 24 * 60 * 60) return OrgFormat.daterange_autodetect_time(begin_tuple, end_tuple)
def __write(self): """ write attributes to writer (make an org_sub_item) """ logging.debug("msg:%s", self.__msg) self.__msg = self.__msg.splitlines() subject = "" notes = "" # idea: look for the first -nonempty- message if len(self.__msg) > 0: start_notes = 0 for i in range(len(self.__msg)): if self.__msg[i].strip() != "": subject = self.__msg[i].strip() start_notes = i + 1 break if len(self.__msg) > start_notes: for n in self.__msg[start_notes:]: if n != "": notes += n + "\n" output = "%s (r%d): %s" % (self.__author, self.__rev, subject) properties = OrgProperties(data_for_hashing=self.__author + subject) timestamp = OrgFormat.date(OrgFormat.parse_basic_iso_datetime( self.__date), show_time=True) properties.add("REVISION", self.__rev) if self.__grepauthor == None or \ (self.__author.strip() == self.__grepauthor.strip()): self._writer.write_org_subitem(output=output, timestamp=timestamp, note=notes, properties=properties)