def test_daterange_autodetect_time(self): # NOTE: time.strptime() returns a time.struct_time self.assertEqual( OrgFormat.daterange_autodetect_time( time.strptime('2011-11-29T20:38:42', '%Y-%m-%dT%H:%M:%S'), time.strptime('2011-11-30T23:59:58', '%Y-%m-%dT%H:%M:%S'), inactive=True), '[2011-11-29 Tue 20:38]--[2011-11-30 Wed 23:59]') self.assertEqual( OrgFormat.daterange_autodetect_time( time.strptime('2011-11-29T20:38', '%Y-%m-%dT%H:%M'), time.strptime('2011-11-30T23:59', '%Y-%m-%dT%H:%M'), inactive=True), '[2011-11-29 Tue 20:38]--[2011-11-30 Wed 23:59]') self.assertEqual( OrgFormat.daterange_autodetect_time( time.strptime('2011-11-29', '%Y-%m-%d'), time.strptime('2011-11-30T23:59', '%Y-%m-%dT%H:%M'), inactive=True), '[2011-11-29 Tue 00:00]--[2011-11-30 Wed 23:59]') self.assertEqual( OrgFormat.daterange_autodetect_time( time.strptime('2011-11-29T20:38', '%Y-%m-%dT%H:%M'), time.strptime('2011-11-30', '%Y-%m-%d'), inactive=True), '[2011-11-29 Tue 20:38]--[2011-11-30 Wed 00:00]') self.assertEqual( OrgFormat.daterange_autodetect_time( time.strptime('2011-11-29', '%Y-%m-%d'), time.strptime('2011-11-30', '%Y-%m-%d'), inactive=True), '[2011-11-29 Tue]--[2011-11-30 Wed]')
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)