def create_dirs()

in airavata_django_portal_sdk/user_storage/backends/django_filesystem_provider.py [0:0]


    def create_dirs(self, resource_path, dir_names=[], create_unique=False):
        datastore = self.datastore
        # Special case: handle creating user's home directory
        if resource_path == '' and not datastore.exists(''):
            datastore.create_user_dir('')
            return self.resource_id, datastore.path(resource_path)
        if not datastore.exists(resource_path):
            raise ObjectDoesNotExist(f"User resource_path does not exist {resource_path}")
        valid_dir_names = []
        for dir_name in dir_names:
            valid_dir_names.append(datastore.get_valid_name(dir_name))
        final_path = os.path.join(resource_path, *valid_dir_names)
        if datastore.exists(final_path) and not create_unique:
            raise Exception(f"Directory {final_path} already exists")
        # Make sure path is unique if it already exists
        final_path = datastore.get_available_name(final_path)
        datastore.create_user_dir(final_path)
        return self.resource_id, datastore.path(final_path)