From c52582ed29971cddcfdf468234448ca9dcfb542d Mon Sep 17 00:00:00 2001 From: rzaitov Date: Wed, 30 Oct 2013 20:13:36 +0400 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D1=83=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D1=82=D0=B5=D1=81=D1=82=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/ManualTests/remove_project.py | 2 +- scripts/parser/InsideParser/InsideParser.py | 36 ------------------- .../parser/InsideParser/InsideRemoveParser.py | 2 +- scripts/parser/LineParser.py | 4 +++ 4 files changed, 6 insertions(+), 38 deletions(-) delete mode 100644 scripts/parser/InsideParser/InsideParser.py diff --git a/scripts/ManualTests/remove_project.py b/scripts/ManualTests/remove_project.py index 3211f2e..5b45f7a 100644 --- a/scripts/ManualTests/remove_project.py +++ b/scripts/ManualTests/remove_project.py @@ -1,6 +1,6 @@ from CommandBuilders.RemoveProjectCommandBuilder import RemoveProjectCommandBuilder -line = "inside 'BuildSample/BuildSample.sln' remove NotCompile project" +line = "inside 'BuildSample/BuildSample.sln' remove NotCompileApp project" builder = RemoveProjectCommandBuilder() command = builder.getCommandFor(line) diff --git a/scripts/parser/InsideParser/InsideParser.py b/scripts/parser/InsideParser/InsideParser.py deleted file mode 100644 index 4f6cf21..0000000 --- a/scripts/parser/InsideParser/InsideParser.py +++ /dev/null @@ -1,36 +0,0 @@ -from parser.LineParser import LineParser -import re - -class InsideParser(LineParser): - def __init__(self, value_provider, fileExt): - assert value_provider is not None - - self.__value_provider = value_provider - self.__extension = fileExt - - def parseLine(self, line): - assert line is not None - - filePathRegexp = r"'(?P[./ a-zA-Z]+\.{0})'".format(self.__extension) - keyRegexp = r'(?P[a-zA-Z]+)' - valueRegexp = r"'(?P[^']+)'" - - regexpSource = self.startsWithKeywordToken('inside') + filePathRegexp + self.keywordToken('set') + keyRegexp + self.keywordToken('to') + valueRegexp - regexp = re.compile(regexpSource, re.UNICODE) - - match = regexp.match(line) - self._guardMatch(match, line, regexpSource) - - filePath = match.group('file') - key = match.group('key') - value = match.group('value') - - return (filePath, key, value) - - def isValidLine(self, line): - regexpSrc = r"inside\s+'[./ a-zA-Z]+\.{0}'\s+set".format(self.__extension) - print regexpSrc - regexp = re.compile(regexpSrc, re.UNICODE) - - match = regexp.match(line) - return match is not None \ No newline at end of file diff --git a/scripts/parser/InsideParser/InsideRemoveParser.py b/scripts/parser/InsideParser/InsideRemoveParser.py index 9385ac5..0b8c815 100644 --- a/scripts/parser/InsideParser/InsideRemoveParser.py +++ b/scripts/parser/InsideParser/InsideRemoveParser.py @@ -14,7 +14,7 @@ class InsideRemoveParser(LineParser): filePathRegexp = r"'(?P[./ a-zA-Z]+\.{0})'".format(self.__extension) projectNameRegexp = r'(?P[.a-zA-Z]+)' - regexpSource = self.startsWithKeywordToken('inside') + filePathRegexp + self.keywordToken('remove') + projectNameRegexp + self.keywordToken('project') + regexpSource = self.startsWithKeywordToken('inside') + filePathRegexp + self.keywordToken('remove') + projectNameRegexp + self.endsWithKeywordToken('project') regexp = re.compile(regexpSource, re.UNICODE) match = regexp.match(line) diff --git a/scripts/parser/LineParser.py b/scripts/parser/LineParser.py index 014c94c..ef5e2cb 100644 --- a/scripts/parser/LineParser.py +++ b/scripts/parser/LineParser.py @@ -15,6 +15,10 @@ class LineParser: assert keyword is not None return r'^' + keyword + r'\s+' + def endsWithKeywordToken(self, keyword): + assert keyword is not None + return r'\s+' + keyword + '$' + def _guardMatch(self, match_object, source, regexpSource = None): if match_object is None: msg = 'Recognition exception: "{0}" for "{1}"'.format(source, regexpSource)