예제 #1
0
    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]')
예제 #2
0
    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)