mirror of
https://github.com/Schrolli91/BOSWatch.git
synced 2026-02-04 14:24:17 +01:00
replace the return with an else: statement after config reading
This commit is contained in:
parent
95d2d2f119
commit
6371d1cf3c
|
|
@ -114,99 +114,98 @@ def run(typ,freq,data):
|
|||
except:
|
||||
logging.error("cannot read config file")
|
||||
logging.debug("cannot read config file", exc_info=True)
|
||||
# Without config, plugin couldn't work
|
||||
return
|
||||
else: # Without config, plugin couldn't work
|
||||
|
||||
try:
|
||||
#
|
||||
# Initialize header an connect to BosMon-Server
|
||||
#
|
||||
headers = {}
|
||||
headers['Content-type'] = "application/x-www-form-urlencoded"
|
||||
headers['Accept'] = "text/plain"
|
||||
# if an user is set in the config.ini we will use HTTP-Authorization
|
||||
if globals.config.get("BosMon", "bosmon_user"):
|
||||
# generate b64encoded autorization-token for HTTP-request
|
||||
headers['Authorization'] = "Basic {0}".format(base64.b64encode("{0}:{1}".format(globals.config.get("BosMon", "bosmon_user"), globals.config.get("BosMon", "bosmon_password"))))
|
||||
logging.debug("connect to BosMon")
|
||||
# open connection to BosMon-Server
|
||||
httprequest = httplib.HTTPConnection(globals.config.get("BosMon", "bosmon_server"), globals.config.get("BosMon", "bosmon_port"), timeout=5)
|
||||
# debug-level to shell (0=no debug|1)
|
||||
httprequest.set_debuglevel(0)
|
||||
except:
|
||||
logging.error("cannot connect to BosMon")
|
||||
logging.debug("cannot connect to BosMon", exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
#
|
||||
# Format given data-structure to compatible BosMon string
|
||||
#
|
||||
if typ == "FMS":
|
||||
logging.debug("Start FMS to BosMon")
|
||||
try:
|
||||
# BosMon-Telegramin expected assembly group, direction and tsi in one field
|
||||
# structure (binary as hex in base10):
|
||||
# Byte 1: assembly group; Byte 2: Direction; Byte 3+4: tactic short info
|
||||
info = 0
|
||||
# assembly group:
|
||||
info = info + 1 # + b0001 (Assumption: is in every time 1 (no output from multimon-ng))
|
||||
# direction:
|
||||
if data["direction"] == "1":
|
||||
info = info + 2 # + b0010
|
||||
# tsi:
|
||||
if "IV" in data["tsi"]:
|
||||
info = info + 12 # + b1100
|
||||
elif "III" in data["tsi"]:
|
||||
info = info + 8 # + b1000
|
||||
elif "II" in data["tsi"]:
|
||||
info = info + 4 # + b0100
|
||||
# "I" is nothing to do + b0000
|
||||
|
||||
params = urllib.urlencode({'type':'fms', 'address':data["fms"], 'status':data["status"], 'info':info, 'flags':'0'})
|
||||
logging.debug(" - Params: %s", params)
|
||||
# dispatch the BosMon-request
|
||||
bosMonRequest(httprequest, params, headers)
|
||||
except:
|
||||
logging.error("FMS to BosMon failed")
|
||||
logging.debug("FMS to BosMon failed", exc_info=True)
|
||||
return
|
||||
|
||||
elif typ == "ZVEI":
|
||||
logging.debug("Start ZVEI to BosMon")
|
||||
try:
|
||||
params = urllib.urlencode({'type':'zvei', 'address':data["zvei"], 'flags':'0'})
|
||||
logging.debug(" - Params: %s", params)
|
||||
# dispatch the BosMon-request
|
||||
bosMonRequest(httprequest, params, headers)
|
||||
except:
|
||||
logging.error("ZVEI to BosMon failed")
|
||||
logging.debug("ZVEI to BosMon failed", exc_info=True)
|
||||
return
|
||||
|
||||
elif typ == "POC":
|
||||
logging.debug("Start POC to BosMon")
|
||||
try:
|
||||
# BosMon-Telegramin expected "a-d" as RIC-sub/function
|
||||
params = urllib.urlencode({'type':'pocsag', 'address':data["ric"], 'flags':'0', 'function':data["functionChar"], 'message':data["msg"]})
|
||||
logging.debug(" - Params: %s", params)
|
||||
# dispatch the BosMon-request
|
||||
bosMonRequest(httprequest, params, headers)
|
||||
except:
|
||||
logging.error("POC to BosMon failed")
|
||||
logging.debug("POC to BosMon failed", exc_info=True)
|
||||
return
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
finally:
|
||||
logging.debug("close BosMon-Connection")
|
||||
try:
|
||||
httprequest.close()
|
||||
try:
|
||||
#
|
||||
# Initialize header an connect to BosMon-Server
|
||||
#
|
||||
headers = {}
|
||||
headers['Content-type'] = "application/x-www-form-urlencoded"
|
||||
headers['Accept'] = "text/plain"
|
||||
# if an user is set in the config.ini we will use HTTP-Authorization
|
||||
if globals.config.get("BosMon", "bosmon_user"):
|
||||
# generate b64encoded autorization-token for HTTP-request
|
||||
headers['Authorization'] = "Basic {0}".format(base64.b64encode("{0}:{1}".format(globals.config.get("BosMon", "bosmon_user"), globals.config.get("BosMon", "bosmon_password"))))
|
||||
logging.debug("connect to BosMon")
|
||||
# open connection to BosMon-Server
|
||||
httprequest = httplib.HTTPConnection(globals.config.get("BosMon", "bosmon_server"), globals.config.get("BosMon", "bosmon_port"), timeout=5)
|
||||
# debug-level to shell (0=no debug|1)
|
||||
httprequest.set_debuglevel(0)
|
||||
except:
|
||||
pass
|
||||
logging.error("cannot connect to BosMon")
|
||||
logging.debug("cannot connect to BosMon", exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
#
|
||||
# Format given data-structure to compatible BosMon string
|
||||
#
|
||||
if typ == "FMS":
|
||||
logging.debug("Start FMS to BosMon")
|
||||
try:
|
||||
# BosMon-Telegramin expected assembly group, direction and tsi in one field
|
||||
# structure (binary as hex in base10):
|
||||
# Byte 1: assembly group; Byte 2: Direction; Byte 3+4: tactic short info
|
||||
info = 0
|
||||
# assembly group:
|
||||
info = info + 1 # + b0001 (Assumption: is in every time 1 (no output from multimon-ng))
|
||||
# direction:
|
||||
if data["direction"] == "1":
|
||||
info = info + 2 # + b0010
|
||||
# tsi:
|
||||
if "IV" in data["tsi"]:
|
||||
info = info + 12 # + b1100
|
||||
elif "III" in data["tsi"]:
|
||||
info = info + 8 # + b1000
|
||||
elif "II" in data["tsi"]:
|
||||
info = info + 4 # + b0100
|
||||
# "I" is nothing to do + b0000
|
||||
|
||||
params = urllib.urlencode({'type':'fms', 'address':data["fms"], 'status':data["status"], 'info':info, 'flags':'0'})
|
||||
logging.debug(" - Params: %s", params)
|
||||
# dispatch the BosMon-request
|
||||
bosMonRequest(httprequest, params, headers)
|
||||
except:
|
||||
logging.error("FMS to BosMon failed")
|
||||
logging.debug("FMS to BosMon failed", exc_info=True)
|
||||
return
|
||||
|
||||
elif typ == "ZVEI":
|
||||
logging.debug("Start ZVEI to BosMon")
|
||||
try:
|
||||
params = urllib.urlencode({'type':'zvei', 'address':data["zvei"], 'flags':'0'})
|
||||
logging.debug(" - Params: %s", params)
|
||||
# dispatch the BosMon-request
|
||||
bosMonRequest(httprequest, params, headers)
|
||||
except:
|
||||
logging.error("ZVEI to BosMon failed")
|
||||
logging.debug("ZVEI to BosMon failed", exc_info=True)
|
||||
return
|
||||
|
||||
elif typ == "POC":
|
||||
logging.debug("Start POC to BosMon")
|
||||
try:
|
||||
# BosMon-Telegramin expected "a-d" as RIC-sub/function
|
||||
params = urllib.urlencode({'type':'pocsag', 'address':data["ric"], 'flags':'0', 'function':data["functionChar"], 'message':data["msg"]})
|
||||
logging.debug(" - Params: %s", params)
|
||||
# dispatch the BosMon-request
|
||||
bosMonRequest(httprequest, params, headers)
|
||||
except:
|
||||
logging.error("POC to BosMon failed")
|
||||
logging.debug("POC to BosMon failed", exc_info=True)
|
||||
return
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
finally:
|
||||
logging.debug("close BosMon-Connection")
|
||||
try:
|
||||
httprequest.close()
|
||||
except:
|
||||
pass
|
||||
|
||||
except:
|
||||
# something very mysterious
|
||||
|
|
|
|||
|
|
@ -77,56 +77,52 @@ def run(typ,freq,data):
|
|||
except:
|
||||
logging.error("cannot read config file")
|
||||
logging.debug("cannot read config file", exc_info=True)
|
||||
# Without config, plugin couldn't work
|
||||
return
|
||||
else: # Without config, plugin couldn't work
|
||||
|
||||
try:
|
||||
#
|
||||
# Connect to MySQL
|
||||
#
|
||||
logging.debug("connect to MySQL")
|
||||
connection = mysql.connector.connect(host = globals.config.get("MySQL","dbserver"), user = globals.config.get("MySQL","dbuser"), passwd = globals.config.get("MySQL","dbpassword"), db = globals.config.get("MySQL","database"))
|
||||
cursor = connection.cursor()
|
||||
except:
|
||||
logging.error("cannot connect to MySQL")
|
||||
logging.debug("cannot connect to MySQL", exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
try:
|
||||
#
|
||||
# Connect to MySQL
|
||||
#
|
||||
# Create and execute SQL-statement
|
||||
#
|
||||
logging.debug("Insert %s", typ)
|
||||
|
||||
if typ == "FMS":
|
||||
#data = {"fms":fms_id[0:8], "status":fms_status, "direction":fms_direction, "tsi":fms_tsi}
|
||||
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tableFMS")+" (time,fms,status,direction,tsi) VALUES (NOW(),%s,%s,%s,%s)",(data["fms"],data["status"],data["direction"],data["tsi"]))
|
||||
|
||||
elif typ == "ZVEI":
|
||||
#data = {"zvei":zvei_id}
|
||||
#Don't use %s here (bug in mysql-lib with one parameter)
|
||||
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tableZVEI")+" (time,zvei) VALUES (NOW(),"+(data["zvei"])+")")
|
||||
|
||||
elif typ == "POC":
|
||||
#data = {"ric":poc_id, "function":poc_sub, "msg":poc_text}
|
||||
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tablePOC")+" (time,ric,funktion,text) VALUES (NOW(),%s,%s,%s)",(data["ric"],data["function"],data["msg"]))
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
logging.debug("connect to MySQL")
|
||||
connection = mysql.connector.connect(host = globals.config.get("MySQL","dbserver"), user = globals.config.get("MySQL","dbuser"), passwd = globals.config.get("MySQL","dbpassword"), db = globals.config.get("MySQL","database"))
|
||||
cursor = connection.cursor()
|
||||
except:
|
||||
logging.error("cannot Insert %s", typ)
|
||||
logging.debug("cannot Insert %s", typ, exc_info=True)
|
||||
return
|
||||
|
||||
finally:
|
||||
logging.debug("close MySQL")
|
||||
try:
|
||||
cursor.close()
|
||||
connection.close() #Close connection in every case
|
||||
except:
|
||||
pass
|
||||
logging.error("cannot connect to MySQL")
|
||||
logging.debug("cannot connect to MySQL", exc_info=True)
|
||||
else: # Without connection, plugin couldn't work
|
||||
try:
|
||||
#
|
||||
# Create and execute SQL-statement
|
||||
#
|
||||
logging.debug("Insert %s", typ)
|
||||
|
||||
if typ == "FMS":
|
||||
#data = {"fms":fms_id[0:8], "status":fms_status, "direction":fms_direction, "tsi":fms_tsi}
|
||||
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tableFMS")+" (time,fms,status,direction,tsi) VALUES (NOW(),%s,%s,%s,%s)",(data["fms"],data["status"],data["direction"],data["tsi"]))
|
||||
|
||||
elif typ == "ZVEI":
|
||||
#data = {"zvei":zvei_id}
|
||||
#Don't use %s here (bug in mysql-lib with one parameter)
|
||||
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tableZVEI")+" (time,zvei) VALUES (NOW(),"+(data["zvei"])+")")
|
||||
|
||||
elif typ == "POC":
|
||||
#data = {"ric":poc_id, "function":poc_sub, "msg":poc_text}
|
||||
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tablePOC")+" (time,ric,funktion,text) VALUES (NOW(),%s,%s,%s)",(data["ric"],data["function"],data["msg"]))
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
except:
|
||||
logging.error("cannot Insert %s", typ)
|
||||
logging.debug("cannot Insert %s", typ, exc_info=True)
|
||||
return
|
||||
|
||||
finally:
|
||||
logging.debug("close MySQL")
|
||||
try:
|
||||
cursor.close()
|
||||
connection.close() #Close connection in every case
|
||||
except:
|
||||
pass
|
||||
|
||||
except:
|
||||
logging.error("unknown error")
|
||||
|
|
|
|||
|
|
@ -118,110 +118,109 @@ def run(typ,freq,data):
|
|||
except:
|
||||
logging.error("cannot read config file")
|
||||
logging.debug("cannot read config file", exc_info=True)
|
||||
# Without config, plugin couldn't work
|
||||
return
|
||||
else: # Without config, plugin couldn't work
|
||||
|
||||
try:
|
||||
#
|
||||
# connect to SMTP-Server
|
||||
#
|
||||
server = smtplib.SMTP(globals.config.get("eMail", "smtp_server"), globals.config.get("eMail", "smtp_port"))
|
||||
# debug-level to shell (0=no debug|1)
|
||||
server.set_debuglevel(0)
|
||||
|
||||
# if tls is enabled, starttls
|
||||
if globals.config.get("eMail", "tls"):
|
||||
server.starttls()
|
||||
|
||||
# if user is given, login
|
||||
if globals.config.get("eMail", "user"):
|
||||
server.login(globals.config.get("eMail", "user"), globals.config.get("eMail", "password"))
|
||||
|
||||
except:
|
||||
logging.error("cannot connect to eMail")
|
||||
logging.debug("cannot connect to eMail", exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
|
||||
if typ == "FMS":
|
||||
logging.debug("Start FMS to eMail")
|
||||
try:
|
||||
# read subject-structure from config.ini
|
||||
subject = globals.config.get("eMail", "fms_subject")
|
||||
subject = subject.replace("%FMS%", data["fms"]).replace("%STATUS%", data["status"]) #replace Wildcards
|
||||
subject = subject.replace("%DIR%", data["direction"]).replace("%DIRT%", data["directionText"]) #replace Wildcards
|
||||
subject = subject.replace("%TSI%", data["tsi"]) #replace Wildcards
|
||||
subject = subject.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
subject = subject.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# read mailtext-structure from config.ini
|
||||
mailtext = globals.config.get("eMail", "fms_message")
|
||||
mailtext = mailtext.replace("%FMS%", data["fms"]).replace("%STATUS%", data["status"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%DIR%", data["direction"]).replace("%DIRT%", data["directionText"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%TSI%", data["tsi"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
mailtext = mailtext.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# send eMail
|
||||
doSendmail(server, subject, mailtext)
|
||||
except:
|
||||
logging.error("%s to eMail failed", typ)
|
||||
logging.debug("%s to eMail failed", typ, exc_info=True)
|
||||
return
|
||||
|
||||
elif typ == "ZVEI":
|
||||
logging.debug("Start ZVEI to eMail")
|
||||
try:
|
||||
# read subject-structure from config.ini
|
||||
subject = globals.config.get("eMail", "zvei_subject")
|
||||
subject = subject.replace("%ZVEI%", data["zvei"]) #replace Wildcards
|
||||
subject = subject.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
subject = subject.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# read mailtext-structure from config.ini
|
||||
mailtext = globals.config.get("eMail", "zvei_message")
|
||||
mailtext = mailtext.replace("%ZVEI%", data["zvei"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
mailtext = mailtext.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# send eMail
|
||||
doSendmail(server, subject, mailtext)
|
||||
except:
|
||||
logging.error("%s to eMail failed", typ)
|
||||
logging.debug("%s to eMail failed", typ, exc_info=True)
|
||||
return
|
||||
|
||||
elif typ == "POC":
|
||||
logging.debug("Start POC to eMail")
|
||||
try:
|
||||
# read subject-structure from config.ini
|
||||
subject = globals.config.get("eMail", "poc_subject")
|
||||
subject = subject.replace("%RIC%", data["ric"]) #replace Wildcards
|
||||
subject = subject.replace("%FUNC%", data["function"]).replace("%FUNCCHAR%", data["functionChar"]) #replace Wildcards
|
||||
subject = subject.replace("%MSG%", data["msg"]).replace("%BITRATE%", str(data["bitrate"])) #replace Wildcards
|
||||
subject = subject.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
subject = subject.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# read mailtext-structure from config.ini
|
||||
mailtext = globals.config.get("eMail", "poc_message")
|
||||
mailtext = mailtext.replace("%RIC%", data["ric"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%FUNC%", data["function"]).replace("%FUNCCHAR%", data["functionChar"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%MSG%", data["msg"]).replace("%BITRATE%", str(data["bitrate"])) #replace Wildcards
|
||||
mailtext = mailtext.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
mailtext = mailtext.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# send eMail
|
||||
doSendmail(server, subject, mailtext)
|
||||
except:
|
||||
logging.error("%s to eMail failed", typ)
|
||||
logging.debug("%s to eMail failed", typ, exc_info=True)
|
||||
return
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
finally:
|
||||
logging.debug("close eMail-Connection")
|
||||
try:
|
||||
server.quit()
|
||||
try:
|
||||
#
|
||||
# connect to SMTP-Server
|
||||
#
|
||||
server = smtplib.SMTP(globals.config.get("eMail", "smtp_server"), globals.config.get("eMail", "smtp_port"))
|
||||
# debug-level to shell (0=no debug|1)
|
||||
server.set_debuglevel(0)
|
||||
|
||||
# if tls is enabled, starttls
|
||||
if globals.config.get("eMail", "tls"):
|
||||
server.starttls()
|
||||
|
||||
# if user is given, login
|
||||
if globals.config.get("eMail", "user"):
|
||||
server.login(globals.config.get("eMail", "user"), globals.config.get("eMail", "password"))
|
||||
|
||||
except:
|
||||
pass
|
||||
logging.error("cannot connect to eMail")
|
||||
logging.debug("cannot connect to eMail", exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
|
||||
if typ == "FMS":
|
||||
logging.debug("Start FMS to eMail")
|
||||
try:
|
||||
# read subject-structure from config.ini
|
||||
subject = globals.config.get("eMail", "fms_subject")
|
||||
subject = subject.replace("%FMS%", data["fms"]).replace("%STATUS%", data["status"]) #replace Wildcards
|
||||
subject = subject.replace("%DIR%", data["direction"]).replace("%DIRT%", data["directionText"]) #replace Wildcards
|
||||
subject = subject.replace("%TSI%", data["tsi"]) #replace Wildcards
|
||||
subject = subject.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
subject = subject.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# read mailtext-structure from config.ini
|
||||
mailtext = globals.config.get("eMail", "fms_message")
|
||||
mailtext = mailtext.replace("%FMS%", data["fms"]).replace("%STATUS%", data["status"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%DIR%", data["direction"]).replace("%DIRT%", data["directionText"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%TSI%", data["tsi"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
mailtext = mailtext.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# send eMail
|
||||
doSendmail(server, subject, mailtext)
|
||||
except:
|
||||
logging.error("%s to eMail failed", typ)
|
||||
logging.debug("%s to eMail failed", typ, exc_info=True)
|
||||
return
|
||||
|
||||
elif typ == "ZVEI":
|
||||
logging.debug("Start ZVEI to eMail")
|
||||
try:
|
||||
# read subject-structure from config.ini
|
||||
subject = globals.config.get("eMail", "zvei_subject")
|
||||
subject = subject.replace("%ZVEI%", data["zvei"]) #replace Wildcards
|
||||
subject = subject.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
subject = subject.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# read mailtext-structure from config.ini
|
||||
mailtext = globals.config.get("eMail", "zvei_message")
|
||||
mailtext = mailtext.replace("%ZVEI%", data["zvei"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
mailtext = mailtext.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# send eMail
|
||||
doSendmail(server, subject, mailtext)
|
||||
except:
|
||||
logging.error("%s to eMail failed", typ)
|
||||
logging.debug("%s to eMail failed", typ, exc_info=True)
|
||||
return
|
||||
|
||||
elif typ == "POC":
|
||||
logging.debug("Start POC to eMail")
|
||||
try:
|
||||
# read subject-structure from config.ini
|
||||
subject = globals.config.get("eMail", "poc_subject")
|
||||
subject = subject.replace("%RIC%", data["ric"]) #replace Wildcards
|
||||
subject = subject.replace("%FUNC%", data["function"]).replace("%FUNCCHAR%", data["functionChar"]) #replace Wildcards
|
||||
subject = subject.replace("%MSG%", data["msg"]).replace("%BITRATE%", str(data["bitrate"])) #replace Wildcards
|
||||
subject = subject.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
subject = subject.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# read mailtext-structure from config.ini
|
||||
mailtext = globals.config.get("eMail", "poc_message")
|
||||
mailtext = mailtext.replace("%RIC%", data["ric"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%FUNC%", data["function"]).replace("%FUNCCHAR%", data["functionChar"]) #replace Wildcards
|
||||
mailtext = mailtext.replace("%MSG%", data["msg"]).replace("%BITRATE%", str(data["bitrate"])) #replace Wildcards
|
||||
mailtext = mailtext.replace("%DESCR%", data["description"]) # replace Wildcards
|
||||
mailtext = mailtext.replace("%TIME%", curtime()) # replace Wildcards
|
||||
# send eMail
|
||||
doSendmail(server, subject, mailtext)
|
||||
except:
|
||||
logging.error("%s to eMail failed", typ)
|
||||
logging.debug("%s to eMail failed", typ, exc_info=True)
|
||||
return
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
finally:
|
||||
logging.debug("close eMail-Connection")
|
||||
try:
|
||||
server.quit()
|
||||
except:
|
||||
pass
|
||||
|
||||
except:
|
||||
# something very mysterious
|
||||
|
|
|
|||
|
|
@ -71,59 +71,58 @@ def run(typ,freq,data):
|
|||
except:
|
||||
logging.error("cannot read config file")
|
||||
logging.debug("cannot read config file", exc_info=True)
|
||||
# Without config, plugin couldn't work
|
||||
return
|
||||
else: # Without config, plugin couldn't work
|
||||
|
||||
try:
|
||||
#
|
||||
# connect to firEmergency
|
||||
#
|
||||
firSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
firSocket.connect((globals.config.get("firEmergency", "firserver"), globals.config.getint("firEmergency", "firport")))
|
||||
except:
|
||||
logging.error("cannot connect to firEmergency")
|
||||
logging.debug("cannot connect to firEmergency", exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
#
|
||||
# Format given data-structure to xml-string for firEmergency
|
||||
#
|
||||
if typ == "FMS":
|
||||
logging.debug("FMS not supported by firEmgency")
|
||||
|
||||
elif typ == "ZVEI":
|
||||
logging.debug("ZVEI to firEmergency")
|
||||
try:
|
||||
firXML = "<event>\n<address>"+data["zvei"]+"</address>\n<message>"+data["zvei"]+" alarmiert.</message>\n</event>\n"
|
||||
firSocket.send(firXML)
|
||||
except:
|
||||
logging.error("%s to firEmergency failed", typ)
|
||||
logging.debug("%s to firEmergency failed", typ, exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
elif typ == "POC":
|
||||
logging.debug("POC to firEmergency")
|
||||
try:
|
||||
firXML = "<event>\n<address>"+data["ric"]+"</address>\n<message>"+data["msg"]+"</message>\n</event>\n"
|
||||
firSocket.send(firXML)
|
||||
except:
|
||||
logging.error("%s to firEmergency failed", typ)
|
||||
logging.debug("%s to firEmergency failed", typ, exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
finally:
|
||||
logging.debug("close firEmergency-Connection")
|
||||
try:
|
||||
firSocket.close()
|
||||
try:
|
||||
#
|
||||
# connect to firEmergency
|
||||
#
|
||||
firSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
firSocket.connect((globals.config.get("firEmergency", "firserver"), globals.config.getint("firEmergency", "firport")))
|
||||
except:
|
||||
pass
|
||||
logging.error("cannot connect to firEmergency")
|
||||
logging.debug("cannot connect to firEmergency", exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
#
|
||||
# Format given data-structure to xml-string for firEmergency
|
||||
#
|
||||
if typ == "FMS":
|
||||
logging.debug("FMS not supported by firEmgency")
|
||||
|
||||
elif typ == "ZVEI":
|
||||
logging.debug("ZVEI to firEmergency")
|
||||
try:
|
||||
firXML = "<event>\n<address>"+data["zvei"]+"</address>\n<message>"+data["zvei"]+" alarmiert.</message>\n</event>\n"
|
||||
firSocket.send(firXML)
|
||||
except:
|
||||
logging.error("%s to firEmergency failed", typ)
|
||||
logging.debug("%s to firEmergency failed", typ, exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
elif typ == "POC":
|
||||
logging.debug("POC to firEmergency")
|
||||
try:
|
||||
firXML = "<event>\n<address>"+data["ric"]+"</address>\n<message>"+data["msg"]+"</message>\n</event>\n"
|
||||
firSocket.send(firXML)
|
||||
except:
|
||||
logging.error("%s to firEmergency failed", typ)
|
||||
logging.debug("%s to firEmergency failed", typ, exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
finally:
|
||||
logging.debug("close firEmergency-Connection")
|
||||
try:
|
||||
firSocket.close()
|
||||
except:
|
||||
pass
|
||||
|
||||
except:
|
||||
logging.error("unknown error")
|
||||
|
|
|
|||
|
|
@ -70,62 +70,61 @@ def run(typ,freq,data):
|
|||
except:
|
||||
logging.error("cannot read config file")
|
||||
logging.debug("cannot read config file", exc_info=True)
|
||||
# Without config, plugin couldn't work
|
||||
return
|
||||
|
||||
try:
|
||||
#
|
||||
# Create URL
|
||||
#
|
||||
logging.debug("send %s HTTP request", typ)
|
||||
else: # Without config, plugin couldn't work
|
||||
|
||||
if typ == "FMS":
|
||||
url = globals.config.get("httpRequest", "fms_url") #Get URL
|
||||
url = url.replace("%FMS%", data["fms"]).replace("%STATUS%", data["status"]) #replace Wildcards in URL
|
||||
url = url.replace("%DIR%", data["direction"]).replace("%TSI%", data["tsi"]) #replace Wildcards in URL
|
||||
elif typ == "ZVEI":
|
||||
url = globals.config.get("httpRequest", "zvei_url") #Get URL
|
||||
url = url.replace("%ZVEI%", data["zvei"]) #replace Wildcards in URL
|
||||
elif typ == "POC":
|
||||
url = globals.config.get("httpRequest", "poc_url") #Get URL
|
||||
url = url.replace("%RIC%", data["ric"]).replace("%FUNC%", data["function"]) #replace Wildcards in URL
|
||||
url = url.replace("%MSG%", data["msg"]).replace("%BITRATE%", data["bitrate"]) #replace Wildcards in URL
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
#
|
||||
# HTTP-Request
|
||||
#
|
||||
url = urlparse(url) #split URL into path and querry
|
||||
httprequest = httplib.HTTPConnection(url[2]) #connect to URL Path
|
||||
httprequest.request("GET", url[5]) #send URL Querry per GET
|
||||
|
||||
except:
|
||||
logging.error("cannot send HTTP request")
|
||||
logging.debug("cannot send HTTP request", exc_info=True)
|
||||
return
|
||||
|
||||
else:
|
||||
try:
|
||||
#
|
||||
# check HTTP-Response
|
||||
#
|
||||
httpresponse = httprequest.getresponse()
|
||||
if str(httpresponse.status) == "200": #Check HTTP Response an print a Log or Error
|
||||
logging.debug("HTTP response: %s - %s" , str(httpresponse.status), str(httpresponse.reason))
|
||||
# Create URL
|
||||
#
|
||||
logging.debug("send %s HTTP request", typ)
|
||||
|
||||
if typ == "FMS":
|
||||
url = globals.config.get("httpRequest", "fms_url") #Get URL
|
||||
url = url.replace("%FMS%", data["fms"]).replace("%STATUS%", data["status"]) #replace Wildcards in URL
|
||||
url = url.replace("%DIR%", data["direction"]).replace("%TSI%", data["tsi"]) #replace Wildcards in URL
|
||||
elif typ == "ZVEI":
|
||||
url = globals.config.get("httpRequest", "zvei_url") #Get URL
|
||||
url = url.replace("%ZVEI%", data["zvei"]) #replace Wildcards in URL
|
||||
elif typ == "POC":
|
||||
url = globals.config.get("httpRequest", "poc_url") #Get URL
|
||||
url = url.replace("%RIC%", data["ric"]).replace("%FUNC%", data["function"]) #replace Wildcards in URL
|
||||
url = url.replace("%MSG%", data["msg"]).replace("%BITRATE%", data["bitrate"]) #replace Wildcards in URL
|
||||
else:
|
||||
logging.warning("HTTP response: %s - %s" , str(httpresponse.status), str(httpresponse.reason))
|
||||
except: #otherwise
|
||||
logging.error("cannot get HTTP response")
|
||||
logging.debug("cannot get HTTP response", exc_info=True)
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
#
|
||||
# HTTP-Request
|
||||
#
|
||||
url = urlparse(url) #split URL into path and querry
|
||||
httprequest = httplib.HTTPConnection(url[2]) #connect to URL Path
|
||||
httprequest.request("GET", url[5]) #send URL Querry per GET
|
||||
|
||||
except:
|
||||
logging.error("cannot send HTTP request")
|
||||
logging.debug("cannot send HTTP request", exc_info=True)
|
||||
return
|
||||
|
||||
finally:
|
||||
logging.debug("close HTTP-Connection")
|
||||
try:
|
||||
httprequest.close()
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
#
|
||||
# check HTTP-Response
|
||||
#
|
||||
httpresponse = httprequest.getresponse()
|
||||
if str(httpresponse.status) == "200": #Check HTTP Response an print a Log or Error
|
||||
logging.debug("HTTP response: %s - %s" , str(httpresponse.status), str(httpresponse.reason))
|
||||
else:
|
||||
logging.warning("HTTP response: %s - %s" , str(httpresponse.status), str(httpresponse.reason))
|
||||
except: #otherwise
|
||||
logging.error("cannot get HTTP response")
|
||||
logging.debug("cannot get HTTP response", exc_info=True)
|
||||
return
|
||||
|
||||
finally:
|
||||
logging.debug("close HTTP-Connection")
|
||||
try:
|
||||
httprequest.close()
|
||||
except:
|
||||
pass
|
||||
|
||||
except:
|
||||
logging.error("unknown error")
|
||||
|
|
|
|||
|
|
@ -74,51 +74,50 @@ def run(typ,freq,data):
|
|||
except:
|
||||
logging.error("cannot read config file")
|
||||
logging.debug("cannot read config file", exc_info=True)
|
||||
# Without config, plugin couldn't work
|
||||
return
|
||||
else: # Without config, plugin couldn't work
|
||||
|
||||
try:
|
||||
#
|
||||
# initialize to socket-Server
|
||||
#
|
||||
# SOCK_DGRAM is the socket type to use for UDP sockets
|
||||
# SOCK_STREAM is the socket type to use for TCP sockets
|
||||
if globals.config.get("jsonSocket", "protocol") == "TCP":
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.connect((globals.config.get("jsonSocket", "server"), globals.config.getint("jsonSocket", "port")))
|
||||
else:
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
|
||||
except:
|
||||
logging.error("cannot initialize %s-socket", globals.config.get("jsonSocket", "protocol"))
|
||||
logging.debug("cannot initialize %s-socket", globals.config.get("jsonSocket", "protocol"), exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
# toDo is equals for all types, so only check if typ is supported
|
||||
supportedTypes = ["FMS", "ZVEI", "POC"]
|
||||
if typ in supportedTypes:
|
||||
logging.debug("Start %s to %s", typ, globals.config.get("jsonSocket", "protocol"))
|
||||
try:
|
||||
# dump data to json-string
|
||||
sendData = json.dumps(data)
|
||||
# send data
|
||||
sock.sendto(sendData, (globals.config.get("jsonSocket", "server"), globals.config.getint("jsonSocket", "port")))
|
||||
except:
|
||||
logging.error("%s to %s failed", typ, globals.config.get("jsonSocket", "protocol"))
|
||||
logging.debug("%s to %s failed", typ, globals.config.get("jsonSocket", "protocol"), exc_info=True)
|
||||
return
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
finally:
|
||||
logging.debug("close %s-Connection", globals.config.get("jsonSocket", "protocol"))
|
||||
try:
|
||||
sock.close()
|
||||
try:
|
||||
#
|
||||
# initialize to socket-Server
|
||||
#
|
||||
# SOCK_DGRAM is the socket type to use for UDP sockets
|
||||
# SOCK_STREAM is the socket type to use for TCP sockets
|
||||
if globals.config.get("jsonSocket", "protocol") == "TCP":
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.connect((globals.config.get("jsonSocket", "server"), globals.config.getint("jsonSocket", "port")))
|
||||
else:
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
|
||||
except:
|
||||
pass
|
||||
logging.error("cannot initialize %s-socket", globals.config.get("jsonSocket", "protocol"))
|
||||
logging.debug("cannot initialize %s-socket", globals.config.get("jsonSocket", "protocol"), exc_info=True)
|
||||
# Without connection, plugin couldn't work
|
||||
return
|
||||
|
||||
else:
|
||||
# toDo is equals for all types, so only check if typ is supported
|
||||
supportedTypes = ["FMS", "ZVEI", "POC"]
|
||||
if typ in supportedTypes:
|
||||
logging.debug("Start %s to %s", typ, globals.config.get("jsonSocket", "protocol"))
|
||||
try:
|
||||
# dump data to json-string
|
||||
sendData = json.dumps(data)
|
||||
# send data
|
||||
sock.sendto(sendData, (globals.config.get("jsonSocket", "server"), globals.config.getint("jsonSocket", "port")))
|
||||
except:
|
||||
logging.error("%s to %s failed", typ, globals.config.get("jsonSocket", "protocol"))
|
||||
logging.debug("%s to %s failed", typ, globals.config.get("jsonSocket", "protocol"), exc_info=True)
|
||||
return
|
||||
|
||||
else:
|
||||
logging.warning("Invalid Typ: %s", typ)
|
||||
|
||||
finally:
|
||||
logging.debug("close %s-Connection", globals.config.get("jsonSocket", "protocol"))
|
||||
try:
|
||||
sock.close()
|
||||
except:
|
||||
pass
|
||||
|
||||
except:
|
||||
# something very mysterious
|
||||
|
|
|
|||
Loading…
Reference in a new issue