aboutsummaryrefslogtreecommitdiffstats
path: root/reaktor/getconf.py
blob: 168c908c435112507b52211af7efff8c153f777f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#getconf = make_getconf("dateiname.json") 
#getconf(key) -> value                    
#oder error                               

import imp
import os


def make_getconf(filename):


    def getconf(prop, default_value=None):
        prop_split = prop.split('.')
        string = ''
        config = load_config(filename)
        #imp.reload(config)
        tmp = config.__dict__
        for pr in prop_split:
            if pr in tmp:
                tmp = tmp[pr]
            else:
                return default_value
        return tmp

    return getconf


def load_config(filename):
    dirname = os.path.dirname(filename)
    modname, ext = os.path.splitext(os.path.basename(filename))
    file, pathname, description = imp.find_module(modname, [ dirname ])
    return imp.load_module(modname, file, pathname, description)