add template plugin

This commit is contained in:
Bastian Schroll 2018-01-14 16:28:11 +01:00
parent 9c824ff862
commit d80db0d6cc
6 changed files with 68 additions and 8 deletions

View file

@ -51,12 +51,12 @@ class Config:
@param sharePoint: Name of the global share point
@return True or False"""
try:
bool(self._sharePoints[sharePoint])
bool(self._sharePoints[sharePoint]) # todo not a nice method to check
logging.error("cannot share config - name is always in use: %s", sharePoint)
return False
except:
self._sharePoints[sharePoint] = self._config
logging.debug("configuration sharePoint: %s", sharePoint)
logging.debug("add config sharePoint: %s", sharePoint)
return True
def getInt(self, section, key, sharePoint=""):

View file

@ -17,6 +17,9 @@
import logging
import time
from boswatch.utils import paths
from boswatch.config import Config
logging.debug("- %s loaded", __name__)
@ -43,6 +46,10 @@ class Plugin:
self._alarmErrorCount = 0
self._teardownErrorCount = 0
if paths.FileExist(paths.PLUGIN_PATH + pluginName + "/" + pluginName + ".ini"):
self.config = Config()
self.config.loadConfigFile(paths.PLUGIN_PATH + pluginName + "/" + pluginName + ".ini", pluginName)
logging.debug("[%s] onLoad()", pluginName)
self.onLoad()

View file

@ -29,8 +29,8 @@ BIN_PATH = ROOT_PATH + "_bin/"
TEST_PATH = ROOT_PATH + "test/"
def ifFileExist(filePath):
pass
def FileExist(filePath):
return os.path.exists(filePath)
def makeDirIfNotExist(dirPath):

View file

@ -57,7 +57,4 @@ zvei = 0
# all greater than 0 enable the plugin
# the higher the number the earlier the plugin is called on alarm
# we call ist Plugin Prioority
template = 11
test = 23
testPlugin = 0
abcPlugin = 0
template = 1

View file

@ -0,0 +1,4 @@
[Example]
String = Hello World!
bool = 1
integer = 12

View file

@ -0,0 +1,52 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""!
____ ____ ______ __ __ __ _____
/ __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ /
/ __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ <
/ /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ /
/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/
German BOS Information Script
by Bastian Schroll
@file: template.py
@date: 14.01.2018
@author: Bastian Schroll
@description: Template Plugin File
"""
import logging
from boswatch.plugin.plugin import Plugin
logging.debug("- %s loaded", __name__)
class BoswatchPlugin(Plugin):
def __init__(self):
"""!Do not change anything here except the PLUGIN NAME in the super() call"""
# PLEASE SET YOU PLUGIN NAME HERE !!!!
super().__init__("template")
def onLoad(self):
"""!Called by import of the plugin"""
logging.debug("onLoad")
def setup(self):
"""!Called before alarm"""
logging.info(self.config.getStr("Example", "String"))
def alarm(self, bwPacket):
"""!Called on alarm
@param bwPacket: bwPacket instance"""
logging.info(bwPacket)
logging.info(self.config.getBool("Example", "bool"))
def teardown(self):
"""!Called after alarm
Must be inherit"""
logging.info(self.config.getInt("Example", "integer"))
def onUnload(self):
logging.debug("onUnload")
"""!Called by destruction of the plugin"""
pass