From c94ddfce3188d3c1f308871656e3098b10937e4e Mon Sep 17 00:00:00 2001 From: Schrolli Date: Thu, 2 Jul 2015 11:51:28 +0200 Subject: [PATCH] add helper.replaceWildcards() to helper.py --- README.md | 12 ++++++------ includes/helper.py | 46 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 69ec78d..1e8bd6a 100644 --- a/README.md +++ b/README.md @@ -37,12 +37,12 @@ If you want to code your own Plugin, see Section `Code your own Plugin` at the e |Plugin|Function|FMS|ZVEI|POC| |-----|---------|:-:|:--:|:-:| -|MySQL|insert data into MySQL database|:thumbsup:|:thumbsup:|:thumbsup:| -|httpRequest|send a request with parameter to an URL|:thumbsup:|:thumbsup:|:thumbsup:| -|eMail|send Mails with own text|:thumbsup:|:thumbsup:|:thumbsup:| -|BosMon|send data to BosMon server|:thumbsup:|:thumbsup:|:thumbsup:| -|firEmergency|send data to firEmergency server|:x:|:thumbsup:|:thumbsup:| -|jsonSocket|send data as jsonString to a socket server|:thumbsup:|:thumbsup:|:thumbsup:| +|MySQL|insert data into MySQL database|:white_check_mark:|:white_check_mark:|:white_check_mark:| +|httpRequest|send a request with parameter to an URL|:white_check_mark:|:white_check_mark:|:white_check_mark:| +|eMail|send Mails with own text|:white_check_mark:|:white_check_mark:|:white_check_mark:| +|BosMon|send data to BosMon server|:white_check_mark:|:white_check_mark:|:white_check_mark:| +|firEmergency|send data to firEmergency server|:x:|:white_check_mark:|:white_check_mark:| +|jsonSocket|send data as jsonString to a socket server|:white_check_mark:|:white_check_mark:|:white_check_mark:| - for more Information to the plugins see `config.ini` diff --git a/includes/helper.py b/includes/helper.py index 2c9b789..2b549e2 100644 --- a/includes/helper.py +++ b/includes/helper.py @@ -4,12 +4,13 @@ """ little Helper functions -mainly for direct usw in plugins to save code +mainly for direct use in plugins to save code @author: Bastian Schroll """ import logging + import time @@ -29,3 +30,46 @@ def curtime(format="%d.%m.%Y %H:%M:%S"): except: logging.warning("error in time-format-string") logging.debug("error in time-format-string", exc_info=True) + + +def replaceWildcards(text,data): + """ + Replace all official Wildcards with the Information from the data[] var + + @type text: string + @param text: Input text with wildcards + @type data: map + @param data: map of data (structure see interface.txt) + + @return: text with replaced wildcards + @exception: Exception if Error at replace + """ + try: + # replace date and time wildcards + text = text.replace("%TIME%", curtime("%H:%M:%S")).replace("%DATE%", curtime("%d.%m.%Y")) + + # replace FMS data + if "fms" in data: text = text.replace("%FMS%", data["fms"]) + if "status" in data: text = text.replace("%STATUS%", data["status"]) + if "direction" in data: text = text.replace("%DIR%", data["direction"]) + if "directionText" in data: text = text.replace("%DIRT%", data["directionText"]) + if "tsi" in data: text = text.replace("%TSI%", data["tsi"]) + + # replace ZVEI data + if "zvei" in data: text = text.replace("%ZVEI%", data["zvei"]) + + # replace POC data + if "ric" in data: text = text.replace("%RIC%", data["ric"]) + if "function" in data: text = text.replace("%FUNC%", data["function"]) + if "functionChar" in data: text = text.replace("%FUNCCHAR%", data["functionChar"]) + if "msg" in data: text = text.replace("%MSG%", data["msg"]) + if "bitrate" in data: text = text.replace("%BITRATE%", str(data["bitrate"])) + + # replace description (exists by all) + if "description" in data: text = text.replace("%DESCR%", data["description"]) + + return text + + except: + logging.warning("error wildcard replacement") + logging.debug("error wildcard replacement", exc_info=True)