diff --git a/scripts/parser/CleanBuildParser/CleanBuildParser.py b/scripts/parser/CleanBuildParser/CleanBuildParser.py new file mode 100644 index 0000000..78c08bb --- /dev/null +++ b/scripts/parser/CleanBuildParser/CleanBuildParser.py @@ -0,0 +1,31 @@ +from parser.LineParser import LineParser +import re + +class CleanBuildParser(LineParser): + def __init__(self, commandToken): + assert commandToken is not None + + self.__commandToken = commandToken + + def parseLine(self, line): + assert line is not None + + filePathRegexp = r"'(?P[./ a-zA-Z]+\.sln)'" + slnConfigRegexp = r"'(?P[a-zA-Z|]+)'$" + + regexpSource = self.startsWithKeywordToken(self.__commandToken) + filePathRegexp + self.keywordToken('for') + slnConfigRegexp + regexp = re.compile(regexpSource, re.UNICODE) + + match = regexp.match(line) + self._guardMatch(match, line, regexpSource) + + path = match.group('path') + slnConfig = match.group('config') + + return (path, slnConfig) + + def isValidLine(self, line): + assert line is not None + + isValid = line.startswith(self.__commandToken) + return isValid diff --git a/scripts/parser/CleanBuildParser/__init__.py b/scripts/parser/CleanBuildParser/__init__.py new file mode 100644 index 0000000..cc31abc --- /dev/null +++ b/scripts/parser/CleanBuildParser/__init__.py @@ -0,0 +1 @@ +__author__ = 'rzaitov'