diff --git a/scripts/TouchinBuild/CommandBuilders/DeleteBackupCommandBuilder.py b/scripts/TouchinBuild/CommandBuilders/DeleteBackupCommandBuilder.py index 5fd5b66..53e9238 100644 --- a/scripts/TouchinBuild/CommandBuilders/DeleteBackupCommandBuilder.py +++ b/scripts/TouchinBuild/CommandBuilders/DeleteBackupCommandBuilder.py @@ -18,7 +18,7 @@ class DeleteBackupCommandBuilder: assert line is not None parser = DeleteBackupParser() - folderPath = parser.parseLine(line) + parser.parseLine(line) - command = DeleteBackupCommand(folderPath) + command = DeleteBackupCommand() return command diff --git a/scripts/TouchinBuild/Tests/ManualTests/delete_backup_test.py b/scripts/TouchinBuild/Tests/ManualTests/delete_backup_test.py index 92f6b2e..4c312c4 100644 --- a/scripts/TouchinBuild/Tests/ManualTests/delete_backup_test.py +++ b/scripts/TouchinBuild/Tests/ManualTests/delete_backup_test.py @@ -1,6 +1,6 @@ from CommandBuilders.DeleteBackupCommandBuilder import DeleteBackupCommandBuilder -line = "delete backup 'BuildSample'" +line = "delete backup" cmdBuilder = DeleteBackupCommandBuilder() command = cmdBuilder.getCommandFor(line) diff --git a/scripts/TouchinBuild/commands/BaseBackupCommand/DeleteBackupCommand.py b/scripts/TouchinBuild/commands/BaseBackupCommand/DeleteBackupCommand.py index 6cc0806..c29f5ce 100644 --- a/scripts/TouchinBuild/commands/BaseBackupCommand/DeleteBackupCommand.py +++ b/scripts/TouchinBuild/commands/BaseBackupCommand/DeleteBackupCommand.py @@ -1,3 +1,4 @@ +import os import shutil from commands.BaseBackupCommand.BaseBackupCommand import BaseBackupCommand @@ -7,4 +8,7 @@ class DeleteBackupCommand(BaseBackupCommand): BaseBackupCommand.__init__(self) def execute(self): + if not os.path.exists(self.backupDirAbsPath): + raise Exception('backup folder: {0} not exists'.format(self.backupDirAbsPath)) + shutil.rmtree(self.backupDirAbsPath, ignore_errors=True) diff --git a/scripts/TouchinBuild/parsers/ParserBackup/DeleteBackupParser.py b/scripts/TouchinBuild/parsers/ParserBackup/DeleteBackupParser.py index c210f32..936f4ec 100644 --- a/scripts/TouchinBuild/parsers/ParserBackup/DeleteBackupParser.py +++ b/scripts/TouchinBuild/parsers/ParserBackup/DeleteBackupParser.py @@ -10,8 +10,7 @@ class DeleteBackupParser(ParserBackupBase): def getMatchInfo(self, line): assert line is not None - folderNameRegexp = r"'(?P[^']+)'$" - regexpSource = self.startsWith('delete') + self.than('backup') + folderNameRegexp + regexpSource = self.startsWith('delete') + self.endsWith('backup') regexp = re.compile(regexpSource, re.UNICODE) match = regexp.match(line)