From 78c8568855f3c4a47c63c1f6f2bf2040fc6ece7f Mon Sep 17 00:00:00 2001 From: rzaitov Date: Wed, 13 Nov 2013 19:54:21 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D1=83=D1=82=D1=8C=20=D0=BA=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D1=83=20=D1=81=20=D0=BD=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=D0=BA=D0=B0=D0=BC=D0=B8=20=D1=87=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D1=8B?= =?UTF-8?q?=20=D0=BA=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/TouchinBuild/taskRunner.py | 8 ++++++-- .../utils/SettingsProvider/FromFileSettingsProvider.py | 7 +++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/scripts/TouchinBuild/taskRunner.py b/scripts/TouchinBuild/taskRunner.py index d1f49cb..faa9fb3 100755 --- a/scripts/TouchinBuild/taskRunner.py +++ b/scripts/TouchinBuild/taskRunner.py @@ -78,7 +78,11 @@ class TaskRunner: if __name__ == "__main__": parser = argparse.ArgumentParser() - overrideArgs = parser.parse_known_args()[1] + parser.add_argument('--settings', required=False) + allArgs = parser.parse_known_args() + + knownArgs = allArgs[0] + overrideArgs = allArgs[1] # компоную препроцессор для индивидуальной обработки строк (удаление комментариев и ведущих пробельных символов) lineStripper = Stripper() @@ -88,7 +92,7 @@ if __name__ == "__main__": linePreprocessor.addProcessor(lineStripper) # TODO: перенести в корень комапановки - settingsPath = 'scripts/settings.txt' + settingsPath = knownArgs.settings or 'settings.txt' fromFileSettingsProvider = FromFileSettingsProvider(settingsPath, linePreprocessor) overrideWithCmdSetProvider = CmdArgsOverriderSettingsProvider(fromFileSettingsProvider, overrideArgs, linePreprocessor) diff --git a/scripts/TouchinBuild/utils/SettingsProvider/FromFileSettingsProvider.py b/scripts/TouchinBuild/utils/SettingsProvider/FromFileSettingsProvider.py index 6df08db..69618c2 100644 --- a/scripts/TouchinBuild/utils/SettingsProvider/FromFileSettingsProvider.py +++ b/scripts/TouchinBuild/utils/SettingsProvider/FromFileSettingsProvider.py @@ -1,3 +1,4 @@ +import os from Core.SettingsProviderBase import SettingsProviderBase from parsers.SettingsParser.SettingsParser import SettingsParser @@ -13,6 +14,12 @@ class FromFileSettingsProvider(SettingsProviderBase): self.compositeLineProcessor = compositeLineProcessor def fetchSettings(self): + if not os.path.exists(self.pathToSettings): + raise Exception('settings file {0} not found'.format(self.pathToSettings)) + + if not os.path.isfile(self.pathToSettings): + raise Exception('{0} is not a file'.format(self.pathToSettings)) + settingsFile = open(self.pathToSettings) content = settingsFile.read()