Exemplo n.º 1
0
        def build_event_info(self, event_xml):
            e_id = event.get_event_id(event_xml)
            e_mod_num = event.get_mod_number(event_xml)
            e_status = event.get_status(event_xml)

            # TODO get target & resource info
            event_start_dttm = event.get_active_period_start(event_xml)
            event_start_dttm = schedule.dttm_to_str(event_start_dttm)
            signals = event.get_signals(event_xml)

            # get start/end time
            start_at = event_xml.findtext(
                'ei:eiActivePeriod/xcal:properties/xcal:dtstart/xcal:date-time',
                namespaces=event.NS_A)
            start_at = schedule.str_to_datetime(start_at)
            duration = event_xml.findtext(
                'ei:eiActivePeriod/xcal:properties/xcal:duration/xcal:duration',
                namespaces=event.NS_A)
            start_at, end_at = schedule.durations_to_dates(start_at, [duration])
            
            event_info = {
                    "id"      	: e_id,
                    "mod_num" 	: e_mod_num,
                    "status"  	: e_status,
                    "start_at"	: start_at.strftime("%Y-%m-%d %H:%M:%S"),
                    "end_at"	: end_at.strftime("%Y-%m-%d %H:%M:%S"),
                    }
            if signals: event_info["signals"] = signals
            
            return event_info
Exemplo n.º 2
0
        def build_event_info(self, event_xml):
            e_id = event.get_event_id(event_xml)
            e_mod_num = event.get_mod_number(event_xml)
            e_status = event.get_status(event_xml)

            # TODO get target & resource info
            event_start_dttm = event.get_active_period_start(event_xml)
            event_start_dttm = schedule.dttm_to_str(event_start_dttm)
            signals = event.get_signals(event_xml)

            # get start/end time
            start_at = event_xml.findtext(
                'ei:eiActivePeriod/xcal:properties/xcal:dtstart/xcal:date-time',
                namespaces=event.NS_A)
            start_at = schedule.str_to_datetime(start_at)
            duration = event_xml.findtext(
                'ei:eiActivePeriod/xcal:properties/xcal:duration/xcal:duration',
                namespaces=event.NS_A)
            start_at, end_at = schedule.durations_to_dates(
                start_at, [duration])

            event_info = {
                "id": e_id,
                "mod_num": e_mod_num,
                "status": e_status,
                "start_at": start_at.strftime("%Y-%m-%d %H:%M:%S"),
                "end_at": end_at.strftime("%Y-%m-%d %H:%M:%S"),
            }
            if signals: event_info["signals"] = signals

            return event_info
Exemplo n.º 3
0
    def test_str_to_dttm(self):

        self.assertEqual(
                dt.datetime(2013,5,12,8,33,50),
                schedule.str_to_datetime('2013-05-12T08:33:50Z') )
Exemplo n.º 4
0
    def test_str_to_dttm(self):

        self.assertEqual(dt.datetime(2013, 5, 12, 8, 33, 50),
                         schedule.str_to_datetime('2013-05-12T08:33:50Z'))
Exemplo n.º 5
0
 def get_active_period_start(evt, ns_map=NS_A):
     dttm_str = evt.findtext(
         'ei:eiActivePeriod/xcal:properties/xcal:dtstart/xcal:date-time',
         namespaces=ns_map)
     return schedule.str_to_datetime(dttm_str)