def run(self): if self.options[0].exists: directory = self.context.parse(self.arguments[0].data) self.recursive_remove(directory) DB().session.commit() else: file = self.context.parse(self.arguments[0].data, is_file=True) FileDao.delete_file(file)
def recursive_remove(self, directory): """Recursively removes directories :param directory: Directory model object to search""" directories = DirectoryDao.\ get_directories_from_current_directory(directory) for directory in directories: self.recursive_remove(directory) DirectoryDao.delete_directory(directory, commit=False) files = FileDao.get_files_from_current_directory(directory) for file in files: FileDao.delete_file(file, commit=False) DirectoryDao.delete_directory(directory, commit=False)