34 lines
782 B
Python
34 lines
782 B
Python
import select
|
|
from parser.SettingsParser.SettingsParser import SettingsParser
|
|
|
|
|
|
class CmdArgsOverriderSettingsProvider:
|
|
def __init__(self, settingsProvider, settingLines):
|
|
assert settingsProvider is not None
|
|
|
|
self.inner = settingsProvider
|
|
self.overrideSettings = settingLines
|
|
|
|
def fetchSettings(self):
|
|
settings = self.inner.fetchSettings()
|
|
|
|
if self.overrideSettings:
|
|
for s in self.overrideSettings:
|
|
line = self.normalizeLine(s)
|
|
settingParser = SettingsParser(settings)
|
|
settingParser.processLine(line)
|
|
|
|
return settings
|
|
|
|
|
|
def normalizeLine(self, line):
|
|
assert line is not None
|
|
assert '=' in line
|
|
|
|
index = line.find('=')
|
|
path = line[0:index]
|
|
value = line[index + 1:]
|
|
|
|
normalizedLine = "{0} = '{1}'".format(path, value)
|
|
return normalizedLine
|