BOSWatch/includes/helper.py

76 lines
2.2 KiB
Python
Raw Normal View History

#!/usr/bin/python
# -*- coding: cp1252 -*-
#
"""
little Helper functions
mainly for direct use in plugins to save code
@author: Bastian Schroll
"""
import logging
import time
2015-07-01 14:52:33 +02:00
def curtime(format="%d.%m.%Y %H:%M:%S"):
"""
2015-07-01 14:52:33 +02:00
Returns formated date and/or time
see: https://docs.python.org/2/library/time.html#time.strftime
2015-07-02 09:02:49 +02:00
@type format: string
@param format: Python time Format-String
2015-07-02 09:02:49 +02:00
@return: Formated Time and/or Date
@exception: Exception if Error in format
2015-07-02 09:02:49 +02:00
"""
try:
2015-07-02 09:02:49 +02:00
return time.strftime(format)
except:
logging.warning("error in time-format-string")
2015-07-02 09:02:49 +02:00
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)