mirror of
https://github.com/Schrolli91/BOSWatch.git
synced 2025-12-06 07:42:03 +01:00
Add files via upload
new function to support Express-Alarm
This commit is contained in:
parent
9ffa872b74
commit
81a146b78f
65
includes/expressAlarm.py
Normal file
65
includes/expressAlarm.py
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
expressAlarm is the function to enable BOSwatch to deal with Swissfone Express-Alarm
|
||||
|
||||
@author: Fabian Kessler
|
||||
|
||||
@requires: Configuration has to be set in the config.ini
|
||||
"""
|
||||
|
||||
import logging # Global logger
|
||||
import time # timestamp for expressAlarm
|
||||
|
||||
from includes import globalVars # Global variables
|
||||
|
||||
expressList = []
|
||||
|
||||
def newEntryExpressList(eatyp, eapoc_id, eapoc_sub, eapoc_text):
|
||||
"""
|
||||
add entry to express alarm list and remove old entries
|
||||
|
||||
@return: nothing
|
||||
"""
|
||||
global expressList
|
||||
tmpexpressList = []
|
||||
timestamp = int(time.time())
|
||||
# Express-Alarm processing if enabled and delimiter RIC has been received
|
||||
if eapoc_id == globalVars.config.get("ExpressAlarm", "expressAlarm_delimiter_ric"):
|
||||
expressList = []
|
||||
logging.debug("Express-Alarm delimiter RIC received --> buffer cleared %s %s %s ", eapoc_id, eapoc_sub, eapoc_text)
|
||||
else:
|
||||
expressList.append([eatyp, eapoc_id, eapoc_sub, eapoc_text.strip(), timestamp])
|
||||
logging.debug("Added %s %s %s to expressList", eapoc_id, eapoc_sub, eapoc_text)
|
||||
# check for old entries in expressList
|
||||
for i in range(len(expressList)):
|
||||
# we have to remove entries older than timestamp - ignore time
|
||||
if int(expressList[i][4]) > timestamp-globalVars.config.getint("ExpressAlarm", "expressAlarm_ignore_time"):
|
||||
tmpexpressList.append(expressList[i])
|
||||
expressList = tmpexpressList
|
||||
|
||||
|
||||
def expressAlarmExec(typ, freq, data):
|
||||
"""
|
||||
call alarmHandler for every entry in expressList
|
||||
|
||||
@return: nothing
|
||||
"""
|
||||
logging.debug("data before update from expressList: %s", data)
|
||||
for i in range(len(expressList)):
|
||||
#update with eapoc_id (RIC)
|
||||
data['ric'] = expressList[i][1]
|
||||
#update with eapoc_sub (Sub RIC)
|
||||
data['function'] = expressList[i][2]
|
||||
# Add function as character a-d to dataset (reused from includes/poc.py)
|
||||
data["functionChar"] = data["function"].replace("1", "a").replace("2", "b").replace("3", "c").replace("4", "d")
|
||||
#update with eapoc_id (RIC)
|
||||
data['description'] = expressList[i][1]
|
||||
logging.debug("data after update from expressList: %s", data)
|
||||
try:
|
||||
from includes import alarmHandler
|
||||
alarmHandler.processAlarmHandler(typ, freq, data)
|
||||
except:
|
||||
logging.error("processing alarm failed")
|
||||
logging.debug("processing alarm failed", exc_info=True)
|
||||
Loading…
Reference in a new issue