def alarm_query_builder(begin_time, end_time, msg_text='', utc=False, state='', priority='', priority2=''): """Build wincc alarm query string >>> alarm_query_builder("2015-08-24 10:07:48", "2015-08-24 10:08:12", '', False, '') u"ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE MsgNr < 12508141 AND DateTime > '2015-08-24 08:07:48' AND DateTime < '2015-08-24 08:08:12'" >>> alarm_query_builder("2015-08-24 10:07:48", "2015-08-24 10:08:12", '', True, '') u"ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE MsgNr < 12508141 AND DateTime > '2015-08-24 10:07:48' AND DateTime < '2015-08-24 10:08:12'" >>> alarm_query_builder("2015-08-24 10:07:48", '', '', False, '') u"ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE MsgNr < 12508141 AND DateTime > '2015-08-24 08:07:48'" >>> alarm_query_builder("2015-08-24 10:07:48", '', 'Trogkettenf', False, '') u"ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE MsgNr < 12508141 AND DateTime > '2015-08-24 08:07:48' AND Text1 LIKE '%Trogkettenf%'" >>> alarm_query_builder("2015-08-24 10:07:48", '', '', False, '>2') u"ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE MsgNr < 12508141 AND DateTime > '2015-08-24 08:07:48' AND State >2" """ dt_begin_time = str_to_datetime(begin_time) if not utc: dt_begin_time = local_time_to_utc(dt_begin_time) # MsgNr < 12508141 to filter out operator messages datetime_str = datetime_to_str_without_ms(dt_begin_time) query = u"ALARMVIEW:SELECT * FROM ALGVIEWDEU WHERE MsgNr < 12508141 AND " query += u"DateTime > '{0}'".format(datetime_str) if end_time != '': dt_end_time = str_to_datetime(end_time) if not utc: dt_end_time = local_time_to_utc(dt_end_time) dt_end_time_str = datetime_to_str_without_ms(dt_end_time) query += u" AND DateTime < '{0}'".format(dt_end_time_str) # if msg_id != '': # query += " AND MsgNr = {id}".format(id=msg_id) if msg_text != '': query += u" AND Text1 LIKE '%{text}%'".format(text=msg_text) if state != '': query += u" AND State {state_condition}".format(state_condition=state) if priority != '' and priority2 != '': query += u" AND (Typename LIKE '%{prio}%'".format(prio=priority) query += u" OR Typename LIKE '%{prio}%')".format(prio=priority2) elif priority != '': query += u" AND Typename LIKE '%{priority}%'".format(priority=priority) return query
def _preprocess(todo): del todo['state'] todo['last_update'] = str_to_datetime(todo['last_update'])
def daily_perf_report(day): report_day = str_to_datetime(day) get_daily_key_figures_avg(host_info, report_day)