コード例 #1
0
    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)
コード例 #2
0
    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)