Files
seweb/chart_config.py
2024-08-19 11:02:32 +02:00

29 lines
1.0 KiB
Python

from configparser import ConfigParser
class ChartConfig:
def __init__(self):
cfgp = ConfigParser()
cfgp.read("./variables_config.ini")
self.chart_config = cfgp["chart"]
def get_variable_parameter_config(self, key):
config = {}
positionnal = ["cat", "color", "unit"]
if key in self.chart_config.keys():
raw_value = self.chart_config[key]
arguments = raw_value.split(",")
keyword_mode = False
for i, argument in enumerate(arguments):
pieces = argument.split(":")
if len(pieces) == 2:
keyword_mode = True
config[pieces[0]] = pieces[1]
else:
if not keyword_mode: #everything is going well
config[positionnal[i]] = pieces[0]
else: #we cannot have a positionnal argument after a keyword argument
return None
return config
else:
return None