rename globals. call to globalVars.

This commit is contained in:
Bastian Schroll 2016-10-03 12:02:18 +02:00
parent f8fcda94b6
commit e938cdcd6d
27 changed files with 300 additions and 300 deletions

View file

@ -76,21 +76,21 @@ try:
#
# Script-pathes
#
globals.script_path = os.path.dirname(os.path.abspath(__file__))
globalVars.script_path = os.path.dirname(os.path.abspath(__file__))
#
# Set log_path
#
if args.usevarlog:
globals.log_path = "/var/log/BOSWatch/"
globalVars.log_path = "/var/log/BOSWatch/"
else:
globals.log_path = globals.script_path+"/log/"
globalVars.log_path = globalVars.script_path+"/log/"
#
# If necessary create log-path
#
if not os.path.exists(globals.log_path):
os.mkdir(globals.log_path)
if not os.path.exists(globalVars.log_path):
os.mkdir(globalVars.log_path)
except:
# we couldn't work without logging -> exit
print "ERROR: cannot initialize paths"
@ -106,7 +106,7 @@ try:
#formatter = logging.Formatter('%(asctime)s - %(module)-15s %(funcName)-15s [%(levelname)-8s] %(message)s', '%d.%m.%Y %H:%M:%S')
formatter = logging.Formatter('%(asctime)s - %(module)-15s [%(levelname)-8s] %(message)s', '%d.%m.%Y %H:%M:%S')
# create a file logger
fh = MyTimedRotatingFileHandler.MyTimedRotatingFileHandler(globals.log_path+"boswatch.log", "midnight", interval=1, backupCount=999)
fh = MyTimedRotatingFileHandler.MyTimedRotatingFileHandler(globalVars.log_path+"boswatch.log", "midnight", interval=1, backupCount=999)
# Starts with log level >= Debug
# will be changed with config.ini-param later
fh.setLevel(logging.DEBUG)
@ -135,9 +135,9 @@ try:
# Clear the logfiles
#
fh.doRollover()
rtl_log = open(globals.log_path+"rtl_fm.log", "w")
mon_log = open(globals.log_path+"multimon.log", "w")
rawMmOut = open(globals.log_path+"mm_raw.txt", "w")
rtl_log = open(globalVars.log_path+"rtl_fm.log", "w")
mon_log = open(globalVars.log_path+"multimon.log", "w")
rawMmOut = open(globalVars.log_path+"mm_raw.txt", "w")
rtl_log.write("")
mon_log.write("")
rawMmOut.write("")
@ -157,8 +157,8 @@ try:
# For debug display/log args
#
try:
logging.debug("SW Version: %s",globals.versionNr)
logging.debug("Build Date: %s",globals.buildDate)
logging.debug("SW Version: %s",globalVars.versionNr)
logging.debug("Build Date: %s",globalVars.buildDate)
logging.debug("BOSWatch given arguments")
if args.test:
logging.debug(" - Test-Mode!")
@ -208,10 +208,10 @@ try:
#
try:
logging.debug("reading config file")
globals.config = ConfigParser.ConfigParser()
globals.config.read(globals.script_path+"/config/config.ini")
globalVars.config = ConfigParser.ConfigParser()
globalVars.config.read(globalVars.script_path+"/config/config.ini")
# if given loglevel is debug:
if globals.config.getint("BOSWatch","loglevel") == 10:
if globalVars.config.getint("BOSWatch","loglevel") == 10:
configHandler.checkConfig("BOSWatch")
configHandler.checkConfig("FMS")
configHandler.checkConfig("ZVEI")
@ -227,10 +227,10 @@ try:
# Set the loglevel and backupCount of the file handler
#
try:
logging.debug("set loglevel of fileHandler to: %s",globals.config.getint("BOSWatch","loglevel"))
fh.setLevel(globals.config.getint("BOSWatch","loglevel"))
logging.debug("set backupCount of fileHandler to: %s", globals.config.getint("BOSWatch","backupCount"))
fh.setBackupCount(globals.config.getint("BOSWatch","backupCount"))
logging.debug("set loglevel of fileHandler to: %s",globalVars.config.getint("BOSWatch","loglevel"))
fh.setLevel(globalVars.config.getint("BOSWatch","loglevel"))
logging.debug("set backupCount of fileHandler to: %s", globalVars.config.getint("BOSWatch","backupCount"))
fh.setBackupCount(globalVars.config.getint("BOSWatch","backupCount"))
except:
# It's an error, but we could work without that stuff...
logging.error("cannot set loglevel of fileHandler")
@ -244,16 +244,16 @@ try:
try:
if configHandler.checkConfig("NMAHandler"):
# is NMAHandler enabled?
if globals.config.getboolean("NMAHandler", "enableHandler") == True:
if globalVars.config.getboolean("NMAHandler", "enableHandler") == True:
# we only could do something, if an APIKey is given:
if len(globals.config.get("NMAHandler","APIKey")) > 0:
if len(globalVars.config.get("NMAHandler","APIKey")) > 0:
logging.debug("add NMA logging handler")
from includes import NMAHandler
if globals.config.get("NMAHandler","appName") == "":
nmaHandler = NMAHandler.NMAHandler(globals.config.get("NMAHandler","APIKey"))
if globalVars.config.get("NMAHandler","appName") == "":
nmaHandler = NMAHandler.NMAHandler(globalVars.config.get("NMAHandler","APIKey"))
else:
nmaHandler = NMAHandler.NMAHandler(globals.config.get("NMAHandler","APIKey"), globals.config.get("NMAHandler","appName"))
nmaHandler.setLevel(globals.config.getint("NMAHandler","loglevel"))
nmaHandler = NMAHandler.NMAHandler(globalVars.config.get("NMAHandler","APIKey"), globalVars.config.get("NMAHandler","appName"))
nmaHandler.setLevel(globalVars.config.getint("NMAHandler","loglevel"))
myLogger.addHandler(nmaHandler)
except:
# It's an error, but we could work without that stuff...
@ -280,7 +280,7 @@ try:
# Load filters
#
try:
if globals.config.getboolean("BOSWatch","useRegExFilter"):
if globalVars.config.getboolean("BOSWatch","useRegExFilter"):
from includes import regexFilter
regexFilter.loadFilters()
except:
@ -293,7 +293,7 @@ try:
# Load description lists
#
try:
if globals.config.getboolean("FMS","idDescribed") or globals.config.getboolean("ZVEI","idDescribed") or globals.config.getboolean("POC","idDescribed"):
if globalVars.config.getboolean("FMS","idDescribed") or globalVars.config.getboolean("ZVEI","idDescribed") or globalVars.config.getboolean("POC","idDescribed"):
from includes import descriptionList
descriptionList.loadDescriptionLists()
except:
@ -309,13 +309,13 @@ try:
if not args.test:
logging.debug("starting rtl_fm")
command = ""
if globals.config.has_option("BOSWatch","rtl_path"):
command = globals.config.get("BOSWatch","rtl_path")
if globalVars.config.has_option("BOSWatch","rtl_path"):
command = globalVars.config.get("BOSWatch","rtl_path")
command = command+"rtl_fm -d "+str(args.device)+" -f "+str(freqConverter.freqToHz(args.freq))+" -M fm -p "+str(args.error)+" -E DC -F 0 -l "+str(args.squelch)+" -g "+str(args.gain)+" -s 22050"
rtl_fm = subprocess.Popen(command.split(),
#stdin=rtl_fm.stdout,
stdout=subprocess.PIPE,
stderr=open(globals.log_path+"rtl_fm.log","a"),
stderr=open(globalVars.log_path+"rtl_fm.log","a"),
shell=False)
# rtl_fm doesn't self-destruct, when an error occurs
# wait a moment to give the subprocess a chance to write the logfile
@ -336,13 +336,13 @@ try:
if not args.test:
logging.debug("starting multimon-ng")
command = ""
if globals.config.has_option("BOSWatch","multimon_path"):
command = globals.config.get("BOSWatch","multimon_path")
if globalVars.config.has_option("BOSWatch","multimon_path"):
command = globalVars.config.get("BOSWatch","multimon_path")
command = command+"multimon-ng "+str(demodulation)+" -f alpha -t raw /dev/stdin - "
multimon_ng = subprocess.Popen(command.split(),
stdin=rtl_fm.stdout,
stdout=subprocess.PIPE,
stderr=open(globals.log_path+"multimon.log","a"),
stderr=open(globalVars.log_path+"multimon.log","a"),
shell=False)
# multimon-ng doesn't self-destruct, when an error occurs
# wait a moment to give the subprocess a chance to write the logfile
@ -367,9 +367,9 @@ try:
decoder.decode(freqConverter.freqToHz(args.freq), decoded)
# write multimon-ng raw data
if globals.config.getboolean("BOSWatch","writeMultimonRaw"):
if globalVars.config.getboolean("BOSWatch","writeMultimonRaw"):
try:
rawMmOut = open(globals.log_path+"mm_raw.txt", "a")
rawMmOut = open(globalVars.log_path+"mm_raw.txt", "a")
rawMmOut.write(decoded)
except:
logging.warning("cannot write raw multimon data")
@ -377,7 +377,7 @@ try:
rawMmOut.close()
else:
logging.debug("start testing")
testFile = open(globals.script_path+"/testdata/testdata.txt","r")
testFile = open(globalVars.script_path+"/testdata/testdata.txt","r")
for testData in testFile:
if (len(testData.rstrip(' \t\n\r')) > 1) and ("#" not in testData[0]):
logging.info("Testdata: %s", testData.rstrip(' \t\n\r'))
@ -417,7 +417,7 @@ finally:
# Close Logging
logging.debug("close Logging")
# Waiting for all Threads to write there logs
if globals.config.getboolean("BOSWatch","processAlarmAsync") == True:
if globalVars.config.getboolean("BOSWatch","processAlarmAsync") == True:
logging.debug("waiting 3s for threads...")
time.sleep(3)
logging.info("BOSWatch exit()")

View file

@ -79,14 +79,14 @@ try:
#
try:
logging.debug("reading config file")
globals.config = ConfigParser.SafeConfigParser()
globals.config.read("config.ini")
globalData.config = ConfigParser.SafeConfigParser()
globalData.config.read("config.ini")
# if given loglevel is debug:
logging.debug("- [AlarmMonitor]")
for key,val in globals.config.items("AlarmMonitor"):
for key,val in globalData.config.items("AlarmMonitor"):
logging.debug("-- %s = %s", key, val)
logging.debug("- [Display]")
for key,val in globals.config.items("Display"):
for key,val in globalData.config.items("Display"):
logging.debug("-- %s = %s", key, val)
except:
# we couldn't work without config -> exit
@ -106,7 +106,7 @@ try:
#
try:
from displayServices import displayPainter, autoTurnOffDisplay, eventHandler
globals.screenBackground = pygame.Color(globals.config.get("AlarmMonitor","colourGreen"))
globalData.screenBackground = pygame.Color(globalData.config.get("AlarmMonitor","colourGreen"))
logging.debug("Start displayPainter-thread")
Thread(target=displayPainter).start()
logging.debug("start autoTurnOffDisplay-thread")
@ -124,7 +124,7 @@ try:
#
logging.debug("Start socketServer")
sock = socket.socket () # TCP
sock.bind(("",globals.config.getint("AlarmMonitor","socketPort")))
sock.bind(("",globalData.config.getint("AlarmMonitor","socketPort")))
sock.listen(5)
logging.debug("socketServer runs")
@ -132,45 +132,45 @@ try:
# Build Lists out of config-entries
#
logging.debug("create lists")
keepAliveRICs = [int(x.strip()) for x in globals.config.get("AlarmMonitor","keepAliveRICs").replace(";", ",").split(",")]
keepAliveRICs = [int(x.strip()) for x in globalData.config.get("AlarmMonitor","keepAliveRICs").replace(";", ",").split(",")]
logging.debug("-- keepAliveRICs: %s", keepAliveRICs)
alarmRICs = [int(x.strip()) for x in globals.config.get("AlarmMonitor","alarmRICs").replace(";", ",").split(",")]
alarmRICs = [int(x.strip()) for x in globalData.config.get("AlarmMonitor","alarmRICs").replace(";", ",").split(",")]
logging.debug("-- alarmRICs: %s", alarmRICs)
functionCharTestAlarm = [str(x.strip()) for x in globals.config.get("AlarmMonitor","functionCharTestAlarm").replace(";", ",").split(",")]
functionCharTestAlarm = [str(x.strip()) for x in globalData.config.get("AlarmMonitor","functionCharTestAlarm").replace(";", ",").split(",")]
logging.debug("-- functionCharTestAlarm: %s", functionCharTestAlarm)
functionCharAlarm = [str(x.strip()) for x in globals.config.get("AlarmMonitor","functionCharAlarm").replace(";", ",").split(",")]
functionCharAlarm = [str(x.strip()) for x in globalData.config.get("AlarmMonitor","functionCharAlarm").replace(";", ",").split(",")]
logging.debug("-- functionCharAlarm: %s", functionCharAlarm)
#
# try to read History from MySQL-DB
#
try:
if globals.config.getboolean("AlarmMonitor","loadHistory") == True:
if globalData.config.getboolean("AlarmMonitor","loadHistory") == True:
import mysql.connector
for key,val in globals.config.items("MySQL"):
for key,val in globalData.config.items("MySQL"):
logging.debug("-- %s = %s", key, val)
# Connect to DB
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"), charset='utf8')
connection = mysql.connector.connect(host = globalData.config.get("MySQL","dbserver"), user = globalData.config.get("MySQL","dbuser"), passwd = globalData.config.get("MySQL","dbpassword"), db = globalData.config.get("MySQL","database"), charset='utf8')
cursor = connection.cursor()
logging.debug("MySQL connected")
# read countKeepAlive
# precondition: keepAliveRICs set
if (len(keepAliveRICs) > 0):
sql = "SELECT COUNT(*) FROM "+globals.config.get("MySQL","tablePOC")+" WHERE ric IN ("+globals.config.get("AlarmMonitor","keepAliveRICs")+")"
sql = "SELECT COUNT(*) FROM "+globalData.config.get("MySQL","tablePOC")+" WHERE ric IN ("+globalData.config.get("AlarmMonitor","keepAliveRICs")+")"
cursor.execute(sql)
result = int(cursor.fetchone()[0])
if result > 0:
globals.countKeepAlive = result
logging.debug("-- countKeepAlive: %s", globals.countKeepAlive)
globalData.countKeepAlive = result
logging.debug("-- countKeepAlive: %s", globalData.countKeepAlive)
# read countAlarm
# precondition: alarmRics and functionChar set
if (len(alarmRICs) > 0) and (len(functionCharAlarm) > 0):
sql = "SELECT COUNT(*) FROM "+globals.config.get("MySQL","tablePOC")+" WHERE ric IN ("+globals.config.get("AlarmMonitor","alarmRICs")+")"
sql = "SELECT COUNT(*) FROM "+globalData.config.get("MySQL","tablePOC")+" WHERE ric IN ("+globalData.config.get("AlarmMonitor","alarmRICs")+")"
if len(functionCharAlarm) == 1:
sql += " AND functionChar IN ('" + functionCharAlarm[0] + "')"
elif len(functionCharAlarm) > 1:
@ -178,13 +178,13 @@ try:
cursor.execute(sql)
result = int(cursor.fetchone()[0])
if result > 0:
globals.countAlarm = result
logging.debug("-- countAlarm: %s", globals.countAlarm)
globalData.countAlarm = result
logging.debug("-- countAlarm: %s", globalData.countAlarm)
# read countTestAlarm
# precondition: alarmRics and functionCharTestAlarm set
if (len(alarmRICs) > 0) and (len(functionCharTestAlarm) > 0):
sql = "SELECT COUNT(*) FROM "+globals.config.get("MySQL","tablePOC")+" WHERE ric IN ("+globals.config.get("AlarmMonitor","alarmRICs")+")"
sql = "SELECT COUNT(*) FROM "+globalData.config.get("MySQL","tablePOC")+" WHERE ric IN ("+globalData.config.get("AlarmMonitor","alarmRICs")+")"
if len(functionCharTestAlarm) == 1:
sql += " AND functionChar IN ('" + functionCharTestAlarm[0] + "')"
elif len(functionCharTestAlarm) > 1:
@ -192,14 +192,14 @@ try:
cursor.execute(sql)
result = int(cursor.fetchone()[0])
if result > 0:
globals.countTestAlarm = result
logging.debug("-- countTestAlarm: %s", globals.countTestAlarm)
globalData.countTestAlarm = result
logging.debug("-- countTestAlarm: %s", globalData.countTestAlarm)
# read the last 5 events in reverse order
# precondition: alarmRics and (functionChar or functionCharTestAlarm) set
if (len(alarmRICs) > 0) and ((len(functionCharAlarm) > 0) or (len(functionCharTestAlarm) > 0)):
sql = "SELECT UNIX_TIMESTAMP(time), ric, functionChar, msg, description FROM "+globals.config.get("MySQL","tablePOC")
sql += " WHERE ric IN ("+globals.config.get("AlarmMonitor","alarmRICs")+")"
sql = "SELECT UNIX_TIMESTAMP(time), ric, functionChar, msg, description FROM "+globalData.config.get("MySQL","tablePOC")
sql += " WHERE ric IN ("+globalData.config.get("AlarmMonitor","alarmRICs")+")"
functionChar = functionCharAlarm + functionCharTestAlarm
if len(functionChar) == 1:
sql += " AND functionChar IN ('" + functionChar[0] + "')"
@ -215,8 +215,8 @@ try:
data['functionChar'] = functionChar
data['msg'] = msg
data['description'] = description
globals.alarmHistory.append(data)
logging.debug("-- history data loaded: %s", len(globals.alarmHistory))
globalData.alarmHistory.append(data)
logging.debug("-- history data loaded: %s", len(globalData.alarmHistory))
logging.info("history loaded from database")
# if db is enabled
@ -239,10 +239,10 @@ try:
#
alarmSound = False
try:
if globals.config.getboolean("AlarmMonitor","playSound") == True:
if not globals.config.get("AlarmMonitor","soundFile") == "":
if globalData.config.getboolean("AlarmMonitor","playSound") == True:
if not globalData.config.get("AlarmMonitor","soundFile") == "":
pygame.mixer.init()
alarmSound = pygame.mixer.Sound(globals.config.get("AlarmMonitor","soundFile"))
alarmSound = pygame.mixer.Sound(globalData.config.get("AlarmMonitor","soundFile"))
logging.info("alarm with sound")
except:
# error, but we could work without sound
@ -250,14 +250,14 @@ try:
logging.debug("cannot initialise alarm sound", exc_info=True)
pass
globals.startTime = int(time.time())
globalData.startTime = int(time.time())
logging.info("alarmMonitor started - on standby")
#
# Main Program
# (Threads will set abort to True if an error occurs)
#
while globals.abort == False:
while globalData.abort == False:
# accept connections from outside
(clientsocket, address) = sock.accept()
logging.debug("connected client: %s", address)
@ -284,35 +284,35 @@ try:
# keep alive calculation with additional RICs
if int(parsed_json['ric']) in keepAliveRICs:
logging.info("POCSAG is alive")
globals.lastAlarm = curtime
globals.countKeepAlive += 1
globalData.lastAlarm = curtime
globalData.countKeepAlive += 1
# (test) alarm processing
elif int(parsed_json['ric']) in alarmRICs:
if parsed_json['functionChar'] in functionCharTestAlarm:
logging.info("--> Probealarm: %s", parsed_json['ric'])
globals.screenBackground = pygame.Color(globals.config.get("AlarmMonitor","colourYellow"))
globals.countTestAlarm += 1
globalData.screenBackground = pygame.Color(globalData.config.get("AlarmMonitor","colourYellow"))
globalData.countTestAlarm += 1
elif parsed_json['functionChar'] in functionCharAlarm:
logging.info("--> Alarm: %s", parsed_json['ric'])
globals.screenBackground = pygame.Color(globals.config.get("AlarmMonitor","colourRed"))
globals.countAlarm += 1
globalData.screenBackground = pygame.Color(globalData.config.get("AlarmMonitor","colourRed"))
globalData.countAlarm += 1
# forward data to alarmMonitor
globals.data = parsed_json
globals.data['timestamp'] = curtime
globalData.data = parsed_json
globalData.data['timestamp'] = curtime
logging.debug("-- data: %s", parsed_json)
# save 5 alarm history entries
globals.alarmHistory.append(globals.data)
if len(globals.alarmHistory) > 5:
globals.alarmHistory.pop(0)
globalData.alarmHistory.append(globalData.data)
if len(globalData.alarmHistory) > 5:
globalData.alarmHistory.pop(0)
# update lastAlarm for keep alive calculation
globals.lastAlarm = curtime
globalData.lastAlarm = curtime
# enable display for n seconds:
globals.enableDisplayUntil = curtime + globals.config.getint("AlarmMonitor","showAlarmTime")
globalData.enableDisplayUntil = curtime + globalData.config.getint("AlarmMonitor","showAlarmTime")
# tell alarm-thread to turn on the display
globals.navigation = "alarmPage"
globals.showDisplay = True;
globalData.navigation = "alarmPage"
globalData.showDisplay = True;
# play alarmSound...
if not alarmSound == False:
@ -337,7 +337,7 @@ except:
finally:
try:
logging.info("socketServer shuting down")
globals.running = False
globalData.running = False
sock.close()
logging.debug("socket closed")
if not alarmSound == False:

View file

@ -16,11 +16,11 @@ def autoTurnOffDisplay():
"""
Asynchronous function to turn of the display backlight
@requires: globals.showDisplay - status of backlight
@requires: globals.enableDisplayUntil - given timestamp to turn off backlight
@requires: globals.running - service runs as long as this is True
@requires: globalData.showDisplay - status of backlight
@requires: globalData.enableDisplayUntil - given timestamp to turn off backlight
@requires: globalData.running - service runs as long as this is True
In case of an exception the function set globals.abort to True.
In case of an exception the function set globalData.abort to True.
This will terminate the main program.
@return: nothing
@ -37,11 +37,11 @@ def autoTurnOffDisplay():
try:
# Running will be set to False if main program is shutting down
while globals.running == True:
while globalData.running == True:
# check if timestamp is in the past
if (globals.showDisplay == True) and (globals.enableDisplayUntil < int(time.time())):
globals.showDisplay = False
globals.navigation = "alarmPage"
if (globalData.showDisplay == True) and (globalData.enableDisplayUntil < int(time.time())):
globalData.showDisplay = False
globalData.navigation = "alarmPage"
logging.info("display turned off")
# we will do this only one time per second
time.sleep(1)
@ -49,7 +49,7 @@ def autoTurnOffDisplay():
logging.error("unknown error in autoTurnOffDisplay-thread")
logging.debug("unknown error in autoTurnOffDisplay-thread", exc_info=True)
# abort main program
globals.abort = True
globalData.abort = True
sys.exit(1)
finally:
logging.debug("exit autoTurnOffDisplay-thread")
@ -65,12 +65,12 @@ def eventHandler():
Asynchronous function to handle pygames events
in particular the touchscreen events
@requires: globals.showDisplay - status of backlight
@requires: globals.enableDisplayUntil - timestamp to turn off backlight
@requires: globals.running - service runs as long as this is True
@requires: globalData.showDisplay - status of backlight
@requires: globalData.enableDisplayUntil - timestamp to turn off backlight
@requires: globalData.running - service runs as long as this is True
@requires: configuration has to be set in the config.ini
In case of an exception the function set globals.abort to True.
In case of an exception the function set globalData.abort to True.
This will terminate the main program.
@return: nothing
@ -89,7 +89,7 @@ def eventHandler():
clock = pygame.time.Clock()
# Running will be set to False if main program is shutting down
while globals.running == True:
while globalData.running == True:
# This limits the while loop to a max of 2 times per second.
# Leave this out and we will use all CPU we can.
clock.tick(2)
@ -100,7 +100,7 @@ def eventHandler():
for event in pygame.event.get():
# event-handler for QUIT
if event.type == pygame.QUIT:
globals.running = False
globalData.running = False
# if touchscreen pressed
if event.type == pygame.MOUSEBUTTONDOWN:
@ -111,29 +111,29 @@ def eventHandler():
pygame.mixer.stop()
# touching the dark display will turn it on for n sec
if globals.showDisplay == False:
if globalData.showDisplay == False:
logging.info("turn ON display")
globals.enableDisplayUntil = curtime + globals.config.getint("AlarmMonitor","showDisplayTime")
globals.navigation == "alarmPage"
globals.showDisplay = True
globalData.enableDisplayUntil = curtime + globalData.config.getint("AlarmMonitor","showDisplayTime")
globalData.navigation == "alarmPage"
globalData.showDisplay = True
else:
# touching the enabled display will be content sensitive...
# if top 2/3: turn of display
yBoundary = globals.config.getint("Display","displayHeight") - 80
yBoundary = globalData.config.getint("Display","displayHeight") - 80
if 0 <= posY <= yBoundary:
logging.info("turn OFF display")
globals.showDisplay = False
globals.navigation = "alarmPage"
globalData.showDisplay = False
globalData.navigation = "alarmPage"
else:
# we are in the navigation area
globals.enableDisplayUntil = curtime + globals.config.getint("AlarmMonitor","showDisplayTime")
globalData.enableDisplayUntil = curtime + globalData.config.getint("AlarmMonitor","showDisplayTime")
if 0 <= posX <= 110:
globals.navigation = "historyPage"
globalData.navigation = "historyPage"
elif 111 <= posX <= 210:
globals.navigation = "statusPage"
globalData.navigation = "statusPage"
else:
globals.screenBackground = pygame.Color(globals.config.get("AlarmMonitor","colourGreen"))
globals.navigation = "alarmPage"
globalData.screenBackground = pygame.Color(globalData.config.get("AlarmMonitor","colourGreen"))
globalData.navigation = "alarmPage"
## end if showDisplay
## end if event MOUSEBUTTONDOWN
## end for event
@ -141,7 +141,7 @@ def eventHandler():
logging.error("unknown error in eventHandler-thread")
logging.debug("unknown error in eventHandler-thread", exc_info=True)
# abort main program
globals.abort = True
globalData.abort = True
sys.exit(1)
finally:
logging.debug("exit eventHandler-thread")
@ -156,14 +156,14 @@ def displayPainter():
"""
Asynchronous function to build the display content
@requires: globals.showDisplay - status of backlight
@requires: globals.enableDisplayUntil - given timestamp when backlight will turned off
@requires: globals.running - service runs as long as this is True
@requires: globals.data - data of the last alarm
@requires: globals.lastAlarm - timestamp of the last processing (see alarmRICs and keepAliveRICs)
@requires: globalData.showDisplay - status of backlight
@requires: globalData.enableDisplayUntil - given timestamp when backlight will turned off
@requires: globalData.running - service runs as long as this is True
@requires: globalData.data - data of the last alarm
@requires: globalData.lastAlarm - timestamp of the last processing (see alarmRICs and keepAliveRICs)
@requires: configuration has to be set in the config.ini
In case of an exception the function set globals.abort to True.
In case of an exception the function set globalData.abort to True.
This will terminate the main program.
@return: nothing
@ -187,12 +187,12 @@ def displayPainter():
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# set up GPIO pin for output
GPIO.setup(globals.config.getint("Display","GPIOPinForBacklight"), GPIO.OUT)
GPIO.setup(globalData.config.getint("Display","GPIOPinForBacklight"), GPIO.OUT)
pygame.init()
#screen size
size = (globals.config.getint("Display","displayWidth"), globals.config.getint("Display","displayHeight"))
size = (globalData.config.getint("Display","displayWidth"), globalData.config.getint("Display","displayHeight"))
screen = pygame.display.set_mode(size)
# disable mouse cursor
@ -219,12 +219,12 @@ def displayPainter():
clock = pygame.time.Clock()
# Build Lists out of config-entries
functionCharTestAlarm = [x.strip() for x in globals.config.get("AlarmMonitor","functionCharTestAlarm").replace(";", ",").split(",")]
functionCharTestAlarm = [x.strip() for x in globalData.config.get("AlarmMonitor","functionCharTestAlarm").replace(";", ",").split(",")]
logging.debug("displayPainter-thread started")
# Running will be set to False if main program is shutting down
while globals.running == True:
while globalData.running == True:
# This limits the while loop to a max of 2 times per second.
# Leave this out and we will use all CPU we can.
clock.tick(2)
@ -232,48 +232,48 @@ def displayPainter():
# current time for this loop:
curtime = int(time.time())
if globals.showDisplay == True:
if globalData.showDisplay == True:
# Enable LCD display
GPIO.output(globals.config.getint("Display","GPIOPinForBacklight"), GPIO.HIGH)
GPIO.output(globalData.config.getint("Display","GPIOPinForBacklight"), GPIO.HIGH)
# Clear the screen and set the screen background
screen.fill(globals.screenBackground)
screen.fill(globalData.screenBackground)
# paint black rect, so Background looks like a boarder
widthX = globals.config.getint("Display","displayWidth") - 20
widthY = globals.config.getint("Display","displayHeight") - 20
pygame.draw.rect(screen, pygame.Color(globals.config.get("AlarmMonitor","colourBlack")), (10, 10, widthX, widthY))
widthX = globalData.config.getint("Display","displayWidth") - 20
widthY = globalData.config.getint("Display","displayHeight") - 20
pygame.draw.rect(screen, pygame.Color(globalData.config.get("AlarmMonitor","colourBlack")), (10, 10, widthX, widthY))
# header
header = fontHeader.render("Alarm-Monitor", 1, pygame.Color(globals.config.get("AlarmMonitor","colourRed")))
header = fontHeader.render("Alarm-Monitor", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourRed")))
(width, height) = fontHeader.size("Alarm-Monitor")
x = (int(globals.config.getint("Display","displayWidth")) - width)/2
x = (int(globalData.config.getint("Display","displayWidth")) - width)/2
screen.blit(header, (x, 20))
# show time of last alarm
if globals.lastAlarm > 0:
if globalData.lastAlarm > 0:
try:
# format last alarm
lastAlarmString = time.strftime("%H:%M:%S", time.localtime(globals.lastAlarm))
lastAlarmString = time.strftime("%H:%M:%S", time.localtime(globalData.lastAlarm))
# Color time:
# red: lastAlarm more than n (delayForRed) seconds past
if (int(globals.lastAlarm) + globals.config.getint("AlarmMonitor","delayForRed")) < curtime:
timeColour = pygame.Color(globals.config.get("AlarmMonitor","colourRed"))
if (int(globalData.lastAlarm) + globalData.config.getint("AlarmMonitor","delayForRed")) < curtime:
timeColour = pygame.Color(globalData.config.get("AlarmMonitor","colourRed"))
# yellow: lastAlarm more than n (delayForYellow) seconds past
elif (int(globals.lastAlarm) + globals.config.getint("AlarmMonitor","delayForYellow")) < curtime:
timeColour = pygame.Color(globals.config.get("AlarmMonitor","colourYellow"))
elif (int(globalData.lastAlarm) + globalData.config.getint("AlarmMonitor","delayForYellow")) < curtime:
timeColour = pygame.Color(globalData.config.get("AlarmMonitor","colourYellow"))
# dgrey: normal
else:
timeColour = pygame.Color(globals.config.get("AlarmMonitor","colourGreen"))
timeColour = pygame.Color(globalData.config.get("AlarmMonitor","colourGreen"))
lastAlarm = fontTime.render(lastAlarmString, 1, timeColour)
(width, height) = fontTime.size(lastAlarmString)
x = globals.config.getint("Display","displayWidth") - 20 - width
x = globalData.config.getint("Display","displayWidth") - 20 - width
screen.blit(lastAlarm, (x, 20))
except:
logging.debug("unknown error in lastAlarm", exc_info=True)
pass
## end if globals.lastAlarm > 0
## end if globalData.lastAlarm > 0
# show remaining time before display will be turned off:
restZeit = globals.enableDisplayUntil - curtime +1
zeit = fontTime.render(str(restZeit), 1, pygame.Color(globals.config.get("AlarmMonitor","colourDimGrey")))
restZeit = globalData.enableDisplayUntil - curtime +1
zeit = fontTime.render(str(restZeit), 1, pygame.Color(globalData.config.get("AlarmMonitor","colourDimGrey")))
screen.blit(zeit, (20, 20))
#
@ -281,10 +281,10 @@ def displayPainter():
# default is "alarmPage"
#
# Startpoint for content
if globals.navigation == "historyPage":
if globalData.navigation == "historyPage":
try:
y = 50
for data in reversed(globals.alarmHistory):
for data in reversed(globalData.alarmHistory):
# Layout:
# Date Description
# Time Msg
@ -300,9 +300,9 @@ def displayPainter():
# get colour
if data['functionChar'] in functionCharTestAlarm:
colour = globals.config.get("AlarmMonitor","colourYellow")
colour = globalData.config.get("AlarmMonitor","colourYellow")
else:
colour = globals.config.get("AlarmMonitor","colourRed")
colour = globalData.config.get("AlarmMonitor","colourRed")
# Paint Date/Time
screen.blit(fontHistory.render(dateString, 1, pygame.Color(colour)), (20, y))
@ -310,9 +310,9 @@ def displayPainter():
# Paint Description
try:
textLines = wrapline(data['description'], fontHistory, (globals.config.getint("Display","displayWidth") - shifting - 40))
textLines = wrapline(data['description'], fontHistory, (globalData.config.getint("Display","displayWidth") - shifting - 40))
for index, item in enumerate(textLines):
textZeile = fontHistory.render(item, 1, pygame.Color(globals.config.get("AlarmMonitor","colourWhite")))
textZeile = fontHistory.render(item, 1, pygame.Color(globalData.config.get("AlarmMonitor","colourWhite")))
screen.blit(textZeile, (20 + shifting, y))
y += height
except KeyError:
@ -320,9 +320,9 @@ def displayPainter():
# Paint Msg
try:
textLines = wrapline(data['msg'].replace("*", " * "), fontHistory, (globals.config.getint("Display","displayWidth") - shifting - 40))
textLines = wrapline(data['msg'].replace("*", " * "), fontHistory, (globalData.config.getint("Display","displayWidth") - shifting - 40))
for index, item in enumerate(textLines):
textZeile = fontHistory.render(item, 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
textZeile = fontHistory.render(item, 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
screen.blit(textZeile, (20 + shifting, y))
y += height
except KeyError:
@ -331,65 +331,65 @@ def displayPainter():
# line spacing for next dataset
y += 2
## end for globals.alarmHistory
## end for globalData.alarmHistory
except KeyError:
pass
## end if globals.navigation == "historyPage"
## end if globalData.navigation == "historyPage"
elif globals.navigation == "statusPage":
elif globalData.navigation == "statusPage":
(width, height) = fontStatusContent.size("Anzahl Test-Alarme:")
y = 70
x = width + 10
# Running since:
title = fontStatusContent.render("Gestartet:", 1, pygame.Color(globals.config.get("AlarmMonitor","colourWhite")))
content = fontStatusContent.render(time.strftime("%d.%m.%Y %H:%M:%S", time.localtime(globals.startTime)), 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
title = fontStatusContent.render("Gestartet:", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourWhite")))
content = fontStatusContent.render(time.strftime("%d.%m.%Y %H:%M:%S", time.localtime(globalData.startTime)), 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
screen.blit(title, (20, y))
screen.blit(content, (20 +x, y))
y += height + 10
# Last Alarm
title = fontStatusContent.render("Letzte Nachricht:", 1, pygame.Color(globals.config.get("AlarmMonitor","colourWhite")))
if globals.lastAlarm > 0:
content = fontStatusContent.render(time.strftime("%d.%m.%Y %H:%M:%S", time.localtime(globals.lastAlarm)), 1, timeColour)
title = fontStatusContent.render("Letzte Nachricht:", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourWhite")))
if globalData.lastAlarm > 0:
content = fontStatusContent.render(time.strftime("%d.%m.%Y %H:%M:%S", time.localtime(globalData.lastAlarm)), 1, timeColour)
else:
content = fontStatusContent.render("-", 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
content = fontStatusContent.render("-", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
screen.blit(title, (20, y))
screen.blit(content, (20 +x, y))
y += height + 10
# Number of Alarms
title = fontStatusContent.render("Anzahl Alarme:", 1, pygame.Color(globals.config.get("AlarmMonitor","colourWhite")))
content = fontStatusContent.render(str(globals.countAlarm), 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
title = fontStatusContent.render("Anzahl Alarme:", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourWhite")))
content = fontStatusContent.render(str(globalData.countAlarm), 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
screen.blit(title, (20, y))
screen.blit(content, (20 +x, y))
y += height + 10
# Number of TestAlarms
title = fontStatusContent.render("Anzahl Test-Alarme:", 1, pygame.Color(globals.config.get("AlarmMonitor","colourWhite")))
content = fontStatusContent.render(str(globals.countTestAlarm), 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
title = fontStatusContent.render("Anzahl Test-Alarme:", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourWhite")))
content = fontStatusContent.render(str(globalData.countTestAlarm), 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
screen.blit(title, (20, y))
screen.blit(content, (20 +x, y))
y += height + 10
# Number of DAU-Msgs
title = fontStatusContent.render("Anzahl DAU-Tests:", 1, pygame.Color(globals.config.get("AlarmMonitor","colourWhite")))
content = fontStatusContent.render(str(globals.countKeepAlive), 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
title = fontStatusContent.render("Anzahl DAU-Tests:", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourWhite")))
content = fontStatusContent.render(str(globalData.countKeepAlive), 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
screen.blit(title, (20, y))
screen.blit(content, (20 +x, y))
y += height + 10
## end if globals.navigation == "statusPage"
## end if globalData.navigation == "statusPage"
else:
y = 50
# Paint Date/Time
try:
dateTimeString = time.strftime("%d.%m.%Y %H:%M:%S", time.localtime(globals.data['timestamp']))
dateTimeRow = fontStatus.render(dateTimeString, 1, pygame.Color(globals.config.get("AlarmMonitor","colourDimGrey")))
dateTimeString = time.strftime("%d.%m.%Y %H:%M:%S", time.localtime(globalData.data['timestamp']))
dateTimeRow = fontStatus.render(dateTimeString, 1, pygame.Color(globalData.config.get("AlarmMonitor","colourDimGrey")))
(width, height) = fontStatus.size(dateTimeString)
x = (int(globals.config.getint("Display","displayWidth")) - width)/2
x = (int(globalData.config.getint("Display","displayWidth")) - width)/2
screen.blit(dateTimeRow, (x, y))
y += height + 10
except KeyError:
@ -397,10 +397,10 @@ def displayPainter():
# Paint Description
try:
textLines = wrapline(globals.data['description'], fontRIC, (globals.config.getint("Display","displayWidth") - 40))
(width, height) = fontStatus.size(globals.data['description'])
textLines = wrapline(globalData.data['description'], fontRIC, (globalData.config.getint("Display","displayWidth") - 40))
(width, height) = fontStatus.size(globalData.data['description'])
for index, item in enumerate(textLines):
textRow = fontRIC.render(item, 1, pygame.Color(globals.config.get("AlarmMonitor","colourWhite")))
textRow = fontRIC.render(item, 1, pygame.Color(globalData.config.get("AlarmMonitor","colourWhite")))
screen.blit(textRow, (20, y))
y += height + 5
except KeyError:
@ -409,10 +409,10 @@ def displayPainter():
# Paint Msg
try:
y += 10
textLines = wrapline(globals.data['msg'].replace("*", " * "), fontMsg, (globals.config.getint("Display","displayWidth") - 40))
(width, height) = fontStatus.size(globals.data['msg'])
textLines = wrapline(globalData.data['msg'].replace("*", " * "), fontMsg, (globalData.config.getint("Display","displayWidth") - 40))
(width, height) = fontStatus.size(globalData.data['msg'])
for index, item in enumerate(textLines):
textRow = fontMsg.render(item, 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
textRow = fontMsg.render(item, 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
screen.blit(textRow, (20, y))
y += height
except KeyError:
@ -422,47 +422,47 @@ def displayPainter():
# paint navigation buttons
buttonWidth = 80
buttonHeight = 25
buttonY = globals.config.getint("Display","displayHeight") - buttonHeight - 2
buttonY = globalData.config.getint("Display","displayHeight") - buttonHeight - 2
round_rect(screen, ( 20, buttonY, buttonWidth, buttonHeight), pygame.Color(globals.config.get("AlarmMonitor","colourDimGrey")), 10, 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
buttonText = fontButton.render("Verlauf", 1, pygame.Color(globals.config.get("AlarmMonitor","colourBlack")))
round_rect(screen, ( 20, buttonY, buttonWidth, buttonHeight), pygame.Color(globalData.config.get("AlarmMonitor","colourDimGrey")), 10, 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
buttonText = fontButton.render("Verlauf", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourBlack")))
(width, height) = fontButton.size("Verlauf")
textX = 20 + (buttonWidth - width)/2
textY = buttonY + (buttonHeight - height)/2
screen.blit(buttonText, (textX, textY))
round_rect(screen, (120, buttonY, buttonWidth, buttonHeight), pygame.Color(globals.config.get("AlarmMonitor","colourDimGrey")), 10, 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
buttonText = fontButton.render("Status", 1, pygame.Color(globals.config.get("AlarmMonitor","colourBlack")))
round_rect(screen, (120, buttonY, buttonWidth, buttonHeight), pygame.Color(globalData.config.get("AlarmMonitor","colourDimGrey")), 10, 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
buttonText = fontButton.render("Status", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourBlack")))
(width, height) = fontButton.size("Status")
textX = 120 + (buttonWidth - width)/2
textY = buttonY + (buttonHeight - height)/2
screen.blit(buttonText, (textX, textY))
round_rect(screen, (220, buttonY, buttonWidth, buttonHeight), pygame.Color(globals.config.get("AlarmMonitor","colourDimGrey")), 10, 1, pygame.Color(globals.config.get("AlarmMonitor","colourGrey")))
buttonText = fontButton.render("Gelesen", 1, pygame.Color(globals.config.get("AlarmMonitor","colourBlack")))
round_rect(screen, (220, buttonY, buttonWidth, buttonHeight), pygame.Color(globalData.config.get("AlarmMonitor","colourDimGrey")), 10, 1, pygame.Color(globalData.config.get("AlarmMonitor","colourGrey")))
buttonText = fontButton.render("Gelesen", 1, pygame.Color(globalData.config.get("AlarmMonitor","colourBlack")))
(width, height) = fontButton.size("Gelesen")
textX = 220 + (buttonWidth - width)/2
textY = buttonY + (buttonHeight - height)/2
screen.blit(buttonText, (textX, textY))
## end if globals.showDisplay == True
## end if globalData.showDisplay == True
else:
GPIO.output(globals.config.getint("Display","GPIOPinForBacklight"), GPIO.LOW)
GPIO.output(globalData.config.getint("Display","GPIOPinForBacklight"), GPIO.LOW)
# Update display...
pygame.display.update()
## end while globals.running == True
## end while globalData.running == True
except:
logging.error("unknown error in displayPainter-thread")
logging.debug("unknown error in displayPainter-thread", exc_info=True)
# abort main program
globals.abort = True
globalData.abort = True
sys.exit(1)
finally:
logging.debug("exit displayPainter-thread")
GPIO.output(globals.config.getint("Display","GPIOPinForBacklight"), GPIO.LOW)
GPIO.output(globalData.config.getint("Display","GPIOPinForBacklight"), GPIO.LOW)
GPIO.cleanup()
pygame.quit()
exit(0)

View file

@ -36,7 +36,7 @@ def processAlarmHandler(typ, freq, data):
@return: nothing
@exception: Exception if starting a Thread failed
"""
if globals.config.getboolean("BOSWatch","processAlarmAsync") == True:
if globalVars.config.getboolean("BOSWatch","processAlarmAsync") == True:
logging.debug("starting processAlarm async")
try:
from threading import Thread
@ -74,9 +74,9 @@ def processAlarm(typ, freq, data):
# timestamp, to make sure, that all plugins use the same time
data['timestamp'] = int(time.time())
# Go to all plugins in pluginList
for pluginName, plugin in globals.pluginList.items():
for pluginName, plugin in globalVars.pluginList.items():
# if enabled use RegEx-filter
if globals.config.getint("BOSWatch","useRegExFilter"):
if globalVars.config.getint("BOSWatch","useRegExFilter"):
from includes import regexFilter
if regexFilter.checkFilters(typ, data, pluginName, freq):
logging.debug("call Plugin: %s", pluginName)

View file

@ -21,7 +21,7 @@ def checkRTL():
@exception: Exception when checkRTL throws an unexpected error
"""
try:
rtlLog = open(globals.log_path+"rtl_fm.log","r").read()
rtlLog = open(globalVars.log_path+"rtl_fm.log","r").read()
if ("exiting" in rtlLog) or ("Failed to open" in rtlLog):
logging.debug("\n%s", rtlLog)
raise OSError("starting rtl_fm returns an error")
@ -41,7 +41,7 @@ def checkMultimon():
@exception: Exception when checkMultimon throws an unexpected error
"""
try:
multimonLog = open(globals.log_path+"multimon.log","r").read()
multimonLog = open(globalVars.log_path+"multimon.log","r").read()
if ("invalid" in multimonLog) or ("error" in multimonLog):
logging.debug("\n%s", multimonLog)
raise OSError("starting multimon-ng returns an error")

View file

@ -53,7 +53,7 @@ def decode(freq, decoded):
logging.info("FMS:%s Status:%s Richtung:%s TSI:%s", fms_id[0:8], fms_status, fms_direction, fms_tsi)
data = {"fms":fms_id[0:8], "status":fms_status, "direction":fms_direction, "directionText":fms_directionText, "tsi":fms_tsi, "description":fms_id[0:8]}
# If enabled, look up description
if globals.config.getint("FMS", "idDescribed"):
if globalVars.config.getint("FMS", "idDescribed"):
from includes import descriptionList
data["description"] = descriptionList.getDescription("FMS", fms_id[0:8])
# processing the alarm

View file

@ -34,22 +34,22 @@ def isAllowed(poc_id):
"""
# 1.) If allowed RICs is set, only they will path,
# If RIC is the right one return True, else False
if globals.config.get("POC", "allow_ric"):
if poc_id in globals.config.get("POC", "allow_ric"):
if globalVars.config.get("POC", "allow_ric"):
if poc_id in globalVars.config.get("POC", "allow_ric"):
logging.info("RIC %s is allowed", poc_id)
return True
else:
logging.info("RIC %s is not in the allowed list", poc_id)
return False
# 2.) If denied RIC, return False
elif poc_id in globals.config.get("POC", "deny_ric"):
elif poc_id in globalVars.config.get("POC", "deny_ric"):
logging.info("RIC %s is denied by config.ini", poc_id)
return False
# 3.) Check Range, return False if outside def. range
elif int(poc_id) < globals.config.getint("POC", "filter_range_start"):
elif int(poc_id) < globalVars.config.getint("POC", "filter_range_start"):
logging.info("RIC %s out of filter range (start)", poc_id)
return False
elif int(poc_id) > globals.config.getint("POC", "filter_range_end"):
elif int(poc_id) > globalVars.config.getint("POC", "filter_range_end"):
logging.info("RIC %s out of filter range (end)", poc_id)
return False
return True
@ -111,7 +111,7 @@ def decode(freq, decoded):
# Add function as character a-d to dataset
data["functionChar"] = data["function"].replace("1", "a").replace("2", "b").replace("3", "c").replace("4", "d")
# If enabled, look up description
if globals.config.getint("POC", "idDescribed"):
if globalVars.config.getint("POC", "idDescribed"):
from includes import descriptionList
data["description"] = descriptionList.getDescription("POC", poc_id)
# processing the alarm

View file

@ -65,7 +65,7 @@ def decode(freq, decoded):
logging.info("5-Ton: %s", zvei_id)
data = {"zvei":zvei_id, "description":zvei_id}
# If enabled, look up description
if globals.config.getint("ZVEI", "idDescribed"):
if globalVars.config.getint("ZVEI", "idDescribed"):
from includes import descriptionList
data["description"] = descriptionList.getDescription("ZVEI", zvei_id)
# processing the alarm

View file

@ -36,7 +36,7 @@ def loadCSV(typ, idField):
resultList = {}
try:
logging.debug("-- loading %s.csv", typ)
with open(globals.script_path+'/csv/'+typ+'.csv') as csvfile:
with open(globalVars.script_path+'/csv/'+typ+'.csv') as csvfile:
# DictReader expected structure described in first line of csv-file
reader = csv.DictReader(csvfile)
for row in reader:
@ -70,17 +70,17 @@ def loadDescriptionLists():
try:
logging.debug("loading description lists")
if globals.config.getint("FMS", "idDescribed"):
if globalVars.config.getint("FMS", "idDescribed"):
logging.debug("- load FMS description list")
global fmsDescribtionList
fmsDescribtionList = loadCSV("fms", "fms")
if globals.config.getint("ZVEI", "idDescribed"):
if globalVars.config.getint("ZVEI", "idDescribed"):
logging.debug("- load ZVEI description list")
global zveiDescribtionList
zveiDescribtionList = loadCSV("zvei", "zvei")
if globals.config.getint("POC", "idDescribed"):
if globalVars.config.getint("POC", "idDescribed"):
logging.debug("- load pocsag description list")
global ricDescribtionList
ricDescribtionList = loadCSV("poc", "ric")

View file

@ -39,10 +39,10 @@ def checkID(typ, id, msg=""):
(xID, xTimestamp, xMsg) = doubleList[i]
# given ID found?
# return False if the first entry in double_ignore_time is found, we will not check for younger ones...
if id == xID and timestamp < xTimestamp + globals.config.getint("BOSWatch", "doubleFilter_ignore_time"):
logging.debug("-- previous id %s is within doubleFilter_ignore_time (%ss)", xID, globals.config.getint("BOSWatch", "doubleFilter_ignore_time"))
if id == xID and timestamp < xTimestamp + globalVars.config.getint("BOSWatch", "doubleFilter_ignore_time"):
logging.debug("-- previous id %s is within doubleFilter_ignore_time (%ss)", xID, globalVars.config.getint("BOSWatch", "doubleFilter_ignore_time"))
# if wanted, we have to check the msg additional
if "POC" in typ and globals.config.getint("BOSWatch", "doubleFilter_check_msg"):
if "POC" in typ and globalVars.config.getint("BOSWatch", "doubleFilter_check_msg"):
logging.debug("-- compare msg:")
logging.debug("---- current msg: (%s)", msg.strip())
logging.debug("---- previous msg: (%s)", xMsg)
@ -69,6 +69,6 @@ def newEntry(id, msg = ""):
logging.debug("Added %s to doubleList", id)
# now check if list has more than n entries:
if len(doubleList) > globals.config.getint("BOSWatch", "doubleFilter_ignore_entries"):
if len(doubleList) > globalVars.config.getint("BOSWatch", "doubleFilter_ignore_entries"):
# we have to kill the oldest one
doubleList.pop(0)

View file

@ -27,7 +27,7 @@ def checkConfig(section=""):
if section is not "": # read only data if section is given
logging.debug("read [%s] from config file", section)
for key,val in globals.config.items(section):
for key,val in globalVars.config.items(section):
if ("password" in key) or ("apikey" in key):
val = "***"
logging.debug(" - %s = %s", key, val)

View file

@ -18,10 +18,10 @@ from includes import globalVars # Global variables
def loadPlugins():
"""
Load all plugins into globals.pluginList
Load all plugins into globalVars.pluginList
@return: nothing
@exception: Exception if insert into globals.pluginList failed
@exception: Exception if insert into globalVars.pluginList failed
"""
try:
logging.debug("loading plugins")
@ -41,8 +41,8 @@ def loadPlugins():
# Try to call the .onLoad() routine for all active plugins
logging.debug("call %s.onLoad()", i["name"])
plugin.onLoad()
# Add it to globals.pluginList
globals.pluginList[i["name"]] = plugin
# Add it to globalVars.pluginList
globalVars.pluginList[i["name"]] = plugin
except:
# call next plugin, if one has thrown an exception
logging.error("error calling %s.onLoad()", i["name"])
@ -63,7 +63,7 @@ def getPlugins():
"""
try:
logging.debug("Search in plugin folder")
PluginFolder = globals.script_path+"/plugins"
PluginFolder = globalVars.script_path+"/plugins"
plugins = []
# Go to all Folders in the Plugin-Dir
for i in os.listdir(PluginFolder):
@ -75,7 +75,7 @@ def getPlugins():
# is the plugin enabled in the config-file?
try:
if globals.config.getint("Plugins", i):
if globalVars.config.getint("Plugins", i):
info = imp.find_module(i, [location])
plugins.append({"name": i, "info": info})
logging.debug("Plugin [ENABLED ] %s", i)

View file

@ -32,7 +32,7 @@ def loadFilters():
try:
logging.debug("loading filters")
# For each entry in config.ini [Filters] section
for key,val in globals.config.items("Filters"):
for key,val in globalVars.config.items("Filters"):
logging.debug(" - %s = %s", key, val)
filter = val.split(";")

View file

@ -30,8 +30,8 @@ def printHeader(args):
print " German BOS Information Script "
print " by Bastian Schroll, Jens Herrmann "
print ""
print "SW Version: "+globals.versionNr
print "Build Date: "+globals.buildDate
print "SW Version: "+globalVars.versionNr
print "Build Date: "+globalVars.buildDate
print ""
print "Frequency: "+args.freq

View file

@ -60,7 +60,7 @@ def bosMonRequest(httprequest, params, headers):
#
# BosMon/HTTP-Request
#
httprequest.request("POST", "/telegramin/"+globals.config.get("BosMon", "bosmon_channel")+"/input.xml", params, headers)
httprequest.request("POST", "/telegramin/"+globalVars.config.get("BosMon", "bosmon_channel")+"/input.xml", params, headers)
except:
logging.error("request to BosMon failed")
logging.debug("request to BosMon failed", exc_info=True)
@ -110,12 +110,12 @@ def run(typ,freq,data):
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"):
if globalVars.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"))))
headers['Authorization'] = "Basic {0}".format(base64.b64encode("{0}:{1}".format(globalVars.config.get("BosMon", "bosmon_user"), globalVars.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)
httprequest = httplib.HTTPConnection(globalVars.config.get("BosMon", "bosmon_server"), globalVars.config.get("BosMon", "bosmon_port"), timeout=5)
# debug-level to shell (0=no debug|1)
httprequest.set_debuglevel(0)
except:

View file

@ -71,18 +71,18 @@ def run(typ,freq,data):
#
logging.debug("send FFAgent %s", typ)
if globals.config.get("FFAgent", "live") == "1":
if globalVars.config.get("FFAgent", "live") == "1":
url = "https://api.service.ff-agent.com/v1/WebService/triggerAlarm"
else:
url = "https://free.api.service.ff-agent.com/v1/WebService/triggerAlarm"
serverCertFile = globals.config.get("FFAgent", "serverCertFile")
clientCertFile = globals.config.get("FFAgent", "clientCertFile")
clientCertPass = globals.config.get("FFAgent", "clientCertPass")
webApiToken = globals.config.get("FFAgent", "webApiToken")
webApiKey = globals.config.get("FFAgent", "webApiKey")
accessToken = globals.config.get("FFAgent", "accessToken")
selectiveCallCode = globals.config.get("FFAgent", "selectiveCallCode")
serverCertFile = globalVars.config.get("FFAgent", "serverCertFile")
clientCertFile = globalVars.config.get("FFAgent", "clientCertFile")
clientCertPass = globalVars.config.get("FFAgent", "clientCertPass")
webApiToken = globalVars.config.get("FFAgent", "webApiToken")
webApiKey = globalVars.config.get("FFAgent", "webApiKey")
accessToken = globalVars.config.get("FFAgent", "accessToken")
selectiveCallCode = globalVars.config.get("FFAgent", "selectiveCallCode")
# data["description"]
msg_split = data["msg"].split(';')
@ -105,7 +105,7 @@ def run(typ,freq,data):
"alarmMessage" : ""
}
if globals.config.get("FFAgent", "test") == "1":
if globalVars.config.get("FFAgent", "test") == "1":
alarmData = {
"alarmDate" : "",
"keyword" : "Test",
@ -135,7 +135,7 @@ def run(typ,freq,data):
"hmac": hmac.new(webApiKey, webApiToken + selectiveCallCode + accessToken + alarmData, digestmod=hashlib.sha256).hexdigest()
}
if globals.config.get("FFAgent", "live") == "1":
if globalVars.config.get("FFAgent", "live") == "1":
r = requests.post(url, data=alarmData, headers=headers, verify=serverCertFile, cert=(clientCertFile, clientCertPass))
else:
r = requests.post(url, data=alarmData, headers=alarmHeaders, verify=serverCertFile)

View file

@ -31,8 +31,8 @@ def isSignal(poc_id):
@exception: none
"""
# If RIC is Signal return True, else False
if globals.config.get("MySQL", "signal_ric"):
if poc_id in globals.config.get("MySQL", "signal_ric"):
if globalVars.config.get("MySQL", "signal_ric"):
if poc_id in globalVars.config.get("MySQL", "signal_ric"):
logging.info("RIC %s is signal", poc_id)
return True
else:
@ -91,7 +91,7 @@ def run(typ,freq,data):
# 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"), charset='utf8')
connection = mysql.connector.connect(host = globalVars.config.get("MySQL","dbserver"), user = globalVars.config.get("MySQL","dbuser"), passwd = globalVars.config.get("MySQL","dbpassword"), db = globalVars.config.get("MySQL","database"), charset='utf8')
cursor = connection.cursor()
except:
logging.error("cannot connect to MySQL")
@ -104,18 +104,18 @@ def run(typ,freq,data):
logging.debug("Insert %s", typ)
if typ == "FMS":
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tableFMS")+" (time, fms, status, direction, directionText, tsi, description) VALUES (FROM_UNIXTIME(%s),%s,%s,%s,%s,%s,%s)", (data["timestamp"], data["fms"], data["status"], data["direction"], data["directionText"], data["tsi"], data["description"]))
cursor.execute("INSERT INTO "+globalVars.config.get("MySQL","tableFMS")+" (time, fms, status, direction, directionText, tsi, description) VALUES (FROM_UNIXTIME(%s),%s,%s,%s,%s,%s,%s)", (data["timestamp"], data["fms"], data["status"], data["direction"], data["directionText"], data["tsi"], data["description"]))
elif typ == "ZVEI":
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tableZVEI")+" (time, zvei, description) VALUES (FROM_UNIXTIME(%s),%s,%s)", (data["timestamp"], data["zvei"], data["description"]))
cursor.execute("INSERT INTO "+globalVars.config.get("MySQL","tableZVEI")+" (time, zvei, description) VALUES (FROM_UNIXTIME(%s),%s,%s)", (data["timestamp"], data["zvei"], data["description"]))
elif typ == "POC":
if isSignal(data["ric"]):
cursor.execute("UPDATE "+globals.config.get("MySQL","tableSIG")+" SET time = NOW() WHERE ric = "+data["ric"])
cursor.execute("UPDATE "+globalVars.config.get("MySQL","tableSIG")+" SET time = NOW() WHERE ric = "+data["ric"])
if cursor.rowcount == 0:
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tableSIG")+" (time,ric) VALUES (NOW(),"+data["ric"]+")")
cursor.execute("INSERT INTO "+globalVars.config.get("MySQL","tableSIG")+" (time,ric) VALUES (NOW(),"+data["ric"]+")")
else:
cursor.execute("INSERT INTO "+globals.config.get("MySQL","tablePOC")+" (time, ric, function, functionChar, msg, bitrate, description) VALUES (FROM_UNIXTIME(%s),%s,%s,%s,%s,%s,%s)", (data["timestamp"], data["ric"], data["function"], data["functionChar"], data["msg"], data["bitrate"], data["description"]))
cursor.execute("INSERT INTO "+globalVars.config.get("MySQL","tablePOC")+" (time, ric, function, functionChar, msg, bitrate, description) VALUES (FROM_UNIXTIME(%s),%s,%s,%s,%s,%s,%s)", (data["timestamp"], data["ric"], data["function"], data["functionChar"], data["msg"], data["bitrate"], data["description"]))
else:
logging.warning("Invalid Typ: %s", typ)

View file

@ -67,27 +67,27 @@ def run(typ,freq,data):
logging.debug("send Pushover %s", typ)
if data["function"] == '1':
priority = globals.config.get("Pushover", "SubA")
priority = globalVars.config.get("Pushover", "SubA")
elif data["function"] == '2':
priority = globals.config.get("Pushover", "SubB")
priority = globalVars.config.get("Pushover", "SubB")
elif data["function"] == '3':
priority = globals.config.get("Pushover", "SubC")
priority = globalVars.config.get("Pushover", "SubC")
elif data["function"] == '4':
priority = globals.config.get("Pushover", "SubD")
priority = globalVars.config.get("Pushover", "SubD")
else:
priority = 0
conn = httplib.HTTPSConnection("api.pushover.net:443")
conn.request("POST", "/1/messages.json",
urllib.urlencode({
"token": globals.config.get("Pushover", "api_key"),
"user": globals.config.get("Pushover", "user_key"),
"token": globalVars.config.get("Pushover", "api_key"),
"user": globalVars.config.get("Pushover", "user_key"),
"message": "<b>"+data["description"]+"</b><br>"+data["msg"].replace(";", "<br>"),
"html": globals.config.get("Pushover", "html"),
"title": globals.config.get("Pushover", "title"),
"html": globalVars.config.get("Pushover", "html"),
"title": globalVars.config.get("Pushover", "title"),
"priority": priority,
"retry": globals.config.get("Pushover", "retry"),
"expire": globals.config.get("Pushover", "expire")
"retry": globalVars.config.get("Pushover", "retry"),
"expire": globalVars.config.get("Pushover", "expire")
}),{"Content-type": "application/x-www-form-urlencoded"})
except:

View file

@ -64,20 +64,20 @@ test2 = 123456
```
#### 3.2 Read data from config.ini
To read yout configuration data you must import the `globals.py` where the global config-object is located:
To read yout configuration data you must import the `globalVars.py` where the global config-object is located:
```python
from includes import globalVars # Global variables
```
Now you can get your configuration data with:
```python
VALUE = globals.config.get("SECTION", "OPTION") #Gets any value
VALUE = globalVars.config.get("SECTION", "OPTION") #Gets any value
```
or better, use this:
```python
VALUE = globals.config.getint("SECTION", "OPTION") #Value must be an Integer
VALUE = globals.config.getfloat("SECTION", "OPTION") #Value must be an Float
VALUE = globals.config.getboolean("SECTION", "OPTION") #Value must be an Boolean
VALUE = globalVars.config.getint("SECTION", "OPTION") #Value must be an Integer
VALUE = globalVars.config.getfloat("SECTION", "OPTION") #Value must be an Float
VALUE = globalVars.config.getboolean("SECTION", "OPTION") #Value must be an Boolean
```

View file

@ -89,18 +89,18 @@ def run(typ,freq,data):
logging.debug("Plugin SMS enabled")
# get number of cases and build a RIC-Array
i = globals.config.get("SMS","quantity")
i = globalVars.config.get("SMS","quantity")
aRic = []
# build the array
for x in range (1, int(i) + 1):
# check the number of subrics
subric = globals.config.get("SMS","subric" + str(x))
subric = globalVars.config.get("SMS","subric" + str(x))
if len(subric) > 1: # we have more than one subric
subric_list = subric.split(",")
for y in range (0, len(subric_list)):
sric = subric_list[y].replace(' ','')
full_ric = globals.config.get("SMS","ric" + str(x)) + sric
full_ric = globalVars.config.get("SMS","ric" + str(x)) + sric
case = x
tmp = []
tmp.append(full_ric)
@ -109,7 +109,7 @@ def run(typ,freq,data):
else:
#get ric AND subric at once with ONE subric
tmp = []
tmp.append(globals.config.get("SMS","ric" + str(x)) + subric)
tmp.append(globalVars.config.get("SMS","ric" + str(x)) + subric)
tmp.append(x)
aRic.append(tmp) # 2D-Array...
@ -130,8 +130,8 @@ def run(typ,freq,data):
case = aRic[index[0]][1]
logging.debug("Enabling case %s", case)
text = globals.config.get("SMS","text" + str(case))
number = globals.config.get("SMS","phonenumber" + str(case))
text = globalVars.config.get("SMS","text" + str(case))
number = globalVars.config.get("SMS","phonenumber" + str(case))
#just for debug
logging.debug("Aktivierter Text: %s", text)

View file

@ -70,11 +70,11 @@ def run(typ,freq,data):
conn = httplib.HTTPSConnection("gateway.sms77.de:443")
conn.request("POST", "",
urllib.urlencode({
"u": globals.config.get("Sms77", "user"),
"p": globals.config.get("Sms77", "password"),
"to": globals.config.get("Sms77", "to"),
"from": globals.config.get("Sms77", "from"),
"type": globals.config.get("Sms77", "type"),
"u": globalVars.config.get("Sms77", "user"),
"p": globalVars.config.get("Sms77", "password"),
"to": globalVars.config.get("Sms77", "to"),
"from": globalVars.config.get("Sms77", "from"),
"type": globalVars.config.get("Sms77", "type"),
"text": data["description"]+"<br>"+data["msg"].replace(";", "<br>")
}),{"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"})

View file

@ -42,10 +42,10 @@ def onLoad():
global GoogleAPIKey
configHandler.checkConfig("Telegram")
BOTTokenAPIKey = globals.config.get("Telegram","BOTTokenAPIKey")
BOTChatIDAPIKey = globals.config.get("Telegram","BOTChatIDAPIKey")
RICforLocationAPIKey = globals.config.get("Telegram","RICforLocationAPIKey")
GoogleAPIKey = globals.config.get("Telegram","GoogleAPIKey")
BOTTokenAPIKey = globalVars.config.get("Telegram","BOTTokenAPIKey")
BOTChatIDAPIKey = globalVars.config.get("Telegram","BOTChatIDAPIKey")
RICforLocationAPIKey = globalVars.config.get("Telegram","RICforLocationAPIKey")
GoogleAPIKey = globalVars.config.get("Telegram","GoogleAPIKey")
return

View file

@ -59,13 +59,13 @@ def doSendmail(server, subject, mailtext):
"""
try:
msg = MIMEText(mailtext, 'plain', 'UTF-8')
msg['From'] = globals.config.get("eMail", "from")
msg['To'] = globals.config.get("eMail", "to")
msg['From'] = globalVars.config.get("eMail", "from")
msg['To'] = globalVars.config.get("eMail", "to")
msg['Subject'] = subject
msg['Date'] = formatdate()
msg['Message-Id'] = make_msgid()
msg['Priority'] = globals.config.get("eMail", "priority")
server.sendmail(globals.config.get("eMail", "from"), globals.config.get("eMail", "to").split(), msg.as_string())
msg['Priority'] = globalVars.config.get("eMail", "priority")
server.sendmail(globalVars.config.get("eMail", "from"), globalVars.config.get("eMail", "to").split(), msg.as_string())
except:
logging.error("send eMail failed")
logging.debug("send eMail failed", exc_info=True)
@ -103,17 +103,17 @@ def run(typ,freq,data):
#
# connect to SMTP-Server
#
server = smtplib.SMTP(globals.config.get("eMail", "smtp_server"), globals.config.get("eMail", "smtp_port"))
server = smtplib.SMTP(globalVars.config.get("eMail", "smtp_server"), globalVars.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"):
if globalVars.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"))
if globalVars.config.get("eMail", "user"):
server.login(globalVars.config.get("eMail", "user"), globalVars.config.get("eMail", "password"))
except:
logging.error("cannot connect to eMail")
@ -127,12 +127,12 @@ def run(typ,freq,data):
logging.debug("Start FMS to eMail")
try:
# read subject-structure from config.ini
subject = globals.config.get("eMail", "fms_subject")
subject = globalVars.config.get("eMail", "fms_subject")
# replace wildcards with helper function
subject = wildcardHandler.replaceWildcards(subject, data)
# read mailtext-structure from config.ini
mailtext = globals.config.get("eMail", "fms_message")
mailtext = globalVars.config.get("eMail", "fms_message")
# replace wildcards with helper function
mailtext = wildcardHandler.replaceWildcards(mailtext, data, lineBrakeAllowed=True)
@ -147,12 +147,12 @@ def run(typ,freq,data):
logging.debug("Start ZVEI to eMail")
try:
# read subject-structure from config.ini
subject = globals.config.get("eMail", "zvei_subject")
subject = globalVars.config.get("eMail", "zvei_subject")
# replace wildcards with helper function
subject = wildcardHandler.replaceWildcards(subject, data)
# read mailtext-structure from config.ini
mailtext = globals.config.get("eMail", "zvei_message")
mailtext = globalVars.config.get("eMail", "zvei_message")
# replace wildcards with helper function
mailtext = wildcardHandler.replaceWildcards(mailtext, data, lineBrakeAllowed=True)
@ -167,12 +167,12 @@ def run(typ,freq,data):
logging.debug("Start POC to eMail")
try:
# read subject-structure from config.ini
subject = globals.config.get("eMail", "poc_subject")
subject = globalVars.config.get("eMail", "poc_subject")
# replace wildcards with helper function
subject = wildcardHandler.replaceWildcards(subject, data)
# read mailtext-structure from config.ini
mailtext = globals.config.get("eMail", "poc_message")
mailtext = globalVars.config.get("eMail", "poc_message")
# replace wildcards with helper function
mailtext = wildcardHandler.replaceWildcards(mailtext, data, lineBrakeAllowed=True)

View file

@ -70,7 +70,7 @@ def run(typ,freq,data):
# connect to firEmergency
#
firSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
firSocket.connect((globals.config.get("firEmergency", "firserver"), globals.config.getint("firEmergency", "firport")))
firSocket.connect((globalVars.config.get("firEmergency", "firserver"), globalVars.config.getint("firEmergency", "firport")))
except:
logging.error("cannot connect to firEmergency")
logging.debug("cannot connect to firEmergency", exc_info=True)

View file

@ -66,13 +66,13 @@ def run(typ,freq,data):
# Create URL
#
if typ == "FMS":
url = globals.config.get("httpRequest", "fms_url") #Get URL
url = globalVars.config.get("httpRequest", "fms_url") #Get URL
url = wildcardHandler.replaceWildcards(url, data) # replace wildcards with helper function
elif typ == "ZVEI":
url = globals.config.get("httpRequest", "zvei_url") #Get URL
url = globalVars.config.get("httpRequest", "zvei_url") #Get URL
url = wildcardHandler.replaceWildcards(url, data) # replace wildcards with helper function
elif typ == "POC":
url = globals.config.get("httpRequest", "poc_url") #Get URL
url = globalVars.config.get("httpRequest", "poc_url") #Get URL
url = wildcardHandler.replaceWildcards(url, data) # replace wildcards with helper function
else:

View file

@ -68,15 +68,15 @@ def run(typ,freq,data):
#
# 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":
if globalVars.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")))
sock.connect((globalVars.config.get("jsonSocket", "server"), globalVars.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)
logging.error("cannot initialize %s-socket", globalVars.config.get("jsonSocket", "protocol"))
logging.debug("cannot initialize %s-socket", globalVars.config.get("jsonSocket", "protocol"), exc_info=True)
# Without connection, plugin couldn't work
return
@ -84,22 +84,22 @@ def run(typ,freq,data):
# 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"))
logging.debug("Start %s to %s", typ, globalVars.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")))
sock.sendto(sendData, (globalVars.config.get("jsonSocket", "server"), globalVars.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)
logging.error("%s to %s failed", typ, globalVars.config.get("jsonSocket", "protocol"))
logging.debug("%s to %s failed", typ, globalVars.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"))
logging.debug("close %s-Connection", globalVars.config.get("jsonSocket", "protocol"))
try:
sock.close()
except:

View file

@ -93,17 +93,17 @@ def onLoad():
# load config:
configHandler.checkConfig("notifyMyAndroid")
application = stringConverter.convertToUnicode(globals.config.get("notifyMyAndroid","appName"))
usecsv = globals.config.getboolean("notifyMyAndroid","usecsv")
application = stringConverter.convertToUnicode(globalVars.config.get("notifyMyAndroid","appName"))
usecsv = globalVars.config.getboolean("notifyMyAndroid","usecsv")
# if no csv should use, we take the APIKey directly
if usecsv == False:
APIKey = globals.config.get("notifyMyAndroid","APIKey")
APIKey = globalVars.config.get("notifyMyAndroid","APIKey")
else:
# import the csv-file
try:
logging.debug("-- loading nma.csv")
with open(globals.script_path+'/csv/nma.csv') as csvfile:
with open(globalVars.script_path+'/csv/nma.csv') as csvfile:
# DictReader expected structure described in first line of csv-file
reader = csv.DictReader(csvfile)
for row in reader:
@ -216,7 +216,7 @@ def run(typ,freq,data):
# if not using csv-import, all is simple...
if usecsv == False:
response = nma.pushWithAPIKey(APIKey, application, event, msg, priority=globals.config.getint("notifyMyAndroid","priority"))
response = nma.pushWithAPIKey(APIKey, application, event, msg, priority=globalVars.config.getint("notifyMyAndroid","priority"))
checkResponse(response, APIKey)
else:
if "FMS" in typ: