@credentials_required
    def create(self, title, description=None, document_ids=None):
        """
        Creates a new project.

        Returns its unique identifer in documentcloud

        Example usage:

            >> documentcloud.projects.create("The Ruben Salazar Files")

        """
        params = {
            'title': title,
        }
        if description:
            params['description'] = description
        params = urllib.parse.urlencode(params, doseq=True)
        if document_ids:
            # These need to be specially formatted in the style documentcloud
            # expects arrays. The example they provide is:
            # ?document_ids[]=28-boumediene&document_ids[]=207-academy\
            # &document_ids[]=30-insider-trading
            params += "".join([
                id % '&document_ids[]=%s' for id in document_ids
            ])
        response = self._make_request(
            self.BASE_URI + "projects.json",
            params.encode("utf-8")
        )
        new_id = json.loads(response.decode("utf-8"))['project']['id']
        # If it doesn't exist, that suggests the project already exists
        if not new_id:
            raise DuplicateObjectError("The Project title you tried to create \
                already exists")
        # Fetch the actual project object from the API and return that.
        return self.get(new_id)
dataset/ETHPy150Open datadesk/python-documentcloud/documentcloud/__init__.py/ProjectClient.create/swapped operands of `%`