summaryrefslogtreecommitdiffstats
path: root/func
diff options
context:
space:
mode:
authorKrzysztof A. Adamski <krzysztofa@gmail.com>2008-06-29 14:49:10 -0400
committerKrzysztof A. Adamski <krzysztofa@gmail.com>2008-06-29 14:49:10 -0400
commitc778b947e9ddb9ea3aa39a2d69c36e90ba9b089e (patch)
tree634bc02aea8d9c02df83d54fae03fdb27fb32031 /func
parentfa085e9a10aabf66cc784541f3ed8297afaf6436 (diff)
downloadthird_party-func-c778b947e9ddb9ea3aa39a2d69c36e90ba9b089e.tar.gz
third_party-func-c778b947e9ddb9ea3aa39a2d69c36e90ba9b089e.tar.xz
third_party-func-c778b947e9ddb9ea3aa39a2d69c36e90ba9b089e.zip
Add support for local modules configuration files.
Diffstat (limited to 'func')
-rw-r--r--func/minion/modules/func_module.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/func/minion/modules/func_module.py b/func/minion/modules/func_module.py
index 53fd66b..d75cb33 100644
--- a/func/minion/modules/func_module.py
+++ b/func/minion/modules/func_module.py
@@ -13,7 +13,7 @@
import inspect
from func import logger
-from func.config import read_config
+from func.config import read_config, BaseConfig
from func.commonconfig import FuncdConfig
from func.minion.func_arg import * #the arg getter stuff
@@ -24,6 +24,9 @@ class FuncModule(object):
api_version = "0.0.0"
description = "No Description provided"
+ class Config(BaseConfig):
+ pass
+
def __init__(self):
config_file = '/etc/func/minion.conf'
@@ -37,11 +40,17 @@ class FuncModule(object):
"list_methods" : self.__list_methods,
"get_method_args" : self.__get_method_args,
}
+ self.__init_options()
def __init_log(self):
log = logger.Logger()
self.logger = log.logger
+ def __init_options(self):
+ options_file = '/etc/func/modules/'+self.__class__.__name__+'.conf'
+ self.options = read_config(options_file, self.Config)
+ return
+
def register_rpc(self, handlers, module_name):
# add the internal methods, note that this means they
# can get clobbbered by subclass versions