diff --git a/boswatch.py b/boswatch.py
index e22d507..ee81932 100755
--- a/boswatch.py
+++ b/boswatch.py
@@ -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()")
diff --git a/exampleAddOns/alarmMonitorRPi/alarmMonitor.py b/exampleAddOns/alarmMonitorRPi/alarmMonitor.py
index d8d95c4..f18bb15 100644
--- a/exampleAddOns/alarmMonitorRPi/alarmMonitor.py
+++ b/exampleAddOns/alarmMonitorRPi/alarmMonitor.py
@@ -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:
diff --git a/exampleAddOns/alarmMonitorRPi/displayServices.py b/exampleAddOns/alarmMonitorRPi/displayServices.py
index f17bf50..8badbfe 100644
--- a/exampleAddOns/alarmMonitorRPi/displayServices.py
+++ b/exampleAddOns/alarmMonitorRPi/displayServices.py
@@ -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)
diff --git a/includes/alarmHandler.py b/includes/alarmHandler.py
index ccd8368..9f0429b 100644
--- a/includes/alarmHandler.py
+++ b/includes/alarmHandler.py
@@ -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)
diff --git a/includes/checkSubprocesses.py b/includes/checkSubprocesses.py
index e48aa25..4d8b1f5 100644
--- a/includes/checkSubprocesses.py
+++ b/includes/checkSubprocesses.py
@@ -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")
diff --git a/includes/decoders/fms.py b/includes/decoders/fms.py
index 0a04df7..b573725 100644
--- a/includes/decoders/fms.py
+++ b/includes/decoders/fms.py
@@ -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
diff --git a/includes/decoders/poc.py b/includes/decoders/poc.py
index 4b20d56..9ab27e4 100644
--- a/includes/decoders/poc.py
+++ b/includes/decoders/poc.py
@@ -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
diff --git a/includes/decoders/zvei.py b/includes/decoders/zvei.py
index 7258428..43755ec 100644
--- a/includes/decoders/zvei.py
+++ b/includes/decoders/zvei.py
@@ -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
diff --git a/includes/descriptionList.py b/includes/descriptionList.py
index b81e8ab..a45a964 100644
--- a/includes/descriptionList.py
+++ b/includes/descriptionList.py
@@ -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")
diff --git a/includes/doubleFilter.py b/includes/doubleFilter.py
index 8975208..57cf012 100644
--- a/includes/doubleFilter.py
+++ b/includes/doubleFilter.py
@@ -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)
diff --git a/includes/helper/configHandler.py b/includes/helper/configHandler.py
index 52dab13..caf6502 100644
--- a/includes/helper/configHandler.py
+++ b/includes/helper/configHandler.py
@@ -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)
diff --git a/includes/pluginLoader.py b/includes/pluginLoader.py
index d8f474c..26b0c2a 100644
--- a/includes/pluginLoader.py
+++ b/includes/pluginLoader.py
@@ -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)
diff --git a/includes/regexFilter.py b/includes/regexFilter.py
index b2a6745..d90d7e8 100644
--- a/includes/regexFilter.py
+++ b/includes/regexFilter.py
@@ -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(";")
diff --git a/includes/shellHeader.py b/includes/shellHeader.py
index e12f018..561603a 100644
--- a/includes/shellHeader.py
+++ b/includes/shellHeader.py
@@ -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
diff --git a/plugins/BosMon/BosMon.py b/plugins/BosMon/BosMon.py
index 0045407..ac6c59f 100644
--- a/plugins/BosMon/BosMon.py
+++ b/plugins/BosMon/BosMon.py
@@ -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:
diff --git a/plugins/FFAgent/FFAgent.py b/plugins/FFAgent/FFAgent.py
index dffcb71..c4811fb 100644
--- a/plugins/FFAgent/FFAgent.py
+++ b/plugins/FFAgent/FFAgent.py
@@ -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)
diff --git a/plugins/MySQL/MySQL.py b/plugins/MySQL/MySQL.py
index 303549d..4afac03 100644
--- a/plugins/MySQL/MySQL.py
+++ b/plugins/MySQL/MySQL.py
@@ -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)
diff --git a/plugins/Pushover/Pushover.py b/plugins/Pushover/Pushover.py
index 79941b0..afb7657 100644
--- a/plugins/Pushover/Pushover.py
+++ b/plugins/Pushover/Pushover.py
@@ -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": ""+data["description"]+"
"+data["msg"].replace(";", "
"),
- "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:
diff --git a/plugins/README.md b/plugins/README.md
index 48f5f81..5352b47 100644
--- a/plugins/README.md
+++ b/plugins/README.md
@@ -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
```
diff --git a/plugins/SMS/SMS.py b/plugins/SMS/SMS.py
index eb56af3..19ecfe0 100644
--- a/plugins/SMS/SMS.py
+++ b/plugins/SMS/SMS.py
@@ -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)
diff --git a/plugins/Sms77/Sms77.py b/plugins/Sms77/Sms77.py
index 5859bf7..3fd89e3 100644
--- a/plugins/Sms77/Sms77.py
+++ b/plugins/Sms77/Sms77.py
@@ -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"]+"
"+data["msg"].replace(";", "
")
}),{"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"})
diff --git a/plugins/Telegram/Telegram.py b/plugins/Telegram/Telegram.py
index 1922042..ebc3392 100644
--- a/plugins/Telegram/Telegram.py
+++ b/plugins/Telegram/Telegram.py
@@ -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
diff --git a/plugins/eMail/eMail.py b/plugins/eMail/eMail.py
index e6ea139..f85866a 100644
--- a/plugins/eMail/eMail.py
+++ b/plugins/eMail/eMail.py
@@ -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)
diff --git a/plugins/firEmergency/firEmergency.py b/plugins/firEmergency/firEmergency.py
index 0a1522b..a724cd2 100644
--- a/plugins/firEmergency/firEmergency.py
+++ b/plugins/firEmergency/firEmergency.py
@@ -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)
diff --git a/plugins/httpRequest/httpRequest.py b/plugins/httpRequest/httpRequest.py
index e7074b2..5ece14b 100644
--- a/plugins/httpRequest/httpRequest.py
+++ b/plugins/httpRequest/httpRequest.py
@@ -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:
diff --git a/plugins/jsonSocket/jsonSocket.py b/plugins/jsonSocket/jsonSocket.py
index 10d66fd..91917cc 100644
--- a/plugins/jsonSocket/jsonSocket.py
+++ b/plugins/jsonSocket/jsonSocket.py
@@ -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:
diff --git a/plugins/notifyMyAndroid/notifyMyAndroid.py b/plugins/notifyMyAndroid/notifyMyAndroid.py
index 0f2c366..89012b7 100644
--- a/plugins/notifyMyAndroid/notifyMyAndroid.py
+++ b/plugins/notifyMyAndroid/notifyMyAndroid.py
@@ -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: