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: