Реализовал переопределение настроек конфигураций из коммандной строки
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
__author__ = 'rzaitov'
|
||||
Reference in New Issue
Block a user