diff --git a/scripts/CommandBuilders/DeleteBackupCommandBuilder.py b/scripts/CommandBuilders/DeleteBackupCommandBuilder.py new file mode 100644 index 0000000..0e9eb76 --- /dev/null +++ b/scripts/CommandBuilders/DeleteBackupCommandBuilder.py @@ -0,0 +1,25 @@ +from commands.DeleteBackupCommand import DeleteBackupCommand +from parser.BackupParser.DeleteBackupParser import DeleteBackupParser + + +class DeleteBackupCommandBuilder: + def __init__(self, pathProvider): + assert pathProvider is not None + self.__pathProvider = pathProvider + + def isDeleteBackup(self, line): + assert line is not None + + parser = DeleteBackupParser() + isValid = parser.isValidLine(line) + + return isValid + + def getCommandFor(self, line): + assert line is not None + + parser = DeleteBackupParser() + parser.parseLine(line) + + command = DeleteBackupCommand(self.__pathProvider) + return command diff --git a/scripts/ManualTests/delete_backup_test.py b/scripts/ManualTests/delete_backup_test.py new file mode 100644 index 0000000..7ac8044 --- /dev/null +++ b/scripts/ManualTests/delete_backup_test.py @@ -0,0 +1,12 @@ +from CommandBuilders.DeleteBackupCommandBuilder import DeleteBackupCommandBuilder +from ManualTests.path_provider import PathProvider + +line = "delete backup" + +baseDir = '../' +path_provider = PathProvider(baseDir) + +cmdBuilder = DeleteBackupCommandBuilder(path_provider) +command = cmdBuilder.getCommandFor(line) + +command.execute() \ No newline at end of file diff --git a/scripts/commands/DeleteBackupCommand.py b/scripts/commands/DeleteBackupCommand.py new file mode 100644 index 0000000..db69c71 --- /dev/null +++ b/scripts/commands/DeleteBackupCommand.py @@ -0,0 +1,15 @@ +import os +import shutil + +class DeleteBackupCommand: + def __init__(self, pathProvider): + assert pathProvider is not None + + self.__pathProvider = pathProvider + + def execute(self): + baseDir = self.__pathProvider.resolveAbsPath('.') + + dirs = [name for name in os.listdir(baseDir) if os.path.isdir(os.path.join(baseDir, name))] + for dir in dirs: + shutil.rmtree(dir) \ No newline at end of file diff --git a/scripts/run_manual_tests.py b/scripts/run_manual_tests.py index d37be40..15afad6 100644 --- a/scripts/run_manual_tests.py +++ b/scripts/run_manual_tests.py @@ -1,5 +1,6 @@ #import ManualTests.csproj_test #import ManualTests.info_plist_test #import ManualTests.copy_test +#import ManualTests.create_backup_test -import ManualTests.create_backup_test \ No newline at end of file +import ManualTests.delete_backup_test \ No newline at end of file