def test_utc_time(self): os.environ['TZ'] = "Europe/Vienna" time.tzset() self.assertEqual( OrgFormat.date( OrgFormat.datetupelutctimestamp("20111219T205510Z"), True ), "<2011-12-19 Mon 21:55>" ) self.assertEqual( OrgFormat.date( OrgFormat.datetupelutctimestamp("20111219T205510"), True ), "<2011-12-19 Mon 20:55>") self.assertEqual( OrgFormat.date(OrgFormat.datetupelutctimestamp("20111219"), False), "<2011-12-19 Mon>" ) self.assertEqual( OrgFormat.date(OrgFormat.datetupelutctimestamp("18991230"), False), "<1899-12-30 Sat>" )
def test_date(self): """ test Org date """ # testing tuples t = time.strptime("2011-11-02T20:38", "%Y-%m-%dT%H:%M") date = OrgFormat.date(t) datetime = OrgFormat.date(t, show_time=True) self.assertEqual("<2011-11-02 Wed>", date, "date error") self.assertEqual("<2011-11-02 Wed 20:38>", datetime, "datetime error")
def __get_datetime(self, mydate): """ @return string: Datetime - in Org Format """ mydate_tupel = OrgFormat.datetupelutctimestamp(mydate) return OrgFormat.date(mydate_tupel)
def test_date(self): """ test Org date """ # testing time.struct_time t = time.strptime("2011-11-02T20:38", "%Y-%m-%dT%H:%M") mydate = OrgFormat.date(t) mydatetime = OrgFormat.date(t, show_time=True) self.assertEqual("<2011-11-02 Wed>", mydate, "date error") self.assertEqual("<2011-11-02 Wed 20:38>", mydatetime, "datetime error") # testing datetime.datetime t = datetime.datetime(2018, 9, 22, hour=12, minute=55, second=59) mydate = OrgFormat.date(t) mydatetime = OrgFormat.date(t, show_time=True) self.assertEqual("<2018-09-22 Sat>", mydate, "date error") self.assertEqual("<2018-09-22 Sat 12:55>", mydatetime, "datetime error")
def __getTimestamp(self, time, onlyDate=False): """ converts xml timestamp into org readable timestamp Do 6 Nov 21:22:17 2014 """ time = time.strip().encode('utf-8') mail_date = datetime.strptime(time, "%c") if onlyDate is False: return OrgFormat.datetime(mail_date) return OrgFormat.date(mail_date)
def test_date(self): ## fixed day: self.assertEqual( OrgFormat.date(time.struct_time([1980, 12, 31, 0, 0, 0, 0, 0, 0])), u'<1980-12-31 Wed>') ## fixed time with seconds: self.assertEqual( OrgFormat.date( time.struct_time([1980, 12, 31, 23, 59, 58, 0, 0, 0]), 'foo'), u'<1980-12-31 Wed 23:59:58>') ## fixed time without seconds: self.assertEqual( OrgFormat.date( time.struct_time([1980, 12, 31, 23, 59, 0, 0, 0, 0]), 'foo'), u'<1980-12-31 Wed 23:59>') YYYYMMDDwday = time.strftime('%Y-%m-%d %a', time.localtime()) hhmmss = time.strftime('%H:%M:%S', time.localtime()) ## simple form with current day: self.assertEqual(OrgFormat.date(time.localtime()), u'<' + YYYYMMDDwday + u'>') ## show_time parameter not named: self.assertEqual(OrgFormat.date(time.localtime(), True), u'<' + YYYYMMDDwday + u' ' + hhmmss + u'>') ## show_time parameter named: self.assertEqual(OrgFormat.date(time.localtime(), show_time=True), u'<' + YYYYMMDDwday + u' ' + hhmmss + u'>')
def test_date(self): ## fixed day: self.assertEqual( OrgFormat.date(time.struct_time([1980,12,31,0,0,0,0,0,0])), u'<1980-12-31 Wed>' ) ## fixed time with seconds: self.assertEqual( OrgFormat.date(time.struct_time([1980,12,31,23,59,58,0,0,0]), 'foo'), u'<1980-12-31 Wed 23:59>' ) ## seconds are not (yet) defined in Org-mode ## fixed time without seconds: self.assertEqual( OrgFormat.date(time.struct_time([1980,12,31,23,59,0,0,0,0]), 'foo'), u'<1980-12-31 Wed 23:59>' ) YYYYMMDDwday = time.strftime('%Y-%m-%d %a', time.localtime()) hhmmss = time.strftime('%H:%M', time.localtime()) ## seconds are not (yet) defined in Org-mode ## simple form with current day: self.assertEqual( OrgFormat.date(time.localtime()), u'<' + YYYYMMDDwday + u'>' ) ## show_time parameter not named: self.assertEqual( OrgFormat.date(time.localtime(), True), u'<' + YYYYMMDDwday + u' ' + hhmmss + u'>' ) ## show_time parameter named: self.assertEqual( OrgFormat.date(time.localtime(), show_time=True), u'<' + YYYYMMDDwday + u' ' + hhmmss + u'>' )
def test_date(self): ## fixed day: self.assertEqual( OrgFormat.date(time.struct_time([1980,12,31,0,0,0,0,0,0])), u'<1980-12-31 Mon>' ) ## however, it was a Wednesday ## fixed time with seconds: self.assertEqual( OrgFormat.date(time.struct_time([1980,12,31,23,59,58,0,0,0]), 'foo'), u'<1980-12-31 Mon 23:59:58>' ) ## however, it was a Wednesday ## fixed time without seconds: self.assertEqual( OrgFormat.date(time.struct_time([1980,12,31,23,59,0,0,0,0]), 'foo'), u'<1980-12-31 Mon 23:59>' ) ## however, it was a Wednesday YYYYMMDDwday = time.strftime('%Y-%m-%d %a', time.localtime()) hhmmss = time.strftime('%H:%M:%S', time.localtime()) ## simple form with current day: self.assertEqual( OrgFormat.date(time.localtime()), u'<' + YYYYMMDDwday + u'>' ) ## show_time parameter not named: self.assertEqual( OrgFormat.date(time.localtime(), True), u'<' + YYYYMMDDwday + u' ' + hhmmss + u'>' ) ## show_time parameter named: self.assertEqual( OrgFormat.date(time.localtime(), show_time=True), u'<' + YYYYMMDDwday + u' ' + hhmmss + u'>' )
def _handle_row(self, row): """ handle a single row """ try: # assume unix timestamp if not self._args.timestamp_format: timestamp = datetime.datetime.fromtimestamp( int(row[self._args.timestamp_field])) else: timestamp = time.strptime(row[self._args.timestamp_field], self._args.timestamp_format) # show time with the timestamp format, but only # if it contains at least hours and minutes if not self._args.timestamp_format or \ any(x in self._args.timestamp_format for x in ['%H', '%M']): timestamp = OrgFormat.datetime(timestamp) else: timestamp = OrgFormat.date(timestamp) except ValueError as e: logging.error("timestamp-format does not match: %s", e) sys.exit(1) except IndexError as e: logging.error("did you specify the right delimiter?", e) sys.exit(1) properties = OrgProperties(data_for_hashing=json.dumps(row)) output = self._args.output_format.format(**row) if self._args.properties: for prop in self._args.properties.split(','): properties.add(prop.upper().strip(), row[prop]) self._writer.write_org_subitem(timestamp=timestamp, output=output, properties=properties)