aboutsummaryrefslogtreecommitdiffstats
path: root/python_client/fatcat_client
diff options
context:
space:
mode:
Diffstat (limited to 'python_client/fatcat_client')
-rw-r--r--python_client/fatcat_client/README.md208
-rw-r--r--python_client/fatcat_client/__init__.py48
-rw-r--r--python_client/fatcat_client/__version__.py3
-rw-r--r--python_client/fatcat_client/api/__init__.py6
-rw-r--r--python_client/fatcat_client/api/default_api.py9299
-rw-r--r--python_client/fatcat_client/api_client.py621
-rw-r--r--python_client/fatcat_client/configuration.py247
-rw-r--r--python_client/fatcat_client/models/__init__.py41
-rw-r--r--python_client/fatcat_client/models/auth_oidc.py194
-rw-r--r--python_client/fatcat_client/models/auth_oidc_result.py142
-rw-r--r--python_client/fatcat_client/models/changelog_entry.py195
-rw-r--r--python_client/fatcat_client/models/container_entity.py436
-rw-r--r--python_client/fatcat_client/models/creator_entity.py410
-rw-r--r--python_client/fatcat_client/models/editgroup.py234
-rw-r--r--python_client/fatcat_client/models/editgroup_edits.py270
-rw-r--r--python_client/fatcat_client/models/editor.py225
-rw-r--r--python_client/fatcat_client/models/entity_edit.py319
-rw-r--r--python_client/fatcat_client/models/entity_history_entry.py171
-rw-r--r--python_client/fatcat_client/models/error_response.py113
-rw-r--r--python_client/fatcat_client/models/file_entity.py474
-rw-r--r--python_client/fatcat_client/models/file_entity_urls.py140
-rw-r--r--python_client/fatcat_client/models/fileset_entity.py353
-rw-r--r--python_client/fatcat_client/models/fileset_entity_manifest.py262
-rw-r--r--python_client/fatcat_client/models/release_contrib.py246
-rw-r--r--python_client/fatcat_client/models/release_entity.py942
-rw-r--r--python_client/fatcat_client/models/release_entity_abstracts.py196
-rw-r--r--python_client/fatcat_client/models/release_ref.py302
-rw-r--r--python_client/fatcat_client/models/stats_response.py112
-rw-r--r--python_client/fatcat_client/models/success.py113
-rw-r--r--python_client/fatcat_client/models/webcapture_entity.py405
-rw-r--r--python_client/fatcat_client/models/webcapture_entity_archive_urls.py140
-rw-r--r--python_client/fatcat_client/models/webcapture_entity_cdx.py284
-rw-r--r--python_client/fatcat_client/models/work_entity.py272
-rw-r--r--python_client/fatcat_client/rest.py323
34 files changed, 17746 insertions, 0 deletions
diff --git a/python_client/fatcat_client/README.md b/python_client/fatcat_client/README.md
new file mode 100644
index 00000000..8704641e
--- /dev/null
+++ b/python_client/fatcat_client/README.md
@@ -0,0 +1,208 @@
+# fatcat-client
+A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata
+
+This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
+
+- API version: 0.1.0
+- Package version: 1.0.0
+- Build package: io.swagger.codegen.languages.PythonClientCodegen
+
+## Requirements.
+
+Python 2.7 and 3.4+
+
+## Installation & Usage
+### pip install
+
+If the python package is hosted on Github, you can install directly from Github
+
+```sh
+pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
+```
+(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)
+
+Then import the package:
+```python
+import fatcat_client
+```
+
+### Setuptools
+
+Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
+
+```sh
+python setup.py install --user
+```
+(or `sudo python setup.py install` to install the package for all users)
+
+Then import the package:
+```python
+import fatcat_client
+```
+
+## Getting Started
+
+Please follow the [installation procedure](#installation--usage) and then run the following:
+
+```python
+from __future__ import print_function
+import time
+import fatcat_client
+from fatcat_client.rest import ApiException
+from pprint import pprint
+
+# Configure API key authorization: Bearer
+fatcat_client.configuration.api_key['Authorization'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+# fatcat_client.configuration.api_key_prefix['Authorization'] = 'Bearer'
+# create an instance of the API class
+api_instance = fatcat_client.DefaultApi()
+editgroup_id = 'editgroup_id_example' # str | base32-encoded unique identifier
+
+try:
+ api_response = api_instance.accept_editgroup(editgroup_id)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling DefaultApi->accept_editgroup: %s\n" % e)
+
+```
+
+## Documentation for API Endpoints
+
+All URIs are relative to *https://api.fatcat.wiki/v0*
+
+Class | Method | HTTP request | Description
+------------ | ------------- | ------------- | -------------
+*DefaultApi* | [**accept_editgroup**](docs/DefaultApi.md#accept_editgroup) | **POST** /editgroup/{editgroup_id}/accept |
+*DefaultApi* | [**auth_check**](docs/DefaultApi.md#auth_check) | **GET** /auth/check |
+*DefaultApi* | [**auth_oidc**](docs/DefaultApi.md#auth_oidc) | **POST** /auth/oidc |
+*DefaultApi* | [**create_container**](docs/DefaultApi.md#create_container) | **POST** /container |
+*DefaultApi* | [**create_container_batch**](docs/DefaultApi.md#create_container_batch) | **POST** /container/batch |
+*DefaultApi* | [**create_creator**](docs/DefaultApi.md#create_creator) | **POST** /creator |
+*DefaultApi* | [**create_creator_batch**](docs/DefaultApi.md#create_creator_batch) | **POST** /creator/batch |
+*DefaultApi* | [**create_editgroup**](docs/DefaultApi.md#create_editgroup) | **POST** /editgroup |
+*DefaultApi* | [**create_file**](docs/DefaultApi.md#create_file) | **POST** /file |
+*DefaultApi* | [**create_file_batch**](docs/DefaultApi.md#create_file_batch) | **POST** /file/batch |
+*DefaultApi* | [**create_fileset**](docs/DefaultApi.md#create_fileset) | **POST** /fileset |
+*DefaultApi* | [**create_fileset_batch**](docs/DefaultApi.md#create_fileset_batch) | **POST** /fileset/batch |
+*DefaultApi* | [**create_release**](docs/DefaultApi.md#create_release) | **POST** /release |
+*DefaultApi* | [**create_release_batch**](docs/DefaultApi.md#create_release_batch) | **POST** /release/batch |
+*DefaultApi* | [**create_webcapture**](docs/DefaultApi.md#create_webcapture) | **POST** /webcapture |
+*DefaultApi* | [**create_webcapture_batch**](docs/DefaultApi.md#create_webcapture_batch) | **POST** /webcapture/batch |
+*DefaultApi* | [**create_work**](docs/DefaultApi.md#create_work) | **POST** /work |
+*DefaultApi* | [**create_work_batch**](docs/DefaultApi.md#create_work_batch) | **POST** /work/batch |
+*DefaultApi* | [**delete_container**](docs/DefaultApi.md#delete_container) | **DELETE** /container/{ident} |
+*DefaultApi* | [**delete_container_edit**](docs/DefaultApi.md#delete_container_edit) | **DELETE** /container/edit/{edit_id} |
+*DefaultApi* | [**delete_creator**](docs/DefaultApi.md#delete_creator) | **DELETE** /creator/{ident} |
+*DefaultApi* | [**delete_creator_edit**](docs/DefaultApi.md#delete_creator_edit) | **DELETE** /creator/edit/{edit_id} |
+*DefaultApi* | [**delete_file**](docs/DefaultApi.md#delete_file) | **DELETE** /file/{ident} |
+*DefaultApi* | [**delete_file_edit**](docs/DefaultApi.md#delete_file_edit) | **DELETE** /file/edit/{edit_id} |
+*DefaultApi* | [**delete_fileset**](docs/DefaultApi.md#delete_fileset) | **DELETE** /fileset/{ident} |
+*DefaultApi* | [**delete_fileset_edit**](docs/DefaultApi.md#delete_fileset_edit) | **DELETE** /fileset/edit/{edit_id} |
+*DefaultApi* | [**delete_release**](docs/DefaultApi.md#delete_release) | **DELETE** /release/{ident} |
+*DefaultApi* | [**delete_release_edit**](docs/DefaultApi.md#delete_release_edit) | **DELETE** /release/edit/{edit_id} |
+*DefaultApi* | [**delete_webcapture**](docs/DefaultApi.md#delete_webcapture) | **DELETE** /webcapture/{ident} |
+*DefaultApi* | [**delete_webcapture_edit**](docs/DefaultApi.md#delete_webcapture_edit) | **DELETE** /webcapture/edit/{edit_id} |
+*DefaultApi* | [**delete_work**](docs/DefaultApi.md#delete_work) | **DELETE** /work/{ident} |
+*DefaultApi* | [**delete_work_edit**](docs/DefaultApi.md#delete_work_edit) | **DELETE** /work/edit/{edit_id} |
+*DefaultApi* | [**get_changelog**](docs/DefaultApi.md#get_changelog) | **GET** /changelog |
+*DefaultApi* | [**get_changelog_entry**](docs/DefaultApi.md#get_changelog_entry) | **GET** /changelog/{index} |
+*DefaultApi* | [**get_container**](docs/DefaultApi.md#get_container) | **GET** /container/{ident} |
+*DefaultApi* | [**get_container_edit**](docs/DefaultApi.md#get_container_edit) | **GET** /container/edit/{edit_id} |
+*DefaultApi* | [**get_container_history**](docs/DefaultApi.md#get_container_history) | **GET** /container/{ident}/history |
+*DefaultApi* | [**get_container_redirects**](docs/DefaultApi.md#get_container_redirects) | **GET** /container/{ident}/redirects |
+*DefaultApi* | [**get_container_revision**](docs/DefaultApi.md#get_container_revision) | **GET** /container/rev/{rev_id} |
+*DefaultApi* | [**get_creator**](docs/DefaultApi.md#get_creator) | **GET** /creator/{ident} |
+*DefaultApi* | [**get_creator_edit**](docs/DefaultApi.md#get_creator_edit) | **GET** /creator/edit/{edit_id} |
+*DefaultApi* | [**get_creator_history**](docs/DefaultApi.md#get_creator_history) | **GET** /creator/{ident}/history |
+*DefaultApi* | [**get_creator_redirects**](docs/DefaultApi.md#get_creator_redirects) | **GET** /creator/{ident}/redirects |
+*DefaultApi* | [**get_creator_releases**](docs/DefaultApi.md#get_creator_releases) | **GET** /creator/{ident}/releases |
+*DefaultApi* | [**get_creator_revision**](docs/DefaultApi.md#get_creator_revision) | **GET** /creator/rev/{rev_id} |
+*DefaultApi* | [**get_editgroup**](docs/DefaultApi.md#get_editgroup) | **GET** /editgroup/{editgroup_id} |
+*DefaultApi* | [**get_editor**](docs/DefaultApi.md#get_editor) | **GET** /editor/{editor_id} |
+*DefaultApi* | [**get_editor_changelog**](docs/DefaultApi.md#get_editor_changelog) | **GET** /editor/{editor_id}/changelog |
+*DefaultApi* | [**get_file**](docs/DefaultApi.md#get_file) | **GET** /file/{ident} |
+*DefaultApi* | [**get_file_edit**](docs/DefaultApi.md#get_file_edit) | **GET** /file/edit/{edit_id} |
+*DefaultApi* | [**get_file_history**](docs/DefaultApi.md#get_file_history) | **GET** /file/{ident}/history |
+*DefaultApi* | [**get_file_redirects**](docs/DefaultApi.md#get_file_redirects) | **GET** /file/{ident}/redirects |
+*DefaultApi* | [**get_file_revision**](docs/DefaultApi.md#get_file_revision) | **GET** /file/rev/{rev_id} |
+*DefaultApi* | [**get_fileset**](docs/DefaultApi.md#get_fileset) | **GET** /fileset/{ident} |
+*DefaultApi* | [**get_fileset_edit**](docs/DefaultApi.md#get_fileset_edit) | **GET** /fileset/edit/{edit_id} |
+*DefaultApi* | [**get_fileset_history**](docs/DefaultApi.md#get_fileset_history) | **GET** /fileset/{ident}/history |
+*DefaultApi* | [**get_fileset_redirects**](docs/DefaultApi.md#get_fileset_redirects) | **GET** /fileset/{ident}/redirects |
+*DefaultApi* | [**get_fileset_revision**](docs/DefaultApi.md#get_fileset_revision) | **GET** /fileset/rev/{rev_id} |
+*DefaultApi* | [**get_release**](docs/DefaultApi.md#get_release) | **GET** /release/{ident} |
+*DefaultApi* | [**get_release_edit**](docs/DefaultApi.md#get_release_edit) | **GET** /release/edit/{edit_id} |
+*DefaultApi* | [**get_release_files**](docs/DefaultApi.md#get_release_files) | **GET** /release/{ident}/files |
+*DefaultApi* | [**get_release_filesets**](docs/DefaultApi.md#get_release_filesets) | **GET** /release/{ident}/filesets |
+*DefaultApi* | [**get_release_history**](docs/DefaultApi.md#get_release_history) | **GET** /release/{ident}/history |
+*DefaultApi* | [**get_release_redirects**](docs/DefaultApi.md#get_release_redirects) | **GET** /release/{ident}/redirects |
+*DefaultApi* | [**get_release_revision**](docs/DefaultApi.md#get_release_revision) | **GET** /release/rev/{rev_id} |
+*DefaultApi* | [**get_release_webcaptures**](docs/DefaultApi.md#get_release_webcaptures) | **GET** /release/{ident}/webcaptures |
+*DefaultApi* | [**get_webcapture**](docs/DefaultApi.md#get_webcapture) | **GET** /webcapture/{ident} |
+*DefaultApi* | [**get_webcapture_edit**](docs/DefaultApi.md#get_webcapture_edit) | **GET** /webcapture/edit/{edit_id} |
+*DefaultApi* | [**get_webcapture_history**](docs/DefaultApi.md#get_webcapture_history) | **GET** /webcapture/{ident}/history |
+*DefaultApi* | [**get_webcapture_redirects**](docs/DefaultApi.md#get_webcapture_redirects) | **GET** /webcapture/{ident}/redirects |
+*DefaultApi* | [**get_webcapture_revision**](docs/DefaultApi.md#get_webcapture_revision) | **GET** /webcapture/rev/{rev_id} |
+*DefaultApi* | [**get_work**](docs/DefaultApi.md#get_work) | **GET** /work/{ident} |
+*DefaultApi* | [**get_work_edit**](docs/DefaultApi.md#get_work_edit) | **GET** /work/edit/{edit_id} |
+*DefaultApi* | [**get_work_history**](docs/DefaultApi.md#get_work_history) | **GET** /work/{ident}/history |
+*DefaultApi* | [**get_work_redirects**](docs/DefaultApi.md#get_work_redirects) | **GET** /work/{ident}/redirects |
+*DefaultApi* | [**get_work_releases**](docs/DefaultApi.md#get_work_releases) | **GET** /work/{ident}/releases |
+*DefaultApi* | [**get_work_revision**](docs/DefaultApi.md#get_work_revision) | **GET** /work/rev/{rev_id} |
+*DefaultApi* | [**lookup_container**](docs/DefaultApi.md#lookup_container) | **GET** /container/lookup |
+*DefaultApi* | [**lookup_creator**](docs/DefaultApi.md#lookup_creator) | **GET** /creator/lookup |
+*DefaultApi* | [**lookup_file**](docs/DefaultApi.md#lookup_file) | **GET** /file/lookup |
+*DefaultApi* | [**lookup_release**](docs/DefaultApi.md#lookup_release) | **GET** /release/lookup |
+*DefaultApi* | [**update_container**](docs/DefaultApi.md#update_container) | **PUT** /container/{ident} |
+*DefaultApi* | [**update_creator**](docs/DefaultApi.md#update_creator) | **PUT** /creator/{ident} |
+*DefaultApi* | [**update_editor**](docs/DefaultApi.md#update_editor) | **PUT** /editor/{editor_id} |
+*DefaultApi* | [**update_file**](docs/DefaultApi.md#update_file) | **PUT** /file/{ident} |
+*DefaultApi* | [**update_fileset**](docs/DefaultApi.md#update_fileset) | **PUT** /fileset/{ident} |
+*DefaultApi* | [**update_release**](docs/DefaultApi.md#update_release) | **PUT** /release/{ident} |
+*DefaultApi* | [**update_webcapture**](docs/DefaultApi.md#update_webcapture) | **PUT** /webcapture/{ident} |
+*DefaultApi* | [**update_work**](docs/DefaultApi.md#update_work) | **PUT** /work/{ident} |
+
+
+## Documentation For Models
+
+ - [AuthOidc](docs/AuthOidc.md)
+ - [AuthOidcResult](docs/AuthOidcResult.md)
+ - [ChangelogEntry](docs/ChangelogEntry.md)
+ - [ContainerEntity](docs/ContainerEntity.md)
+ - [CreatorEntity](docs/CreatorEntity.md)
+ - [Editgroup](docs/Editgroup.md)
+ - [EditgroupEdits](docs/EditgroupEdits.md)
+ - [Editor](docs/Editor.md)
+ - [EntityEdit](docs/EntityEdit.md)
+ - [EntityHistoryEntry](docs/EntityHistoryEntry.md)
+ - [ErrorResponse](docs/ErrorResponse.md)
+ - [FileEntity](docs/FileEntity.md)
+ - [FileEntityUrls](docs/FileEntityUrls.md)
+ - [FilesetEntity](docs/FilesetEntity.md)
+ - [FilesetEntityManifest](docs/FilesetEntityManifest.md)
+ - [ReleaseContrib](docs/ReleaseContrib.md)
+ - [ReleaseEntity](docs/ReleaseEntity.md)
+ - [ReleaseEntityAbstracts](docs/ReleaseEntityAbstracts.md)
+ - [ReleaseRef](docs/ReleaseRef.md)
+ - [Success](docs/Success.md)
+ - [WebcaptureEntity](docs/WebcaptureEntity.md)
+ - [WebcaptureEntityArchiveUrls](docs/WebcaptureEntityArchiveUrls.md)
+ - [WebcaptureEntityCdx](docs/WebcaptureEntityCdx.md)
+ - [WorkEntity](docs/WorkEntity.md)
+
+
+## Documentation For Authorization
+
+
+## Bearer
+
+- **Type**: API key
+- **API key parameter name**: Authorization
+- **Location**: HTTP header
+
+
+## Author
+
+
+
diff --git a/python_client/fatcat_client/__init__.py b/python_client/fatcat_client/__init__.py
new file mode 100644
index 00000000..e9a04942
--- /dev/null
+++ b/python_client/fatcat_client/__init__.py
@@ -0,0 +1,48 @@
+# coding: utf-8
+
+# flake8: noqa
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+from __future__ import absolute_import
+
+# import apis into sdk package
+from fatcat_client.api.default_api import DefaultApi
+
+# import ApiClient
+from fatcat_client.api_client import ApiClient
+from fatcat_client.configuration import Configuration
+# import models into sdk package
+from fatcat_client.models.auth_oidc import AuthOidc
+from fatcat_client.models.auth_oidc_result import AuthOidcResult
+from fatcat_client.models.changelog_entry import ChangelogEntry
+from fatcat_client.models.container_entity import ContainerEntity
+from fatcat_client.models.creator_entity import CreatorEntity
+from fatcat_client.models.editgroup import Editgroup
+from fatcat_client.models.editgroup_edits import EditgroupEdits
+from fatcat_client.models.editor import Editor
+from fatcat_client.models.entity_edit import EntityEdit
+from fatcat_client.models.entity_history_entry import EntityHistoryEntry
+from fatcat_client.models.error_response import ErrorResponse
+from fatcat_client.models.file_entity import FileEntity
+from fatcat_client.models.file_entity_urls import FileEntityUrls
+from fatcat_client.models.fileset_entity import FilesetEntity
+from fatcat_client.models.fileset_entity_manifest import FilesetEntityManifest
+from fatcat_client.models.release_contrib import ReleaseContrib
+from fatcat_client.models.release_entity import ReleaseEntity
+from fatcat_client.models.release_entity_abstracts import ReleaseEntityAbstracts
+from fatcat_client.models.release_ref import ReleaseRef
+from fatcat_client.models.success import Success
+from fatcat_client.models.webcapture_entity import WebcaptureEntity
+from fatcat_client.models.webcapture_entity_archive_urls import WebcaptureEntityArchiveUrls
+from fatcat_client.models.webcapture_entity_cdx import WebcaptureEntityCdx
+from fatcat_client.models.work_entity import WorkEntity
diff --git a/python_client/fatcat_client/__version__.py b/python_client/fatcat_client/__version__.py
new file mode 100644
index 00000000..6d23a3be
--- /dev/null
+++ b/python_client/fatcat_client/__version__.py
@@ -0,0 +1,3 @@
+
+VERSION = (0, 1, '0dev0')
+__version__ = '.'.join(map(str, VERSION))
diff --git a/python_client/fatcat_client/api/__init__.py b/python_client/fatcat_client/api/__init__.py
new file mode 100644
index 00000000..79b04b0c
--- /dev/null
+++ b/python_client/fatcat_client/api/__init__.py
@@ -0,0 +1,6 @@
+from __future__ import absolute_import
+
+# flake8: noqa
+
+# import apis into api package
+from fatcat_client.api.default_api import DefaultApi
diff --git a/python_client/fatcat_client/api/default_api.py b/python_client/fatcat_client/api/default_api.py
new file mode 100644
index 00000000..8b652571
--- /dev/null
+++ b/python_client/fatcat_client/api/default_api.py
@@ -0,0 +1,9299 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+from __future__ import absolute_import
+
+import re # noqa: F401
+
+# python 2 and python 3 compatibility library
+import six
+
+from fatcat_client.api_client import ApiClient
+
+
+class DefaultApi(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ Ref: https://github.com/swagger-api/swagger-codegen
+ """
+
+ def __init__(self, api_client=None):
+ if api_client is None:
+ api_client = ApiClient()
+ self.api_client = api_client
+
+ def accept_editgroup(self, editgroup_id, **kwargs): # noqa: E501
+ """accept_editgroup # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.accept_editgroup(editgroup_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editgroup_id: base32-encoded unique identifier (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.accept_editgroup_with_http_info(editgroup_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.accept_editgroup_with_http_info(editgroup_id, **kwargs) # noqa: E501
+ return data
+
+ def accept_editgroup_with_http_info(self, editgroup_id, **kwargs): # noqa: E501
+ """accept_editgroup # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.accept_editgroup_with_http_info(editgroup_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editgroup_id: base32-encoded unique identifier (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method accept_editgroup" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'editgroup_id' is set
+ if ('editgroup_id' not in params or
+ params['editgroup_id'] is None):
+ raise ValueError("Missing the required parameter `editgroup_id` when calling `accept_editgroup`") # noqa: E501
+
+ if ('editgroup_id' in params and
+ len(params['editgroup_id']) > 26):
+ raise ValueError("Invalid value for parameter `editgroup_id` when calling `accept_editgroup`, length must be less than or equal to `26`") # noqa: E501
+ if ('editgroup_id' in params and
+ len(params['editgroup_id']) < 26):
+ raise ValueError("Invalid value for parameter `editgroup_id` when calling `accept_editgroup`, length must be greater than or equal to `26`") # noqa: E501
+ if 'editgroup_id' in params and not re.search('[a-zA-Z2-7]{26}', params['editgroup_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `editgroup_id` when calling `accept_editgroup`, must conform to the pattern `/[a-zA-Z2-7]{26}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'editgroup_id' in params:
+ path_params['editgroup_id'] = params['editgroup_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/editgroup/{editgroup_id}/accept', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def auth_check(self, **kwargs): # noqa: E501
+ """auth_check # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.auth_check(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str role:
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.auth_check_with_http_info(**kwargs) # noqa: E501
+ else:
+ (data) = self.auth_check_with_http_info(**kwargs) # noqa: E501
+ return data
+
+ def auth_check_with_http_info(self, **kwargs): # noqa: E501
+ """auth_check # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.auth_check_with_http_info(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str role:
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['role'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method auth_check" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'role' in params:
+ query_params.append(('role', params['role'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/auth/check', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def auth_oidc(self, oidc_params, **kwargs): # noqa: E501
+ """auth_oidc # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.auth_oidc(oidc_params, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param AuthOidc oidc_params: (required)
+ :return: AuthOidcResult
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.auth_oidc_with_http_info(oidc_params, **kwargs) # noqa: E501
+ else:
+ (data) = self.auth_oidc_with_http_info(oidc_params, **kwargs) # noqa: E501
+ return data
+
+ def auth_oidc_with_http_info(self, oidc_params, **kwargs): # noqa: E501
+ """auth_oidc # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.auth_oidc_with_http_info(oidc_params, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param AuthOidc oidc_params: (required)
+ :return: AuthOidcResult
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['oidc_params'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method auth_oidc" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'oidc_params' is set
+ if ('oidc_params' not in params or
+ params['oidc_params'] is None):
+ raise ValueError("Missing the required parameter `oidc_params` when calling `auth_oidc`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'oidc_params' in params:
+ body_params = params['oidc_params']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/auth/oidc', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='AuthOidcResult', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_container(self, entity, **kwargs): # noqa: E501
+ """create_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_container(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param ContainerEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_container_with_http_info(entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_container_with_http_info(entity, **kwargs) # noqa: E501
+ return data
+
+ def create_container_with_http_info(self, entity, **kwargs): # noqa: E501
+ """create_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_container_with_http_info(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param ContainerEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_container" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `create_container`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_container_batch(self, entity_list, **kwargs): # noqa: E501
+ """create_container_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_container_batch(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[ContainerEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_container_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_container_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ return data
+
+ def create_container_batch_with_http_info(self, entity_list, **kwargs): # noqa: E501
+ """create_container_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_container_batch_with_http_info(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[ContainerEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity_list', 'autoaccept', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_container_batch" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity_list' is set
+ if ('entity_list' not in params or
+ params['entity_list'] is None):
+ raise ValueError("Missing the required parameter `entity_list` when calling `create_container_batch`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'autoaccept' in params:
+ query_params.append(('autoaccept', params['autoaccept'])) # noqa: E501
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity_list' in params:
+ body_params = params['entity_list']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/batch', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityEdit]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_creator(self, entity, **kwargs): # noqa: E501
+ """create_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_creator(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param CreatorEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_creator_with_http_info(entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_creator_with_http_info(entity, **kwargs) # noqa: E501
+ return data
+
+ def create_creator_with_http_info(self, entity, **kwargs): # noqa: E501
+ """create_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_creator_with_http_info(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param CreatorEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_creator" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `create_creator`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_creator_batch(self, entity_list, **kwargs): # noqa: E501
+ """create_creator_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_creator_batch(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[CreatorEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_creator_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_creator_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ return data
+
+ def create_creator_batch_with_http_info(self, entity_list, **kwargs): # noqa: E501
+ """create_creator_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_creator_batch_with_http_info(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[CreatorEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity_list', 'autoaccept', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_creator_batch" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity_list' is set
+ if ('entity_list' not in params or
+ params['entity_list'] is None):
+ raise ValueError("Missing the required parameter `entity_list` when calling `create_creator_batch`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'autoaccept' in params:
+ query_params.append(('autoaccept', params['autoaccept'])) # noqa: E501
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity_list' in params:
+ body_params = params['entity_list']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/batch', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityEdit]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_editgroup(self, editgroup, **kwargs): # noqa: E501
+ """create_editgroup # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_editgroup(editgroup, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param Editgroup editgroup: (required)
+ :return: Editgroup
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_editgroup_with_http_info(editgroup, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_editgroup_with_http_info(editgroup, **kwargs) # noqa: E501
+ return data
+
+ def create_editgroup_with_http_info(self, editgroup, **kwargs): # noqa: E501
+ """create_editgroup # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_editgroup_with_http_info(editgroup, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param Editgroup editgroup: (required)
+ :return: Editgroup
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['editgroup'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_editgroup" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'editgroup' is set
+ if ('editgroup' not in params or
+ params['editgroup'] is None):
+ raise ValueError("Missing the required parameter `editgroup` when calling `create_editgroup`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'editgroup' in params:
+ body_params = params['editgroup']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/editgroup', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Editgroup', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_file(self, entity, **kwargs): # noqa: E501
+ """create_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_file(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param FileEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_file_with_http_info(entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_file_with_http_info(entity, **kwargs) # noqa: E501
+ return data
+
+ def create_file_with_http_info(self, entity, **kwargs): # noqa: E501
+ """create_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_file_with_http_info(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param FileEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_file" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `create_file`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_file_batch(self, entity_list, **kwargs): # noqa: E501
+ """create_file_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_file_batch(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[FileEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_file_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_file_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ return data
+
+ def create_file_batch_with_http_info(self, entity_list, **kwargs): # noqa: E501
+ """create_file_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_file_batch_with_http_info(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[FileEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity_list', 'autoaccept', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_file_batch" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity_list' is set
+ if ('entity_list' not in params or
+ params['entity_list'] is None):
+ raise ValueError("Missing the required parameter `entity_list` when calling `create_file_batch`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'autoaccept' in params:
+ query_params.append(('autoaccept', params['autoaccept'])) # noqa: E501
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity_list' in params:
+ body_params = params['entity_list']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/batch', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityEdit]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_fileset(self, entity, **kwargs): # noqa: E501
+ """create_fileset # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_fileset(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param FilesetEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_fileset_with_http_info(entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_fileset_with_http_info(entity, **kwargs) # noqa: E501
+ return data
+
+ def create_fileset_with_http_info(self, entity, **kwargs): # noqa: E501
+ """create_fileset # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_fileset_with_http_info(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param FilesetEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_fileset" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `create_fileset`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_fileset_batch(self, entity_list, **kwargs): # noqa: E501
+ """create_fileset_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_fileset_batch(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[FilesetEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_fileset_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_fileset_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ return data
+
+ def create_fileset_batch_with_http_info(self, entity_list, **kwargs): # noqa: E501
+ """create_fileset_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_fileset_batch_with_http_info(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[FilesetEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity_list', 'autoaccept', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_fileset_batch" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity_list' is set
+ if ('entity_list' not in params or
+ params['entity_list'] is None):
+ raise ValueError("Missing the required parameter `entity_list` when calling `create_fileset_batch`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'autoaccept' in params:
+ query_params.append(('autoaccept', params['autoaccept'])) # noqa: E501
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity_list' in params:
+ body_params = params['entity_list']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/batch', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityEdit]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_release(self, entity, **kwargs): # noqa: E501
+ """create_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_release(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param ReleaseEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_release_with_http_info(entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_release_with_http_info(entity, **kwargs) # noqa: E501
+ return data
+
+ def create_release_with_http_info(self, entity, **kwargs): # noqa: E501
+ """create_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_release_with_http_info(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param ReleaseEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_release" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `create_release`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_release_batch(self, entity_list, **kwargs): # noqa: E501
+ """create_release_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_release_batch(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[ReleaseEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_release_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_release_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ return data
+
+ def create_release_batch_with_http_info(self, entity_list, **kwargs): # noqa: E501
+ """create_release_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_release_batch_with_http_info(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[ReleaseEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity_list', 'autoaccept', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_release_batch" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity_list' is set
+ if ('entity_list' not in params or
+ params['entity_list'] is None):
+ raise ValueError("Missing the required parameter `entity_list` when calling `create_release_batch`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'autoaccept' in params:
+ query_params.append(('autoaccept', params['autoaccept'])) # noqa: E501
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity_list' in params:
+ body_params = params['entity_list']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/batch', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityEdit]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_webcapture(self, entity, **kwargs): # noqa: E501
+ """create_webcapture # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_webcapture(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param WebcaptureEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_webcapture_with_http_info(entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_webcapture_with_http_info(entity, **kwargs) # noqa: E501
+ return data
+
+ def create_webcapture_with_http_info(self, entity, **kwargs): # noqa: E501
+ """create_webcapture # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_webcapture_with_http_info(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param WebcaptureEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_webcapture" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `create_webcapture`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_webcapture_batch(self, entity_list, **kwargs): # noqa: E501
+ """create_webcapture_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_webcapture_batch(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[WebcaptureEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_webcapture_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_webcapture_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ return data
+
+ def create_webcapture_batch_with_http_info(self, entity_list, **kwargs): # noqa: E501
+ """create_webcapture_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_webcapture_batch_with_http_info(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[WebcaptureEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity_list', 'autoaccept', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_webcapture_batch" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity_list' is set
+ if ('entity_list' not in params or
+ params['entity_list'] is None):
+ raise ValueError("Missing the required parameter `entity_list` when calling `create_webcapture_batch`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'autoaccept' in params:
+ query_params.append(('autoaccept', params['autoaccept'])) # noqa: E501
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity_list' in params:
+ body_params = params['entity_list']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/batch', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityEdit]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_work(self, entity, **kwargs): # noqa: E501
+ """create_work # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_work(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param WorkEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_work_with_http_info(entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_work_with_http_info(entity, **kwargs) # noqa: E501
+ return data
+
+ def create_work_with_http_info(self, entity, **kwargs): # noqa: E501
+ """create_work # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_work_with_http_info(entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param WorkEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_work" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `create_work`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def create_work_batch(self, entity_list, **kwargs): # noqa: E501
+ """create_work_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_work_batch(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[WorkEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.create_work_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ else:
+ (data) = self.create_work_batch_with_http_info(entity_list, **kwargs) # noqa: E501
+ return data
+
+ def create_work_batch_with_http_info(self, entity_list, **kwargs): # noqa: E501
+ """create_work_batch # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.create_work_batch_with_http_info(entity_list, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param list[WorkEntity] entity_list: (required)
+ :param bool autoaccept: If true, and editor is authorized, batch is accepted all at once
+ :param str editgroup_id: Editgroup to auto-accept and apply to all entities (required if 'autoaccept' is True)
+ :return: list[EntityEdit]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['entity_list', 'autoaccept', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_work_batch" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'entity_list' is set
+ if ('entity_list' not in params or
+ params['entity_list'] is None):
+ raise ValueError("Missing the required parameter `entity_list` when calling `create_work_batch`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'autoaccept' in params:
+ query_params.append(('autoaccept', params['autoaccept'])) # noqa: E501
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity_list' in params:
+ body_params = params['entity_list']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/batch', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityEdit]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_container(self, ident, **kwargs): # noqa: E501
+ """delete_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_container(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_container_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_container_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def delete_container_with_http_info(self, ident, **kwargs): # noqa: E501
+ """delete_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_container_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_container" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `delete_container`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/{ident}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_container_edit(self, edit_id, **kwargs): # noqa: E501
+ """delete_container_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_container_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_container_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_container_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def delete_container_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """delete_container_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_container_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_container_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `delete_container_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_container_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/edit/{edit_id}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_creator(self, ident, **kwargs): # noqa: E501
+ """delete_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_creator(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_creator_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_creator_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def delete_creator_with_http_info(self, ident, **kwargs): # noqa: E501
+ """delete_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_creator_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_creator" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `delete_creator`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/{ident}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_creator_edit(self, edit_id, **kwargs): # noqa: E501
+ """delete_creator_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_creator_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_creator_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_creator_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def delete_creator_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """delete_creator_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_creator_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_creator_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `delete_creator_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_creator_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/edit/{edit_id}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_file(self, ident, **kwargs): # noqa: E501
+ """delete_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_file(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_file_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_file_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def delete_file_with_http_info(self, ident, **kwargs): # noqa: E501
+ """delete_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_file_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_file" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `delete_file`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/{ident}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_file_edit(self, edit_id, **kwargs): # noqa: E501
+ """delete_file_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_file_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_file_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_file_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def delete_file_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """delete_file_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_file_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_file_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `delete_file_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_file_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/edit/{edit_id}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_fileset(self, ident, **kwargs): # noqa: E501
+ """delete_fileset # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_fileset(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_fileset_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_fileset_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def delete_fileset_with_http_info(self, ident, **kwargs): # noqa: E501
+ """delete_fileset # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_fileset_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_fileset" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `delete_fileset`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/{ident}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_fileset_edit(self, edit_id, **kwargs): # noqa: E501
+ """delete_fileset_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_fileset_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_fileset_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_fileset_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def delete_fileset_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """delete_fileset_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_fileset_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_fileset_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `delete_fileset_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_fileset_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/edit/{edit_id}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_release(self, ident, **kwargs): # noqa: E501
+ """delete_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_release(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_release_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_release_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def delete_release_with_http_info(self, ident, **kwargs): # noqa: E501
+ """delete_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_release_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_release" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `delete_release`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/{ident}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_release_edit(self, edit_id, **kwargs): # noqa: E501
+ """delete_release_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_release_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_release_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_release_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def delete_release_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """delete_release_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_release_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_release_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `delete_release_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_release_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/edit/{edit_id}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_webcapture(self, ident, **kwargs): # noqa: E501
+ """delete_webcapture # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_webcapture(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_webcapture_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_webcapture_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def delete_webcapture_with_http_info(self, ident, **kwargs): # noqa: E501
+ """delete_webcapture # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_webcapture_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_webcapture" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `delete_webcapture`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/{ident}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_webcapture_edit(self, edit_id, **kwargs): # noqa: E501
+ """delete_webcapture_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_webcapture_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_webcapture_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_webcapture_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def delete_webcapture_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """delete_webcapture_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_webcapture_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_webcapture_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `delete_webcapture_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_webcapture_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/edit/{edit_id}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_work(self, ident, **kwargs): # noqa: E501
+ """delete_work # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_work(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_work_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_work_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def delete_work_with_http_info(self, ident, **kwargs): # noqa: E501
+ """delete_work # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_work_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_work" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `delete_work`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/{ident}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def delete_work_edit(self, edit_id, **kwargs): # noqa: E501
+ """delete_work_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_work_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.delete_work_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.delete_work_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def delete_work_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """delete_work_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.delete_work_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: Success
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_work_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `delete_work_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `delete_work_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/edit/{edit_id}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Success', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_changelog(self, **kwargs): # noqa: E501
+ """get_changelog # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_changelog(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param int limit:
+ :return: list[ChangelogEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_changelog_with_http_info(**kwargs) # noqa: E501
+ else:
+ (data) = self.get_changelog_with_http_info(**kwargs) # noqa: E501
+ return data
+
+ def get_changelog_with_http_info(self, **kwargs): # noqa: E501
+ """get_changelog # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_changelog_with_http_info(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param int limit:
+ :return: list[ChangelogEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['limit'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_changelog" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'limit' in params:
+ query_params.append(('limit', params['limit'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/changelog', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[ChangelogEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_changelog_entry(self, index, **kwargs): # noqa: E501
+ """get_changelog_entry # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_changelog_entry(index, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param int index: (required)
+ :return: ChangelogEntry
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_changelog_entry_with_http_info(index, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_changelog_entry_with_http_info(index, **kwargs) # noqa: E501
+ return data
+
+ def get_changelog_entry_with_http_info(self, index, **kwargs): # noqa: E501
+ """get_changelog_entry # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_changelog_entry_with_http_info(index, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param int index: (required)
+ :return: ChangelogEntry
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['index'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_changelog_entry" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'index' is set
+ if ('index' not in params or
+ params['index'] is None):
+ raise ValueError("Missing the required parameter `index` when calling `get_changelog_entry`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'index' in params:
+ path_params['index'] = params['index'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/changelog/{index}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='ChangelogEntry', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_container(self, ident, **kwargs): # noqa: E501
+ """get_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
+ :return: ContainerEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_container_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_container_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_container_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
+ :return: ContainerEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_container" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_container`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/{ident}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='ContainerEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_container_edit(self, edit_id, **kwargs): # noqa: E501
+ """get_container_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_container_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_container_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def get_container_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """get_container_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_container_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `get_container_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_container_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/edit/{edit_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_container_history(self, ident, **kwargs): # noqa: E501
+ """get_container_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_history(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_container_history_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_container_history_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_container_history_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_container_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_history_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'limit'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_container_history" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_container_history`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'limit' in params:
+ query_params.append(('limit', params['limit'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/{ident}/history', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityHistoryEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_container_redirects(self, ident, **kwargs): # noqa: E501
+ """get_container_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_redirects(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_container_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_container_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_container_redirects_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_container_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_redirects_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_container_redirects" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_container_redirects`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/{ident}/redirects', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[str]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_container_revision(self, rev_id, **kwargs): # noqa: E501
+ """get_container_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_revision(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
+ :return: ContainerEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_container_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_container_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ return data
+
+ def get_container_revision_with_http_info(self, rev_id, **kwargs): # noqa: E501
+ """get_container_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_container_revision_with_http_info(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For containers, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
+ :return: ContainerEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['rev_id', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_container_revision" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'rev_id' is set
+ if ('rev_id' not in params or
+ params['rev_id'] is None):
+ raise ValueError("Missing the required parameter `rev_id` when calling `get_container_revision`") # noqa: E501
+
+ if ('rev_id' in params and
+ len(params['rev_id']) > 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, length must be less than or equal to `36`") # noqa: E501
+ if ('rev_id' in params and
+ len(params['rev_id']) < 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, length must be greater than or equal to `36`") # noqa: E501
+ if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_container_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'rev_id' in params:
+ path_params['rev_id'] = params['rev_id'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/rev/{rev_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='ContainerEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_creator(self, ident, **kwargs): # noqa: E501
+ """get_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
+ :return: CreatorEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_creator_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_creator_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_creator_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For containers, none accepted (yet).
+ :return: CreatorEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_creator" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_creator`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/{ident}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='CreatorEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_creator_edit(self, edit_id, **kwargs): # noqa: E501
+ """get_creator_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_creator_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_creator_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def get_creator_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """get_creator_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_creator_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `get_creator_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_creator_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/edit/{edit_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_creator_history(self, ident, **kwargs): # noqa: E501
+ """get_creator_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_history(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_creator_history_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_creator_history_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_creator_history_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_creator_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_history_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'limit'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_creator_history" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_creator_history`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'limit' in params:
+ query_params.append(('limit', params['limit'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/{ident}/history', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityHistoryEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_creator_redirects(self, ident, **kwargs): # noqa: E501
+ """get_creator_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_redirects(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_creator_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_creator_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_creator_redirects_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_creator_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_redirects_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_creator_redirects" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_creator_redirects`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/{ident}/redirects', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[str]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_creator_releases(self, ident, **kwargs): # noqa: E501
+ """get_creator_releases # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_releases(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For creators, none implemented yet.
+ :return: list[ReleaseEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_creator_releases_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_creator_releases_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_creator_releases_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_creator_releases # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_releases_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For creators, none implemented yet.
+ :return: list[ReleaseEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_creator_releases" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_creator_releases`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/{ident}/releases', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[ReleaseEntity]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_creator_revision(self, rev_id, **kwargs): # noqa: E501
+ """get_creator_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_revision(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For creators, none accepted (yet).
+ :return: CreatorEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_creator_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_creator_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ return data
+
+ def get_creator_revision_with_http_info(self, rev_id, **kwargs): # noqa: E501
+ """get_creator_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_creator_revision_with_http_info(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For creators, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For creators, none accepted (yet).
+ :return: CreatorEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['rev_id', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_creator_revision" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'rev_id' is set
+ if ('rev_id' not in params or
+ params['rev_id'] is None):
+ raise ValueError("Missing the required parameter `rev_id` when calling `get_creator_revision`") # noqa: E501
+
+ if ('rev_id' in params and
+ len(params['rev_id']) > 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, length must be less than or equal to `36`") # noqa: E501
+ if ('rev_id' in params and
+ len(params['rev_id']) < 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, length must be greater than or equal to `36`") # noqa: E501
+ if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_creator_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'rev_id' in params:
+ path_params['rev_id'] = params['rev_id'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/rev/{rev_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='CreatorEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_editgroup(self, editgroup_id, **kwargs): # noqa: E501
+ """get_editgroup # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_editgroup(editgroup_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editgroup_id: base32-encoded unique identifier (required)
+ :return: Editgroup
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_editgroup_with_http_info(editgroup_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_editgroup_with_http_info(editgroup_id, **kwargs) # noqa: E501
+ return data
+
+ def get_editgroup_with_http_info(self, editgroup_id, **kwargs): # noqa: E501
+ """get_editgroup # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_editgroup_with_http_info(editgroup_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editgroup_id: base32-encoded unique identifier (required)
+ :return: Editgroup
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_editgroup" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'editgroup_id' is set
+ if ('editgroup_id' not in params or
+ params['editgroup_id'] is None):
+ raise ValueError("Missing the required parameter `editgroup_id` when calling `get_editgroup`") # noqa: E501
+
+ if ('editgroup_id' in params and
+ len(params['editgroup_id']) > 26):
+ raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup`, length must be less than or equal to `26`") # noqa: E501
+ if ('editgroup_id' in params and
+ len(params['editgroup_id']) < 26):
+ raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup`, length must be greater than or equal to `26`") # noqa: E501
+ if 'editgroup_id' in params and not re.search('[a-zA-Z2-7]{26}', params['editgroup_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `editgroup_id` when calling `get_editgroup`, must conform to the pattern `/[a-zA-Z2-7]{26}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'editgroup_id' in params:
+ path_params['editgroup_id'] = params['editgroup_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/editgroup/{editgroup_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Editgroup', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_editor(self, editor_id, **kwargs): # noqa: E501
+ """get_editor # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_editor(editor_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editor_id: (required)
+ :return: Editor
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_editor_with_http_info(editor_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_editor_with_http_info(editor_id, **kwargs) # noqa: E501
+ return data
+
+ def get_editor_with_http_info(self, editor_id, **kwargs): # noqa: E501
+ """get_editor # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_editor_with_http_info(editor_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editor_id: (required)
+ :return: Editor
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['editor_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_editor" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'editor_id' is set
+ if ('editor_id' not in params or
+ params['editor_id'] is None):
+ raise ValueError("Missing the required parameter `editor_id` when calling `get_editor`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'editor_id' in params:
+ path_params['editor_id'] = params['editor_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/editor/{editor_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Editor', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_editor_changelog(self, editor_id, **kwargs): # noqa: E501
+ """get_editor_changelog # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_editor_changelog(editor_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editor_id: (required)
+ :return: list[ChangelogEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_editor_changelog_with_http_info(editor_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_editor_changelog_with_http_info(editor_id, **kwargs) # noqa: E501
+ return data
+
+ def get_editor_changelog_with_http_info(self, editor_id, **kwargs): # noqa: E501
+ """get_editor_changelog # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_editor_changelog_with_http_info(editor_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editor_id: (required)
+ :return: list[ChangelogEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['editor_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_editor_changelog" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'editor_id' is set
+ if ('editor_id' not in params or
+ params['editor_id'] is None):
+ raise ValueError("Missing the required parameter `editor_id` when calling `get_editor_changelog`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'editor_id' in params:
+ path_params['editor_id'] = params['editor_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/editor/{editor_id}/changelog', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[ChangelogEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_file(self, ident, **kwargs): # noqa: E501
+ """get_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For files, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
+ :return: FileEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_file_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_file_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_file_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For files, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
+ :return: FileEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_file" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_file`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/{ident}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='FileEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_file_edit(self, edit_id, **kwargs): # noqa: E501
+ """get_file_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_file_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_file_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def get_file_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """get_file_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_file_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `get_file_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_file_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/edit/{edit_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_file_history(self, ident, **kwargs): # noqa: E501
+ """get_file_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_history(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_file_history_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_file_history_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_file_history_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_file_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_history_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'limit'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_file_history" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_file_history`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'limit' in params:
+ query_params.append(('limit', params['limit'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/{ident}/history', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityHistoryEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_file_redirects(self, ident, **kwargs): # noqa: E501
+ """get_file_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_redirects(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_file_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_file_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_file_redirects_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_file_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_redirects_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_file_redirects" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_file_redirects`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/{ident}/redirects', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[str]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_file_revision(self, rev_id, **kwargs): # noqa: E501
+ """get_file_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_revision(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For files, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
+ :return: FileEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_file_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_file_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ return data
+
+ def get_file_revision_with_http_info(self, rev_id, **kwargs): # noqa: E501
+ """get_file_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_file_revision_with_http_info(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For files, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
+ :return: FileEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['rev_id', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_file_revision" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'rev_id' is set
+ if ('rev_id' not in params or
+ params['rev_id'] is None):
+ raise ValueError("Missing the required parameter `rev_id` when calling `get_file_revision`") # noqa: E501
+
+ if ('rev_id' in params and
+ len(params['rev_id']) > 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, length must be less than or equal to `36`") # noqa: E501
+ if ('rev_id' in params and
+ len(params['rev_id']) < 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, length must be greater than or equal to `36`") # noqa: E501
+ if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_file_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'rev_id' in params:
+ path_params['rev_id'] = params['rev_id'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/rev/{rev_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='FileEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_fileset(self, ident, **kwargs): # noqa: E501
+ """get_fileset # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For filesets, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.
+ :return: FilesetEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_fileset_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_fileset_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_fileset_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_fileset # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For filesets, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.
+ :return: FilesetEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_fileset" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_fileset`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/{ident}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='FilesetEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_fileset_edit(self, edit_id, **kwargs): # noqa: E501
+ """get_fileset_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_fileset_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_fileset_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def get_fileset_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """get_fileset_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_fileset_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `get_fileset_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_fileset_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/edit/{edit_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_fileset_history(self, ident, **kwargs): # noqa: E501
+ """get_fileset_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_history(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_fileset_history_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_fileset_history_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_fileset_history_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_fileset_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_history_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'limit'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_fileset_history" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_fileset_history`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'limit' in params:
+ query_params.append(('limit', params['limit'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/{ident}/history', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityHistoryEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_fileset_redirects(self, ident, **kwargs): # noqa: E501
+ """get_fileset_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_redirects(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_fileset_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_fileset_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_fileset_redirects_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_fileset_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_redirects_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_fileset_redirects" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_fileset_redirects`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/{ident}/redirects', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[str]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_fileset_revision(self, rev_id, **kwargs): # noqa: E501
+ """get_fileset_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_revision(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For filesets, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.
+ :return: FilesetEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_fileset_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_fileset_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ return data
+
+ def get_fileset_revision_with_http_info(self, rev_id, **kwargs): # noqa: E501
+ """get_fileset_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_fileset_revision_with_http_info(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For filesets, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is accepted.
+ :return: FilesetEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['rev_id', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_fileset_revision" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'rev_id' is set
+ if ('rev_id' not in params or
+ params['rev_id'] is None):
+ raise ValueError("Missing the required parameter `rev_id` when calling `get_fileset_revision`") # noqa: E501
+
+ if ('rev_id' in params and
+ len(params['rev_id']) > 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, length must be less than or equal to `36`") # noqa: E501
+ if ('rev_id' in params and
+ len(params['rev_id']) < 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, length must be greater than or equal to `36`") # noqa: E501
+ if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_fileset_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'rev_id' in params:
+ path_params['rev_id'] = params['rev_id'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/rev/{rev_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='FilesetEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_release(self, ident, **kwargs): # noqa: E501
+ """get_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid.
+ :param str hide: List of entity fields to elide in response. For releases, 'abstracts', 'refs', and 'contribs' are valid.
+ :return: ReleaseEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_release_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_release_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_release_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid.
+ :param str hide: List of entity fields to elide in response. For releases, 'abstracts', 'refs', and 'contribs' are valid.
+ :return: ReleaseEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_release" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_release`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/{ident}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='ReleaseEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_release_edit(self, edit_id, **kwargs): # noqa: E501
+ """get_release_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_release_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_release_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def get_release_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """get_release_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_release_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `get_release_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_release_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/edit/{edit_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_release_files(self, ident, **kwargs): # noqa: E501
+ """get_release_files # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_files(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
+ :return: list[FileEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_release_files_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_release_files_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_release_files_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_release_files # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_files_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
+ :return: list[FileEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_release_files" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_release_files`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/{ident}/files', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[FileEntity]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_release_filesets(self, ident, **kwargs): # noqa: E501
+ """get_release_filesets # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_filesets(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is valid.
+ :return: list[FilesetEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_release_filesets_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_release_filesets_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_release_filesets_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_release_filesets # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_filesets_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For filesets, 'manifest' is valid.
+ :return: list[FilesetEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_release_filesets" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_release_filesets`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/{ident}/filesets', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[FilesetEntity]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_release_history(self, ident, **kwargs): # noqa: E501
+ """get_release_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_history(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_release_history_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_release_history_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_release_history_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_release_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_history_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'limit'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_release_history" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_release_history`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'limit' in params:
+ query_params.append(('limit', params['limit'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/{ident}/history', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityHistoryEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_release_redirects(self, ident, **kwargs): # noqa: E501
+ """get_release_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_redirects(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_release_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_release_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_release_redirects_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_release_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_redirects_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_release_redirects" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_release_redirects`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/{ident}/redirects', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[str]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_release_revision(self, rev_id, **kwargs): # noqa: E501
+ """get_release_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_revision(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For releases, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For releases, none accepted (yet).
+ :return: ReleaseEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_release_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_release_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ return data
+
+ def get_release_revision_with_http_info(self, rev_id, **kwargs): # noqa: E501
+ """get_release_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_revision_with_http_info(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For releases, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For releases, none accepted (yet).
+ :return: ReleaseEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['rev_id', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_release_revision" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'rev_id' is set
+ if ('rev_id' not in params or
+ params['rev_id'] is None):
+ raise ValueError("Missing the required parameter `rev_id` when calling `get_release_revision`") # noqa: E501
+
+ if ('rev_id' in params and
+ len(params['rev_id']) > 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, length must be less than or equal to `36`") # noqa: E501
+ if ('rev_id' in params and
+ len(params['rev_id']) < 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, length must be greater than or equal to `36`") # noqa: E501
+ if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_release_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'rev_id' in params:
+ path_params['rev_id'] = params['rev_id'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/rev/{rev_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='ReleaseEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_release_webcaptures(self, ident, **kwargs): # noqa: E501
+ """get_release_webcaptures # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_webcaptures(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is valid.
+ :return: list[WebcaptureEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_release_webcaptures_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_release_webcaptures_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_release_webcaptures_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_release_webcaptures # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_release_webcaptures_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is valid.
+ :return: list[WebcaptureEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_release_webcaptures" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_release_webcaptures`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/{ident}/webcaptures', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[WebcaptureEntity]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_webcapture(self, ident, **kwargs): # noqa: E501
+ """get_webcapture # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For webcaptures, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.
+ :return: WebcaptureEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_webcapture_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_webcapture_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_webcapture_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_webcapture # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For webcaptures, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.
+ :return: WebcaptureEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_webcapture" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_webcapture`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/{ident}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='WebcaptureEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_webcapture_edit(self, edit_id, **kwargs): # noqa: E501
+ """get_webcapture_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_webcapture_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_webcapture_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def get_webcapture_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """get_webcapture_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_webcapture_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `get_webcapture_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_webcapture_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/edit/{edit_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_webcapture_history(self, ident, **kwargs): # noqa: E501
+ """get_webcapture_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_history(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_webcapture_history_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_webcapture_history_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_webcapture_history_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_webcapture_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_history_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'limit'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_webcapture_history" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_webcapture_history`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'limit' in params:
+ query_params.append(('limit', params['limit'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/{ident}/history', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityHistoryEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_webcapture_redirects(self, ident, **kwargs): # noqa: E501
+ """get_webcapture_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_redirects(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_webcapture_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_webcapture_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_webcapture_redirects_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_webcapture_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_redirects_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_webcapture_redirects" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_webcapture_redirects`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/{ident}/redirects', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[str]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_webcapture_revision(self, rev_id, **kwargs): # noqa: E501
+ """get_webcapture_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_revision(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For webcaptures, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.
+ :return: WebcaptureEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_webcapture_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_webcapture_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ return data
+
+ def get_webcapture_revision_with_http_info(self, rev_id, **kwargs): # noqa: E501
+ """get_webcapture_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_webcapture_revision_with_http_info(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For webcaptures, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For webcaptures, 'cdx' is accepted.
+ :return: WebcaptureEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['rev_id', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_webcapture_revision" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'rev_id' is set
+ if ('rev_id' not in params or
+ params['rev_id'] is None):
+ raise ValueError("Missing the required parameter `rev_id` when calling `get_webcapture_revision`") # noqa: E501
+
+ if ('rev_id' in params and
+ len(params['rev_id']) > 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, length must be less than or equal to `36`") # noqa: E501
+ if ('rev_id' in params and
+ len(params['rev_id']) < 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, length must be greater than or equal to `36`") # noqa: E501
+ if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_webcapture_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'rev_id' in params:
+ path_params['rev_id'] = params['rev_id'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/rev/{rev_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='WebcaptureEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_work(self, ident, **kwargs): # noqa: E501
+ """get_work # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For works, none accepted (yet).
+ :return: WorkEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_work_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_work_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_work_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_work # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For works, none accepted (yet).
+ :return: WorkEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_work" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_work`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/{ident}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='WorkEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_work_edit(self, edit_id, **kwargs): # noqa: E501
+ """get_work_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_edit(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_work_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_work_edit_with_http_info(edit_id, **kwargs) # noqa: E501
+ return data
+
+ def get_work_edit_with_http_info(self, edit_id, **kwargs): # noqa: E501
+ """get_work_edit # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_edit_with_http_info(edit_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str edit_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['edit_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_work_edit" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'edit_id' is set
+ if ('edit_id' not in params or
+ params['edit_id'] is None):
+ raise ValueError("Missing the required parameter `edit_id` when calling `get_work_edit`") # noqa: E501
+
+ if ('edit_id' in params and
+ len(params['edit_id']) > 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, length must be less than or equal to `36`") # noqa: E501
+ if ('edit_id' in params and
+ len(params['edit_id']) < 36):
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, length must be greater than or equal to `36`") # noqa: E501
+ if 'edit_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['edit_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `edit_id` when calling `get_work_edit`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'edit_id' in params:
+ path_params['edit_id'] = params['edit_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/edit/{edit_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_work_history(self, ident, **kwargs): # noqa: E501
+ """get_work_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_history(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_work_history_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_work_history_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_work_history_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_work_history # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_history_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param int limit:
+ :return: list[EntityHistoryEntry]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'limit'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_work_history" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_work_history`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'limit' in params:
+ query_params.append(('limit', params['limit'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/{ident}/history', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[EntityHistoryEntry]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_work_redirects(self, ident, **kwargs): # noqa: E501
+ """get_work_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_redirects(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_work_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_work_redirects_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_work_redirects_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_work_redirects # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_redirects_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :return: list[str]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_work_redirects" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_work_redirects`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/{ident}/redirects', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[str]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_work_releases(self, ident, **kwargs): # noqa: E501
+ """get_work_releases # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_releases(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For works, none implemented yet.
+ :return: list[ReleaseEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_work_releases_with_http_info(ident, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_work_releases_with_http_info(ident, **kwargs) # noqa: E501
+ return data
+
+ def get_work_releases_with_http_info(self, ident, **kwargs): # noqa: E501
+ """get_work_releases # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_releases_with_http_info(ident, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param str hide: List of entity fields to elide in response. For works, none implemented yet.
+ :return: list[ReleaseEntity]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_work_releases" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `get_work_releases`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/{ident}/releases', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[ReleaseEntity]', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_work_revision(self, rev_id, **kwargs): # noqa: E501
+ """get_work_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_revision(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For works, none accepted (yet).
+ :return: WorkEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.get_work_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ else:
+ (data) = self.get_work_revision_with_http_info(rev_id, **kwargs) # noqa: E501
+ return data
+
+ def get_work_revision_with_http_info(self, rev_id, **kwargs): # noqa: E501
+ """get_work_revision # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.get_work_revision_with_http_info(rev_id, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str rev_id: UUID (lower-case, dash-separated, hex-encoded 128-bit) (required)
+ :param str expand: List of sub-entities to expand in response. For works, none accepted (yet).
+ :param str hide: List of entity fields to elide in response. For works, none accepted (yet).
+ :return: WorkEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['rev_id', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_work_revision" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'rev_id' is set
+ if ('rev_id' not in params or
+ params['rev_id'] is None):
+ raise ValueError("Missing the required parameter `rev_id` when calling `get_work_revision`") # noqa: E501
+
+ if ('rev_id' in params and
+ len(params['rev_id']) > 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, length must be less than or equal to `36`") # noqa: E501
+ if ('rev_id' in params and
+ len(params['rev_id']) < 36):
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, length must be greater than or equal to `36`") # noqa: E501
+ if 'rev_id' in params and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', params['rev_id']): # noqa: E501
+ raise ValueError("Invalid value for parameter `rev_id` when calling `get_work_revision`, must conform to the pattern `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+ if 'rev_id' in params:
+ path_params['rev_id'] = params['rev_id'] # noqa: E501
+
+ query_params = []
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/rev/{rev_id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='WorkEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def lookup_container(self, **kwargs): # noqa: E501
+ """lookup_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.lookup_container(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str issnl:
+ :param str wikidata_qid:
+ :param str expand: List of sub-entities to expand in response.
+ :param str hide: List of entity fields to elide in response. For container, none accepted (yet).
+ :return: ContainerEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.lookup_container_with_http_info(**kwargs) # noqa: E501
+ else:
+ (data) = self.lookup_container_with_http_info(**kwargs) # noqa: E501
+ return data
+
+ def lookup_container_with_http_info(self, **kwargs): # noqa: E501
+ """lookup_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.lookup_container_with_http_info(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str issnl:
+ :param str wikidata_qid:
+ :param str expand: List of sub-entities to expand in response.
+ :param str hide: List of entity fields to elide in response. For container, none accepted (yet).
+ :return: ContainerEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['issnl', 'wikidata_qid', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method lookup_container" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ if ('issnl' in params and
+ len(params['issnl']) > 9):
+ raise ValueError("Invalid value for parameter `issnl` when calling `lookup_container`, length must be less than or equal to `9`") # noqa: E501
+ if ('issnl' in params and
+ len(params['issnl']) < 9):
+ raise ValueError("Invalid value for parameter `issnl` when calling `lookup_container`, length must be greater than or equal to `9`") # noqa: E501
+ if 'issnl' in params and not re.search('\\d{4}-\\d{3}[0-9X]', params['issnl']): # noqa: E501
+ raise ValueError("Invalid value for parameter `issnl` when calling `lookup_container`, must conform to the pattern `/\\d{4}-\\d{3}[0-9X]/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'issnl' in params:
+ query_params.append(('issnl', params['issnl'])) # noqa: E501
+ if 'wikidata_qid' in params:
+ query_params.append(('wikidata_qid', params['wikidata_qid'])) # noqa: E501
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/lookup', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='ContainerEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def lookup_creator(self, **kwargs): # noqa: E501
+ """lookup_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.lookup_creator(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str orcid:
+ :param str wikidata_qid:
+ :param str expand: List of sub-entities to expand in response.
+ :param str hide: List of entity fields to elide in response. For creator, none accepted (yet).
+ :return: CreatorEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.lookup_creator_with_http_info(**kwargs) # noqa: E501
+ else:
+ (data) = self.lookup_creator_with_http_info(**kwargs) # noqa: E501
+ return data
+
+ def lookup_creator_with_http_info(self, **kwargs): # noqa: E501
+ """lookup_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.lookup_creator_with_http_info(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str orcid:
+ :param str wikidata_qid:
+ :param str expand: List of sub-entities to expand in response.
+ :param str hide: List of entity fields to elide in response. For creator, none accepted (yet).
+ :return: CreatorEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['orcid', 'wikidata_qid', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method lookup_creator" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ if ('orcid' in params and
+ len(params['orcid']) > 19):
+ raise ValueError("Invalid value for parameter `orcid` when calling `lookup_creator`, length must be less than or equal to `19`") # noqa: E501
+ if ('orcid' in params and
+ len(params['orcid']) < 19):
+ raise ValueError("Invalid value for parameter `orcid` when calling `lookup_creator`, length must be greater than or equal to `19`") # noqa: E501
+ if 'orcid' in params and not re.search('\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]', params['orcid']): # noqa: E501
+ raise ValueError("Invalid value for parameter `orcid` when calling `lookup_creator`, must conform to the pattern `/\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'orcid' in params:
+ query_params.append(('orcid', params['orcid'])) # noqa: E501
+ if 'wikidata_qid' in params:
+ query_params.append(('wikidata_qid', params['wikidata_qid'])) # noqa: E501
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/lookup', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='CreatorEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def lookup_file(self, **kwargs): # noqa: E501
+ """lookup_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.lookup_file(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str md5:
+ :param str sha1:
+ :param str sha256:
+ :param str expand: List of sub-entities to expand in response.
+ :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
+ :return: FileEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.lookup_file_with_http_info(**kwargs) # noqa: E501
+ else:
+ (data) = self.lookup_file_with_http_info(**kwargs) # noqa: E501
+ return data
+
+ def lookup_file_with_http_info(self, **kwargs): # noqa: E501
+ """lookup_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.lookup_file_with_http_info(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str md5:
+ :param str sha1:
+ :param str sha256:
+ :param str expand: List of sub-entities to expand in response.
+ :param str hide: List of entity fields to elide in response. For files, none accepted (yet).
+ :return: FileEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['md5', 'sha1', 'sha256', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method lookup_file" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ if ('md5' in params and
+ len(params['md5']) > 32):
+ raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, length must be less than or equal to `32`") # noqa: E501
+ if ('md5' in params and
+ len(params['md5']) < 32):
+ raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, length must be greater than or equal to `32`") # noqa: E501
+ if 'md5' in params and not re.search('[a-f0-9]{32}', params['md5']): # noqa: E501
+ raise ValueError("Invalid value for parameter `md5` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{32}/`") # noqa: E501
+ if ('sha1' in params and
+ len(params['sha1']) > 40):
+ raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, length must be less than or equal to `40`") # noqa: E501
+ if ('sha1' in params and
+ len(params['sha1']) < 40):
+ raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, length must be greater than or equal to `40`") # noqa: E501
+ if 'sha1' in params and not re.search('[a-f0-9]{40}', params['sha1']): # noqa: E501
+ raise ValueError("Invalid value for parameter `sha1` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{40}/`") # noqa: E501
+ if ('sha256' in params and
+ len(params['sha256']) > 64):
+ raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, length must be less than or equal to `64`") # noqa: E501
+ if ('sha256' in params and
+ len(params['sha256']) < 64):
+ raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, length must be greater than or equal to `64`") # noqa: E501
+ if 'sha256' in params and not re.search('[a-f0-9]{64}', params['sha256']): # noqa: E501
+ raise ValueError("Invalid value for parameter `sha256` when calling `lookup_file`, must conform to the pattern `/[a-f0-9]{64}/`") # noqa: E501
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'md5' in params:
+ query_params.append(('md5', params['md5'])) # noqa: E501
+ if 'sha1' in params:
+ query_params.append(('sha1', params['sha1'])) # noqa: E501
+ if 'sha256' in params:
+ query_params.append(('sha256', params['sha256'])) # noqa: E501
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/lookup', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='FileEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def lookup_release(self, **kwargs): # noqa: E501
+ """lookup_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.lookup_release(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str doi:
+ :param str wikidata_qid:
+ :param str isbn13:
+ :param str pmid:
+ :param str pmcid:
+ :param str core_id:
+ :param str expand: List of sub-entities to expand in response.
+ :param str hide: List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid.
+ :return: ReleaseEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.lookup_release_with_http_info(**kwargs) # noqa: E501
+ else:
+ (data) = self.lookup_release_with_http_info(**kwargs) # noqa: E501
+ return data
+
+ def lookup_release_with_http_info(self, **kwargs): # noqa: E501
+ """lookup_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.lookup_release_with_http_info(async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str doi:
+ :param str wikidata_qid:
+ :param str isbn13:
+ :param str pmid:
+ :param str pmcid:
+ :param str core_id:
+ :param str expand: List of sub-entities to expand in response.
+ :param str hide: List of sub-entities to expand in response. For releases, 'files', 'filesets, 'webcaptures', 'container', and 'creators' are valid.
+ :return: ReleaseEntity
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['doi', 'wikidata_qid', 'isbn13', 'pmid', 'pmcid', 'core_id', 'expand', 'hide'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method lookup_release" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'doi' in params:
+ query_params.append(('doi', params['doi'])) # noqa: E501
+ if 'wikidata_qid' in params:
+ query_params.append(('wikidata_qid', params['wikidata_qid'])) # noqa: E501
+ if 'isbn13' in params:
+ query_params.append(('isbn13', params['isbn13'])) # noqa: E501
+ if 'pmid' in params:
+ query_params.append(('pmid', params['pmid'])) # noqa: E501
+ if 'pmcid' in params:
+ query_params.append(('pmcid', params['pmcid'])) # noqa: E501
+ if 'core_id' in params:
+ query_params.append(('core_id', params['core_id'])) # noqa: E501
+ if 'expand' in params:
+ query_params.append(('expand', params['expand'])) # noqa: E501
+ if 'hide' in params:
+ query_params.append(('hide', params['hide'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = [] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/lookup', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='ReleaseEntity', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_container(self, ident, entity, **kwargs): # noqa: E501
+ """update_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_container(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param ContainerEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.update_container_with_http_info(ident, entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.update_container_with_http_info(ident, entity, **kwargs) # noqa: E501
+ return data
+
+ def update_container_with_http_info(self, ident, entity, **kwargs): # noqa: E501
+ """update_container # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_container_with_http_info(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param ContainerEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_container" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `update_container`") # noqa: E501
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `update_container`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/container/{ident}', 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_creator(self, ident, entity, **kwargs): # noqa: E501
+ """update_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_creator(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param CreatorEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.update_creator_with_http_info(ident, entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.update_creator_with_http_info(ident, entity, **kwargs) # noqa: E501
+ return data
+
+ def update_creator_with_http_info(self, ident, entity, **kwargs): # noqa: E501
+ """update_creator # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_creator_with_http_info(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param CreatorEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_creator" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `update_creator`") # noqa: E501
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `update_creator`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/creator/{ident}', 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_editor(self, editor_id, editor, **kwargs): # noqa: E501
+ """update_editor # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_editor(editor_id, editor, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editor_id: (required)
+ :param Editor editor: (required)
+ :return: Editor
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.update_editor_with_http_info(editor_id, editor, **kwargs) # noqa: E501
+ else:
+ (data) = self.update_editor_with_http_info(editor_id, editor, **kwargs) # noqa: E501
+ return data
+
+ def update_editor_with_http_info(self, editor_id, editor, **kwargs): # noqa: E501
+ """update_editor # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_editor_with_http_info(editor_id, editor, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str editor_id: (required)
+ :param Editor editor: (required)
+ :return: Editor
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['editor_id', 'editor'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_editor" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'editor_id' is set
+ if ('editor_id' not in params or
+ params['editor_id'] is None):
+ raise ValueError("Missing the required parameter `editor_id` when calling `update_editor`") # noqa: E501
+ # verify the required parameter 'editor' is set
+ if ('editor' not in params or
+ params['editor'] is None):
+ raise ValueError("Missing the required parameter `editor` when calling `update_editor`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'editor_id' in params:
+ path_params['editor_id'] = params['editor_id'] # noqa: E501
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'editor' in params:
+ body_params = params['editor']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/editor/{editor_id}', 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Editor', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_file(self, ident, entity, **kwargs): # noqa: E501
+ """update_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_file(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param FileEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.update_file_with_http_info(ident, entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.update_file_with_http_info(ident, entity, **kwargs) # noqa: E501
+ return data
+
+ def update_file_with_http_info(self, ident, entity, **kwargs): # noqa: E501
+ """update_file # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_file_with_http_info(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param FileEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_file" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `update_file`") # noqa: E501
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `update_file`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/file/{ident}', 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_fileset(self, ident, entity, **kwargs): # noqa: E501
+ """update_fileset # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_fileset(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param FilesetEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.update_fileset_with_http_info(ident, entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.update_fileset_with_http_info(ident, entity, **kwargs) # noqa: E501
+ return data
+
+ def update_fileset_with_http_info(self, ident, entity, **kwargs): # noqa: E501
+ """update_fileset # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_fileset_with_http_info(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param FilesetEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_fileset" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `update_fileset`") # noqa: E501
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `update_fileset`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/fileset/{ident}', 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_release(self, ident, entity, **kwargs): # noqa: E501
+ """update_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_release(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param ReleaseEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.update_release_with_http_info(ident, entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.update_release_with_http_info(ident, entity, **kwargs) # noqa: E501
+ return data
+
+ def update_release_with_http_info(self, ident, entity, **kwargs): # noqa: E501
+ """update_release # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_release_with_http_info(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param ReleaseEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_release" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `update_release`") # noqa: E501
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `update_release`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/release/{ident}', 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_webcapture(self, ident, entity, **kwargs): # noqa: E501
+ """update_webcapture # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_webcapture(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param WebcaptureEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.update_webcapture_with_http_info(ident, entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.update_webcapture_with_http_info(ident, entity, **kwargs) # noqa: E501
+ return data
+
+ def update_webcapture_with_http_info(self, ident, entity, **kwargs): # noqa: E501
+ """update_webcapture # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_webcapture_with_http_info(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param WebcaptureEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_webcapture" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `update_webcapture`") # noqa: E501
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `update_webcapture`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/webcapture/{ident}', 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_work(self, ident, entity, **kwargs): # noqa: E501
+ """update_work # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_work(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param WorkEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('async'):
+ return self.update_work_with_http_info(ident, entity, **kwargs) # noqa: E501
+ else:
+ (data) = self.update_work_with_http_info(ident, entity, **kwargs) # noqa: E501
+ return data
+
+ def update_work_with_http_info(self, ident, entity, **kwargs): # noqa: E501
+ """update_work # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async=True
+ >>> thread = api.update_work_with_http_info(ident, entity, async=True)
+ >>> result = thread.get()
+
+ :param async bool
+ :param str ident: (required)
+ :param WorkEntity entity: (required)
+ :param str editgroup_id:
+ :return: EntityEdit
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['ident', 'entity', 'editgroup_id'] # noqa: E501
+ all_params.append('async')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in six.iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_work" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'ident' is set
+ if ('ident' not in params or
+ params['ident'] is None):
+ raise ValueError("Missing the required parameter `ident` when calling `update_work`") # noqa: E501
+ # verify the required parameter 'entity' is set
+ if ('entity' not in params or
+ params['entity'] is None):
+ raise ValueError("Missing the required parameter `entity` when calling `update_work`") # noqa: E501
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'ident' in params:
+ path_params['ident'] = params['ident'] # noqa: E501
+
+ query_params = []
+ if 'editgroup_id' in params:
+ query_params.append(('editgroup_id', params['editgroup_id'])) # noqa: E501
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'entity' in params:
+ body_params = params['entity']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
+ ['application/json']) # noqa: E501
+
+ # Authentication setting
+ auth_settings = ['Bearer'] # noqa: E501
+
+ return self.api_client.call_api(
+ '/work/{ident}', 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='EntityEdit', # noqa: E501
+ auth_settings=auth_settings,
+ async=params.get('async'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
diff --git a/python_client/fatcat_client/api_client.py b/python_client/fatcat_client/api_client.py
new file mode 100644
index 00000000..6e562014
--- /dev/null
+++ b/python_client/fatcat_client/api_client.py
@@ -0,0 +1,621 @@
+# coding: utf-8
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import datetime
+import json
+import mimetypes
+from multiprocessing.pool import ThreadPool
+import os
+import re
+import tempfile
+
+# python 2 and python 3 compatibility library
+import six
+from six.moves.urllib.parse import quote
+
+from fatcat_client.configuration import Configuration
+import fatcat_client.models
+from fatcat_client import rest
+
+
+class ApiClient(object):
+ """Generic API client for Swagger client library builds.
+
+ Swagger generic API client. This client handles the client-
+ server communication, and is invariant across implementations. Specifics of
+ the methods and models for each application are generated from the Swagger
+ templates.
+
+ NOTE: This class is auto generated by the swagger code generator program.
+ Ref: https://github.com/swagger-api/swagger-codegen
+ Do not edit the class manually.
+
+ :param configuration: .Configuration object for this client
+ :param header_name: a header to pass when making calls to the API.
+ :param header_value: a header value to pass when making calls to
+ the API.
+ :param cookie: a cookie to include in the header when making calls
+ to the API
+ """
+
+ PRIMITIVE_TYPES = (float, bool, bytes, six.text_type) + six.integer_types
+ NATIVE_TYPES_MAPPING = {
+ 'int': int,
+ 'long': int if six.PY3 else long, # noqa: F821
+ 'float': float,
+ 'str': str,
+ 'bool': bool,
+ 'date': datetime.date,
+ 'datetime': datetime.datetime,
+ 'object': object,
+ }
+
+ def __init__(self, configuration=None, header_name=None, header_value=None,
+ cookie=None):
+ if configuration is None:
+ configuration = Configuration()
+ self.configuration = configuration
+
+ self.pool = ThreadPool()
+ self.rest_client = rest.RESTClientObject(configuration)
+ self.default_headers = {}
+ if header_name is not None:
+ self.default_headers[header_name] = header_value
+ self.cookie = cookie
+ # Set default User-Agent.
+ self.user_agent = 'Swagger-Codegen/1.0.0/python'
+
+ def __del__(self):
+ self.pool.close()
+ self.pool.join()
+
+ @property
+ def user_agent(self):
+ """User agent for this API client"""
+ return self.default_headers['User-Agent']
+
+ @user_agent.setter
+ def user_agent(self, value):
+ self.default_headers['User-Agent'] = value
+
+ def set_default_header(self, header_name, header_value):
+ self.default_headers[header_name] = header_value
+
+ def __call_api(
+ self, resource_path, method, path_params=None,
+ query_params=None, header_params=None, body=None, post_params=None,
+ files=None, response_type=None, auth_settings=None,
+ _return_http_data_only=None, collection_formats=None,
+ _preload_content=True, _request_timeout=None):
+
+ config = self.configuration
+
+ # header parameters
+ header_params = header_params or {}
+ header_params.update(self.default_headers)
+ if self.cookie:
+ header_params['Cookie'] = self.cookie
+ if header_params:
+ header_params = self.sanitize_for_serialization(header_params)
+ header_params = dict(self.parameters_to_tuples(header_params,
+ collection_formats))
+
+ # path parameters
+ if path_params:
+ path_params = self.sanitize_for_serialization(path_params)
+ path_params = self.parameters_to_tuples(path_params,
+ collection_formats)
+ for k, v in path_params:
+ # specified safe chars, encode everything
+ resource_path = resource_path.replace(
+ '{%s}' % k,
+ quote(str(v), safe=config.safe_chars_for_path_param)
+ )
+
+ # query parameters
+ if query_params:
+ query_params = self.sanitize_for_serialization(query_params)
+ query_params = self.parameters_to_tuples(query_params,
+ collection_formats)
+
+ # post parameters
+ if post_params or files:
+ post_params = self.prepare_post_parameters(post_params, files)
+ post_params = self.sanitize_for_serialization(post_params)
+ post_params = self.parameters_to_tuples(post_params,
+ collection_formats)
+
+ # auth setting
+ self.update_params_for_auth(header_params, query_params, auth_settings)
+
+ # body
+ if body:
+ body = self.sanitize_for_serialization(body)
+
+ # request url
+ url = self.configuration.host + resource_path
+
+ # perform request and return response
+ response_data = self.request(
+ method, url, query_params=query_params, headers=header_params,
+ post_params=post_params, body=body,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout)
+
+ self.last_response = response_data
+
+ return_data = response_data
+ if _preload_content:
+ # deserialize response data
+ if response_type:
+ return_data = self.deserialize(response_data, response_type)
+ else:
+ return_data = None
+
+ if _return_http_data_only:
+ return (return_data)
+ else:
+ return (return_data, response_data.status,
+ response_data.getheaders())
+
+ def sanitize_for_serialization(self, obj):
+ """Builds a JSON POST object.
+
+ If obj is None, return None.
+ If obj is str, int, long, float, bool, return directly.
+ If obj is datetime.datetime, datetime.date
+ convert to string in iso8601 format.
+ If obj is list, sanitize each element in the list.
+ If obj is dict, return the dict.
+ If obj is swagger model, return the properties dict.
+
+ :param obj: The data to serialize.
+ :return: The serialized form of data.
+ """
+ if obj is None:
+ return None
+ elif isinstance(obj, self.PRIMITIVE_TYPES):
+ return obj
+ elif isinstance(obj, list):
+ return [self.sanitize_for_serialization(sub_obj)
+ for sub_obj in obj]
+ elif isinstance(obj, tuple):
+ return tuple(self.sanitize_for_serialization(sub_obj)
+ for sub_obj in obj)
+ elif isinstance(obj, (datetime.datetime, datetime.date)):
+ return obj.isoformat()
+
+ if isinstance(obj, dict):
+ obj_dict = obj
+ else:
+ # Convert model obj to dict except
+ # attributes `swagger_types`, `attribute_map`
+ # and attributes which value is not None.
+ # Convert attribute name to json key in
+ # model definition for request.
+ obj_dict = {obj.attribute_map[attr]: getattr(obj, attr)
+ for attr, _ in six.iteritems(obj.swagger_types)
+ if getattr(obj, attr) is not None}
+
+ return {key: self.sanitize_for_serialization(val)
+ for key, val in six.iteritems(obj_dict)}
+
+ def deserialize(self, response, response_type):
+ """Deserializes response into an object.
+
+ :param response: RESTResponse object to be deserialized.
+ :param response_type: class literal for
+ deserialized object, or string of class name.
+
+ :return: deserialized object.
+ """
+ # handle file downloading
+ # save response body into a tmp file and return the instance
+ if response_type == "file":
+ return self.__deserialize_file(response)
+
+ # fetch data from response object
+ try:
+ data = json.loads(response.data)
+ except ValueError:
+ data = response.data
+
+ return self.__deserialize(data, response_type)
+
+ def __deserialize(self, data, klass):
+ """Deserializes dict, list, str into an object.
+
+ :param data: dict, list or str.
+ :param klass: class literal, or string of class name.
+
+ :return: object.
+ """
+ if data is None:
+ return None
+
+ if type(klass) == str:
+ if klass.startswith('list['):
+ sub_kls = re.match('list\[(.*)\]', klass).group(1)
+ return [self.__deserialize(sub_data, sub_kls)
+ for sub_data in data]
+
+ if klass.startswith('dict('):
+ sub_kls = re.match('dict\(([^,]*), (.*)\)', klass).group(2)
+ return {k: self.__deserialize(v, sub_kls)
+ for k, v in six.iteritems(data)}
+
+ # convert str to class
+ if klass in self.NATIVE_TYPES_MAPPING:
+ klass = self.NATIVE_TYPES_MAPPING[klass]
+ else:
+ klass = getattr(fatcat_client.models, klass)
+
+ if klass in self.PRIMITIVE_TYPES:
+ return self.__deserialize_primitive(data, klass)
+ elif klass == object:
+ return self.__deserialize_object(data)
+ elif klass == datetime.date:
+ return self.__deserialize_date(data)
+ elif klass == datetime.datetime:
+ return self.__deserialize_datatime(data)
+ else:
+ return self.__deserialize_model(data, klass)
+
+ def call_api(self, resource_path, method,
+ path_params=None, query_params=None, header_params=None,
+ body=None, post_params=None, files=None,
+ response_type=None, auth_settings=None, async=None,
+ _return_http_data_only=None, collection_formats=None,
+ _preload_content=True, _request_timeout=None):
+ """Makes the HTTP request (synchronous) and returns deserialized data.
+
+ To make an async request, set the async parameter.
+
+ :param resource_path: Path to method endpoint.
+ :param method: Method to call.
+ :param path_params: Path parameters in the url.
+ :param query_params: Query parameters in the url.
+ :param header_params: Header parameters to be
+ placed in the request header.
+ :param body: Request body.
+ :param post_params dict: Request post form parameters,
+ for `application/x-www-form-urlencoded`, `multipart/form-data`.
+ :param auth_settings list: Auth Settings names for the request.
+ :param response: Response data type.
+ :param files dict: key -> filename, value -> filepath,
+ for `multipart/form-data`.
+ :param async bool: execute request asynchronously
+ :param _return_http_data_only: response data without head status code
+ and headers
+ :param collection_formats: dict of collection formats for path, query,
+ header, and post parameters.
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
+ be returned without reading/decoding response
+ data. Default is True.
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :return:
+ If async parameter is True,
+ the request will be called asynchronously.
+ The method will return the request thread.
+ If parameter async is False or missing,
+ then the method will return the response directly.
+ """
+ if not async:
+ return self.__call_api(resource_path, method,
+ path_params, query_params, header_params,
+ body, post_params, files,
+ response_type, auth_settings,
+ _return_http_data_only, collection_formats,
+ _preload_content, _request_timeout)
+ else:
+ thread = self.pool.apply_async(self.__call_api, (resource_path,
+ method, path_params, query_params,
+ header_params, body,
+ post_params, files,
+ response_type, auth_settings,
+ _return_http_data_only,
+ collection_formats,
+ _preload_content, _request_timeout))
+ return thread
+
+ def request(self, method, url, query_params=None, headers=None,
+ post_params=None, body=None, _preload_content=True,
+ _request_timeout=None):
+ """Makes the HTTP request using RESTClient."""
+ if method == "GET":
+ return self.rest_client.GET(url,
+ query_params=query_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ headers=headers)
+ elif method == "HEAD":
+ return self.rest_client.HEAD(url,
+ query_params=query_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ headers=headers)
+ elif method == "OPTIONS":
+ return self.rest_client.OPTIONS(url,
+ query_params=query_params,
+ headers=headers,
+ post_params=post_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+ elif method == "POST":
+ return self.rest_client.POST(url,
+ query_params=query_params,
+ headers=headers,
+ post_params=post_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+ elif method == "PUT":
+ return self.rest_client.PUT(url,
+ query_params=query_params,
+ headers=headers,
+ post_params=post_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+ elif method == "PATCH":
+ return self.rest_client.PATCH(url,
+ query_params=query_params,
+ headers=headers,
+ post_params=post_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+ elif method == "DELETE":
+ return self.rest_client.DELETE(url,
+ query_params=query_params,
+ headers=headers,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+ else:
+ raise ValueError(
+ "http method must be `GET`, `HEAD`, `OPTIONS`,"
+ " `POST`, `PATCH`, `PUT` or `DELETE`."
+ )
+
+ def parameters_to_tuples(self, params, collection_formats):
+ """Get parameters as list of tuples, formatting collections.
+
+ :param params: Parameters as dict or list of two-tuples
+ :param dict collection_formats: Parameter collection formats
+ :return: Parameters as list of tuples, collections formatted
+ """
+ new_params = []
+ if collection_formats is None:
+ collection_formats = {}
+ for k, v in six.iteritems(params) if isinstance(params, dict) else params: # noqa: E501
+ if k in collection_formats:
+ collection_format = collection_formats[k]
+ if collection_format == 'multi':
+ new_params.extend((k, value) for value in v)
+ else:
+ if collection_format == 'ssv':
+ delimiter = ' '
+ elif collection_format == 'tsv':
+ delimiter = '\t'
+ elif collection_format == 'pipes':
+ delimiter = '|'
+ else: # csv is the default
+ delimiter = ','
+ new_params.append(
+ (k, delimiter.join(str(value) for value in v)))
+ else:
+ new_params.append((k, v))
+ return new_params
+
+ def prepare_post_parameters(self, post_params=None, files=None):
+ """Builds form parameters.
+
+ :param post_params: Normal form parameters.
+ :param files: File parameters.
+ :return: Form parameters with files.
+ """
+ params = []
+
+ if post_params:
+ params = post_params
+
+ if files:
+ for k, v in six.iteritems(files):
+ if not v:
+ continue
+ file_names = v if type(v) is list else [v]
+ for n in file_names:
+ with open(n, 'rb') as f:
+ filename = os.path.basename(f.name)
+ filedata = f.read()
+ mimetype = (mimetypes.guess_type(filename)[0] or
+ 'application/octet-stream')
+ params.append(
+ tuple([k, tuple([filename, filedata, mimetype])]))
+
+ return params
+
+ def select_header_accept(self, accepts):
+ """Returns `Accept` based on an array of accepts provided.
+
+ :param accepts: List of headers.
+ :return: Accept (e.g. application/json).
+ """
+ if not accepts:
+ return
+
+ accepts = [x.lower() for x in accepts]
+
+ if 'application/json' in accepts:
+ return 'application/json'
+ else:
+ return ', '.join(accepts)
+
+ def select_header_content_type(self, content_types):
+ """Returns `Content-Type` based on an array of content_types provided.
+
+ :param content_types: List of content-types.
+ :return: Content-Type (e.g. application/json).
+ """
+ if not content_types:
+ return 'application/json'
+
+ content_types = [x.lower() for x in content_types]
+
+ if 'application/json' in content_types or '*/*' in content_types:
+ return 'application/json'
+ else:
+ return content_types[0]
+
+ def update_params_for_auth(self, headers, querys, auth_settings):
+ """Updates header and query params based on authentication setting.
+
+ :param headers: Header parameters dict to be updated.
+ :param querys: Query parameters tuple list to be updated.
+ :param auth_settings: Authentication setting identifiers list.
+ """
+ if not auth_settings:
+ return
+
+ for auth in auth_settings:
+ auth_setting = self.configuration.auth_settings().get(auth)
+ if auth_setting:
+ if not auth_setting['value']:
+ continue
+ elif auth_setting['in'] == 'header':
+ headers[auth_setting['key']] = auth_setting['value']
+ elif auth_setting['in'] == 'query':
+ querys.append((auth_setting['key'], auth_setting['value']))
+ else:
+ raise ValueError(
+ 'Authentication token must be in `query` or `header`'
+ )
+
+ def __deserialize_file(self, response):
+ """Deserializes body to file
+
+ Saves response body into a file in a temporary folder,
+ using the filename from the `Content-Disposition` header if provided.
+
+ :param response: RESTResponse.
+ :return: file path.
+ """
+ fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path)
+ os.close(fd)
+ os.remove(path)
+
+ content_disposition = response.getheader("Content-Disposition")
+ if content_disposition:
+ filename = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?',
+ content_disposition).group(1)
+ path = os.path.join(os.path.dirname(path), filename)
+
+ with open(path, "wb") as f:
+ f.write(response.data)
+
+ return path
+
+ def __deserialize_primitive(self, data, klass):
+ """Deserializes string to primitive type.
+
+ :param data: str.
+ :param klass: class literal.
+
+ :return: int, long, float, str, bool.
+ """
+ try:
+ return klass(data)
+ except UnicodeEncodeError:
+ return six.u(data)
+ except TypeError:
+ return data
+
+ def __deserialize_object(self, value):
+ """Return a original value.
+
+ :return: object.
+ """
+ return value
+
+ def __deserialize_date(self, string):
+ """Deserializes string to date.
+
+ :param string: str.
+ :return: date.
+ """
+ try:
+ from dateutil.parser import parse
+ return parse(string).date()
+ except ImportError:
+ return string
+ except ValueError:
+ raise rest.ApiException(
+ status=0,
+ reason="Failed to parse `{0}` as date object".format(string)
+ )
+
+ def __deserialize_datatime(self, string):
+ """Deserializes string to datetime.
+
+ The string should be in iso8601 datetime format.
+
+ :param string: str.
+ :return: datetime.
+ """
+ try:
+ from dateutil.parser import parse
+ return parse(string)
+ except ImportError:
+ return string
+ except ValueError:
+ raise rest.ApiException(
+ status=0,
+ reason=(
+ "Failed to parse `{0}` as datetime object"
+ .format(string)
+ )
+ )
+
+ def __deserialize_model(self, data, klass):
+ """Deserializes list or dict to model.
+
+ :param data: dict, list.
+ :param klass: class literal.
+ :return: model object.
+ """
+
+ if not klass.swagger_types and not hasattr(klass,
+ 'get_real_child_model'):
+ return data
+
+ kwargs = {}
+ if klass.swagger_types is not None:
+ for attr, attr_type in six.iteritems(klass.swagger_types):
+ if (data is not None and
+ klass.attribute_map[attr] in data and
+ isinstance(data, (list, dict))):
+ value = data[klass.attribute_map[attr]]
+ kwargs[attr] = self.__deserialize(value, attr_type)
+
+ instance = klass(**kwargs)
+
+ if hasattr(instance, 'get_real_child_model'):
+ klass_name = instance.get_real_child_model(data)
+ if klass_name:
+ instance = self.__deserialize(data, klass_name)
+ return instance
diff --git a/python_client/fatcat_client/configuration.py b/python_client/fatcat_client/configuration.py
new file mode 100644
index 00000000..69b54edb
--- /dev/null
+++ b/python_client/fatcat_client/configuration.py
@@ -0,0 +1,247 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+from __future__ import absolute_import
+
+import copy
+import logging
+import multiprocessing
+import sys
+import urllib3
+
+import six
+from six.moves import http_client as httplib
+
+
+class TypeWithDefault(type):
+ def __init__(cls, name, bases, dct):
+ super(TypeWithDefault, cls).__init__(name, bases, dct)
+ cls._default = None
+
+ def __call__(cls):
+ if cls._default is None:
+ cls._default = type.__call__(cls)
+ return copy.copy(cls._default)
+
+ def set_default(cls, default):
+ cls._default = copy.copy(default)
+
+
+class Configuration(six.with_metaclass(TypeWithDefault, object)):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Ref: https://github.com/swagger-api/swagger-codegen
+ Do not edit the class manually.
+ """
+
+ def __init__(self):
+ """Constructor"""
+ # Default Base url
+ self.host = "https://api.fatcat.wiki/v0"
+ # Temp file folder for downloading files
+ self.temp_folder_path = None
+
+ # Authentication Settings
+ # dict to store API key(s)
+ self.api_key = {}
+ # dict to store API prefix (e.g. Bearer)
+ self.api_key_prefix = {}
+ # Username for HTTP basic authentication
+ self.username = ""
+ # Password for HTTP basic authentication
+ self.password = ""
+
+ # Logging Settings
+ self.logger = {}
+ self.logger["package_logger"] = logging.getLogger("fatcat_client")
+ self.logger["urllib3_logger"] = logging.getLogger("urllib3")
+ # Log format
+ self.logger_format = '%(asctime)s %(levelname)s %(message)s'
+ # Log stream handler
+ self.logger_stream_handler = None
+ # Log file handler
+ self.logger_file_handler = None
+ # Debug file location
+ self.logger_file = None
+ # Debug switch
+ self.debug = False
+
+ # SSL/TLS verification
+ # Set this to false to skip verifying SSL certificate when calling API
+ # from https server.
+ self.verify_ssl = True
+ # Set this to customize the certificate file to verify the peer.
+ self.ssl_ca_cert = None
+ # client certificate file
+ self.cert_file = None
+ # client key file
+ self.key_file = None
+ # Set this to True/False to enable/disable SSL hostname verification.
+ self.assert_hostname = None
+
+ # urllib3 connection pool's maximum number of connections saved
+ # per pool. urllib3 uses 1 connection as default value, but this is
+ # not the best value when you are making a lot of possibly parallel
+ # requests to the same host, which is often the case here.
+ # cpu_count * 5 is used as default value to increase performance.
+ self.connection_pool_maxsize = multiprocessing.cpu_count() * 5
+
+ # Proxy URL
+ self.proxy = None
+ # Safe chars for path_param
+ self.safe_chars_for_path_param = ''
+
+ @property
+ def logger_file(self):
+ """The logger file.
+
+ If the logger_file is None, then add stream handler and remove file
+ handler. Otherwise, add file handler and remove stream handler.
+
+ :param value: The logger_file path.
+ :type: str
+ """
+ return self.__logger_file
+
+ @logger_file.setter
+ def logger_file(self, value):
+ """The logger file.
+
+ If the logger_file is None, then add stream handler and remove file
+ handler. Otherwise, add file handler and remove stream handler.
+
+ :param value: The logger_file path.
+ :type: str
+ """
+ self.__logger_file = value
+ if self.__logger_file:
+ # If set logging file,
+ # then add file handler and remove stream handler.
+ self.logger_file_handler = logging.FileHandler(self.__logger_file)
+ self.logger_file_handler.setFormatter(self.logger_formatter)
+ for _, logger in six.iteritems(self.logger):
+ logger.addHandler(self.logger_file_handler)
+ if self.logger_stream_handler:
+ logger.removeHandler(self.logger_stream_handler)
+ else:
+ # If not set logging file,
+ # then add stream handler and remove file handler.
+ self.logger_stream_handler = logging.StreamHandler()
+ self.logger_stream_handler.setFormatter(self.logger_formatter)
+ for _, logger in six.iteritems(self.logger):
+ logger.addHandler(self.logger_stream_handler)
+ if self.logger_file_handler:
+ logger.removeHandler(self.logger_file_handler)
+
+ @property
+ def debug(self):
+ """Debug status
+
+ :param value: The debug status, True or False.
+ :type: bool
+ """
+ return self.__debug
+
+ @debug.setter
+ def debug(self, value):
+ """Debug status
+
+ :param value: The debug status, True or False.
+ :type: bool
+ """
+ self.__debug = value
+ if self.__debug:
+ # if debug status is True, turn on debug logging
+ for _, logger in six.iteritems(self.logger):
+ logger.setLevel(logging.DEBUG)
+ # turn on httplib debug
+ httplib.HTTPConnection.debuglevel = 1
+ else:
+ # if debug status is False, turn off debug logging,
+ # setting log level to default `logging.WARNING`
+ for _, logger in six.iteritems(self.logger):
+ logger.setLevel(logging.WARNING)
+ # turn off httplib debug
+ httplib.HTTPConnection.debuglevel = 0
+
+ @property
+ def logger_format(self):
+ """The logger format.
+
+ The logger_formatter will be updated when sets logger_format.
+
+ :param value: The format string.
+ :type: str
+ """
+ return self.__logger_format
+
+ @logger_format.setter
+ def logger_format(self, value):
+ """The logger format.
+
+ The logger_formatter will be updated when sets logger_format.
+
+ :param value: The format string.
+ :type: str
+ """
+ self.__logger_format = value
+ self.logger_formatter = logging.Formatter(self.__logger_format)
+
+ def get_api_key_with_prefix(self, identifier):
+ """Gets API key (with prefix if set).
+
+ :param identifier: The identifier of apiKey.
+ :return: The token for api key authentication.
+ """
+ if (self.api_key.get(identifier) and
+ self.api_key_prefix.get(identifier)):
+ return self.api_key_prefix[identifier] + ' ' + self.api_key[identifier] # noqa: E501
+ elif self.api_key.get(identifier):
+ return self.api_key[identifier]
+
+ def get_basic_auth_token(self):
+ """Gets HTTP basic authentication header (string).
+
+ :return: The token for basic HTTP authentication.
+ """
+ return urllib3.util.make_headers(
+ basic_auth=self.username + ':' + self.password
+ ).get('authorization')
+
+ def auth_settings(self):
+ """Gets Auth Settings dict for api client.
+
+ :return: The Auth Settings information dict.
+ """
+ return {
+ 'Bearer':
+ {
+ 'type': 'api_key',
+ 'in': 'header',
+ 'key': 'Authorization',
+ 'value': self.get_api_key_with_prefix('Authorization')
+ },
+
+ }
+
+ def to_debug_report(self):
+ """Gets the essential information for debugging.
+
+ :return: The report for debugging.
+ """
+ return "Python SDK Debug Report:\n"\
+ "OS: {env}\n"\
+ "Python Version: {pyversion}\n"\
+ "Version of the API: 0.1.0\n"\
+ "SDK Package Version: 1.0.0".\
+ format(env=sys.platform, pyversion=sys.version)
diff --git a/python_client/fatcat_client/models/__init__.py b/python_client/fatcat_client/models/__init__.py
new file mode 100644
index 00000000..ef77b4fd
--- /dev/null
+++ b/python_client/fatcat_client/models/__init__.py
@@ -0,0 +1,41 @@
+# coding: utf-8
+
+# flake8: noqa
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+from __future__ import absolute_import
+
+# import models into model package
+from fatcat_client.models.auth_oidc import AuthOidc
+from fatcat_client.models.auth_oidc_result import AuthOidcResult
+from fatcat_client.models.changelog_entry import ChangelogEntry
+from fatcat_client.models.container_entity import ContainerEntity
+from fatcat_client.models.creator_entity import CreatorEntity
+from fatcat_client.models.editgroup import Editgroup
+from fatcat_client.models.editgroup_edits import EditgroupEdits
+from fatcat_client.models.editor import Editor
+from fatcat_client.models.entity_edit import EntityEdit
+from fatcat_client.models.entity_history_entry import EntityHistoryEntry
+from fatcat_client.models.error_response import ErrorResponse
+from fatcat_client.models.file_entity import FileEntity
+from fatcat_client.models.file_entity_urls import FileEntityUrls
+from fatcat_client.models.fileset_entity import FilesetEntity
+from fatcat_client.models.fileset_entity_manifest import FilesetEntityManifest
+from fatcat_client.models.release_contrib import ReleaseContrib
+from fatcat_client.models.release_entity import ReleaseEntity
+from fatcat_client.models.release_entity_abstracts import ReleaseEntityAbstracts
+from fatcat_client.models.release_ref import ReleaseRef
+from fatcat_client.models.success import Success
+from fatcat_client.models.webcapture_entity import WebcaptureEntity
+from fatcat_client.models.webcapture_entity_archive_urls import WebcaptureEntityArchiveUrls
+from fatcat_client.models.webcapture_entity_cdx import WebcaptureEntityCdx
+from fatcat_client.models.work_entity import WorkEntity
diff --git a/python_client/fatcat_client/models/auth_oidc.py b/python_client/fatcat_client/models/auth_oidc.py
new file mode 100644
index 00000000..1ee4c429
--- /dev/null
+++ b/python_client/fatcat_client/models/auth_oidc.py
@@ -0,0 +1,194 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class AuthOidc(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'provider': 'str',
+ 'sub': 'str',
+ 'iss': 'str',
+ 'preferred_username': 'str'
+ }
+
+ attribute_map = {
+ 'provider': 'provider',
+ 'sub': 'sub',
+ 'iss': 'iss',
+ 'preferred_username': 'preferred_username'
+ }
+
+ def __init__(self, provider=None, sub=None, iss=None, preferred_username=None): # noqa: E501
+ """AuthOidc - a model defined in Swagger""" # noqa: E501
+
+ self._provider = None
+ self._sub = None
+ self._iss = None
+ self._preferred_username = None
+ self.discriminator = None
+
+ self.provider = provider
+ self.sub = sub
+ self.iss = iss
+ self.preferred_username = preferred_username
+
+ @property
+ def provider(self):
+ """Gets the provider of this AuthOidc. # noqa: E501
+
+
+ :return: The provider of this AuthOidc. # noqa: E501
+ :rtype: str
+ """
+ return self._provider
+
+ @provider.setter
+ def provider(self, provider):
+ """Sets the provider of this AuthOidc.
+
+
+ :param provider: The provider of this AuthOidc. # noqa: E501
+ :type: str
+ """
+ if provider is None:
+ raise ValueError("Invalid value for `provider`, must not be `None`") # noqa: E501
+
+ self._provider = provider
+
+ @property
+ def sub(self):
+ """Gets the sub of this AuthOidc. # noqa: E501
+
+
+ :return: The sub of this AuthOidc. # noqa: E501
+ :rtype: str
+ """
+ return self._sub
+
+ @sub.setter
+ def sub(self, sub):
+ """Sets the sub of this AuthOidc.
+
+
+ :param sub: The sub of this AuthOidc. # noqa: E501
+ :type: str
+ """
+ if sub is None:
+ raise ValueError("Invalid value for `sub`, must not be `None`") # noqa: E501
+
+ self._sub = sub
+
+ @property
+ def iss(self):
+ """Gets the iss of this AuthOidc. # noqa: E501
+
+
+ :return: The iss of this AuthOidc. # noqa: E501
+ :rtype: str
+ """
+ return self._iss
+
+ @iss.setter
+ def iss(self, iss):
+ """Sets the iss of this AuthOidc.
+
+
+ :param iss: The iss of this AuthOidc. # noqa: E501
+ :type: str
+ """
+ if iss is None:
+ raise ValueError("Invalid value for `iss`, must not be `None`") # noqa: E501
+
+ self._iss = iss
+
+ @property
+ def preferred_username(self):
+ """Gets the preferred_username of this AuthOidc. # noqa: E501
+
+
+ :return: The preferred_username of this AuthOidc. # noqa: E501
+ :rtype: str
+ """
+ return self._preferred_username
+
+ @preferred_username.setter
+ def preferred_username(self, preferred_username):
+ """Sets the preferred_username of this AuthOidc.
+
+
+ :param preferred_username: The preferred_username of this AuthOidc. # noqa: E501
+ :type: str
+ """
+ if preferred_username is None:
+ raise ValueError("Invalid value for `preferred_username`, must not be `None`") # noqa: E501
+
+ self._preferred_username = preferred_username
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, AuthOidc):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/auth_oidc_result.py b/python_client/fatcat_client/models/auth_oidc_result.py
new file mode 100644
index 00000000..5e31a574
--- /dev/null
+++ b/python_client/fatcat_client/models/auth_oidc_result.py
@@ -0,0 +1,142 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.editor import Editor # noqa: F401,E501
+
+
+class AuthOidcResult(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'editor': 'Editor',
+ 'token': 'str'
+ }
+
+ attribute_map = {
+ 'editor': 'editor',
+ 'token': 'token'
+ }
+
+ def __init__(self, editor=None, token=None): # noqa: E501
+ """AuthOidcResult - a model defined in Swagger""" # noqa: E501
+
+ self._editor = None
+ self._token = None
+ self.discriminator = None
+
+ self.editor = editor
+ self.token = token
+
+ @property
+ def editor(self):
+ """Gets the editor of this AuthOidcResult. # noqa: E501
+
+
+ :return: The editor of this AuthOidcResult. # noqa: E501
+ :rtype: Editor
+ """
+ return self._editor
+
+ @editor.setter
+ def editor(self, editor):
+ """Sets the editor of this AuthOidcResult.
+
+
+ :param editor: The editor of this AuthOidcResult. # noqa: E501
+ :type: Editor
+ """
+ if editor is None:
+ raise ValueError("Invalid value for `editor`, must not be `None`") # noqa: E501
+
+ self._editor = editor
+
+ @property
+ def token(self):
+ """Gets the token of this AuthOidcResult. # noqa: E501
+
+
+ :return: The token of this AuthOidcResult. # noqa: E501
+ :rtype: str
+ """
+ return self._token
+
+ @token.setter
+ def token(self, token):
+ """Sets the token of this AuthOidcResult.
+
+
+ :param token: The token of this AuthOidcResult. # noqa: E501
+ :type: str
+ """
+ if token is None:
+ raise ValueError("Invalid value for `token`, must not be `None`") # noqa: E501
+
+ self._token = token
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, AuthOidcResult):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/changelog_entry.py b/python_client/fatcat_client/models/changelog_entry.py
new file mode 100644
index 00000000..26f8f8c7
--- /dev/null
+++ b/python_client/fatcat_client/models/changelog_entry.py
@@ -0,0 +1,195 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.editgroup import Editgroup # noqa: F401,E501
+
+
+class ChangelogEntry(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'index': 'int',
+ 'editgroup_id': 'str',
+ 'timestamp': 'datetime',
+ 'editgroup': 'Editgroup'
+ }
+
+ attribute_map = {
+ 'index': 'index',
+ 'editgroup_id': 'editgroup_id',
+ 'timestamp': 'timestamp',
+ 'editgroup': 'editgroup'
+ }
+
+ def __init__(self, index=None, editgroup_id=None, timestamp=None, editgroup=None): # noqa: E501
+ """ChangelogEntry - a model defined in Swagger""" # noqa: E501
+
+ self._index = None
+ self._editgroup_id = None
+ self._timestamp = None
+ self._editgroup = None
+ self.discriminator = None
+
+ self.index = index
+ self.editgroup_id = editgroup_id
+ self.timestamp = timestamp
+ if editgroup is not None:
+ self.editgroup = editgroup
+
+ @property
+ def index(self):
+ """Gets the index of this ChangelogEntry. # noqa: E501
+
+
+ :return: The index of this ChangelogEntry. # noqa: E501
+ :rtype: int
+ """
+ return self._index
+
+ @index.setter
+ def index(self, index):
+ """Sets the index of this ChangelogEntry.
+
+
+ :param index: The index of this ChangelogEntry. # noqa: E501
+ :type: int
+ """
+ if index is None:
+ raise ValueError("Invalid value for `index`, must not be `None`") # noqa: E501
+
+ self._index = index
+
+ @property
+ def editgroup_id(self):
+ """Gets the editgroup_id of this ChangelogEntry. # noqa: E501
+
+
+ :return: The editgroup_id of this ChangelogEntry. # noqa: E501
+ :rtype: str
+ """
+ return self._editgroup_id
+
+ @editgroup_id.setter
+ def editgroup_id(self, editgroup_id):
+ """Sets the editgroup_id of this ChangelogEntry.
+
+
+ :param editgroup_id: The editgroup_id of this ChangelogEntry. # noqa: E501
+ :type: str
+ """
+ if editgroup_id is None:
+ raise ValueError("Invalid value for `editgroup_id`, must not be `None`") # noqa: E501
+
+ self._editgroup_id = editgroup_id
+
+ @property
+ def timestamp(self):
+ """Gets the timestamp of this ChangelogEntry. # noqa: E501
+
+
+ :return: The timestamp of this ChangelogEntry. # noqa: E501
+ :rtype: datetime
+ """
+ return self._timestamp
+
+ @timestamp.setter
+ def timestamp(self, timestamp):
+ """Sets the timestamp of this ChangelogEntry.
+
+
+ :param timestamp: The timestamp of this ChangelogEntry. # noqa: E501
+ :type: datetime
+ """
+ if timestamp is None:
+ raise ValueError("Invalid value for `timestamp`, must not be `None`") # noqa: E501
+
+ self._timestamp = timestamp
+
+ @property
+ def editgroup(self):
+ """Gets the editgroup of this ChangelogEntry. # noqa: E501
+
+
+ :return: The editgroup of this ChangelogEntry. # noqa: E501
+ :rtype: Editgroup
+ """
+ return self._editgroup
+
+ @editgroup.setter
+ def editgroup(self, editgroup):
+ """Sets the editgroup of this ChangelogEntry.
+
+
+ :param editgroup: The editgroup of this ChangelogEntry. # noqa: E501
+ :type: Editgroup
+ """
+
+ self._editgroup = editgroup
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, ChangelogEntry):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/container_entity.py b/python_client/fatcat_client/models/container_entity.py
new file mode 100644
index 00000000..5ed7eb0a
--- /dev/null
+++ b/python_client/fatcat_client/models/container_entity.py
@@ -0,0 +1,436 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class ContainerEntity(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'coden': 'str',
+ 'abbrev': 'str',
+ 'wikidata_qid': 'str',
+ 'issnl': 'str',
+ 'publisher': 'str',
+ 'name': 'str',
+ 'edit_extra': 'object',
+ 'extra': 'object',
+ 'redirect': 'str',
+ 'revision': 'str',
+ 'ident': 'str',
+ 'state': 'str'
+ }
+
+ attribute_map = {
+ 'coden': 'coden',
+ 'abbrev': 'abbrev',
+ 'wikidata_qid': 'wikidata_qid',
+ 'issnl': 'issnl',
+ 'publisher': 'publisher',
+ 'name': 'name',
+ 'edit_extra': 'edit_extra',
+ 'extra': 'extra',
+ 'redirect': 'redirect',
+ 'revision': 'revision',
+ 'ident': 'ident',
+ 'state': 'state'
+ }
+
+ def __init__(self, coden=None, abbrev=None, wikidata_qid=None, issnl=None, publisher=None, name=None, edit_extra=None, extra=None, redirect=None, revision=None, ident=None, state=None): # noqa: E501
+ """ContainerEntity - a model defined in Swagger""" # noqa: E501
+
+ self._coden = None
+ self._abbrev = None
+ self._wikidata_qid = None
+ self._issnl = None
+ self._publisher = None
+ self._name = None
+ self._edit_extra = None
+ self._extra = None
+ self._redirect = None
+ self._revision = None
+ self._ident = None
+ self._state = None
+ self.discriminator = None
+
+ if coden is not None:
+ self.coden = coden
+ if abbrev is not None:
+ self.abbrev = abbrev
+ if wikidata_qid is not None:
+ self.wikidata_qid = wikidata_qid
+ if issnl is not None:
+ self.issnl = issnl
+ if publisher is not None:
+ self.publisher = publisher
+ if name is not None:
+ self.name = name
+ if edit_extra is not None:
+ self.edit_extra = edit_extra
+ if extra is not None:
+ self.extra = extra
+ if redirect is not None:
+ self.redirect = redirect
+ if revision is not None:
+ self.revision = revision
+ if ident is not None:
+ self.ident = ident
+ if state is not None:
+ self.state = state
+
+ @property
+ def coden(self):
+ """Gets the coden of this ContainerEntity. # noqa: E501
+
+
+ :return: The coden of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._coden
+
+ @coden.setter
+ def coden(self, coden):
+ """Sets the coden of this ContainerEntity.
+
+
+ :param coden: The coden of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+
+ self._coden = coden
+
+ @property
+ def abbrev(self):
+ """Gets the abbrev of this ContainerEntity. # noqa: E501
+
+
+ :return: The abbrev of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._abbrev
+
+ @abbrev.setter
+ def abbrev(self, abbrev):
+ """Sets the abbrev of this ContainerEntity.
+
+
+ :param abbrev: The abbrev of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+
+ self._abbrev = abbrev
+
+ @property
+ def wikidata_qid(self):
+ """Gets the wikidata_qid of this ContainerEntity. # noqa: E501
+
+
+ :return: The wikidata_qid of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._wikidata_qid
+
+ @wikidata_qid.setter
+ def wikidata_qid(self, wikidata_qid):
+ """Sets the wikidata_qid of this ContainerEntity.
+
+
+ :param wikidata_qid: The wikidata_qid of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+
+ self._wikidata_qid = wikidata_qid
+
+ @property
+ def issnl(self):
+ """Gets the issnl of this ContainerEntity. # noqa: E501
+
+
+ :return: The issnl of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._issnl
+
+ @issnl.setter
+ def issnl(self, issnl):
+ """Sets the issnl of this ContainerEntity.
+
+
+ :param issnl: The issnl of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+ if issnl is not None and len(issnl) > 9:
+ raise ValueError("Invalid value for `issnl`, length must be less than or equal to `9`") # noqa: E501
+ if issnl is not None and len(issnl) < 9:
+ raise ValueError("Invalid value for `issnl`, length must be greater than or equal to `9`") # noqa: E501
+ if issnl is not None and not re.search('\\d{4}-\\d{3}[0-9X]', issnl): # noqa: E501
+ raise ValueError("Invalid value for `issnl`, must be a follow pattern or equal to `/\\d{4}-\\d{3}[0-9X]/`") # noqa: E501
+
+ self._issnl = issnl
+
+ @property
+ def publisher(self):
+ """Gets the publisher of this ContainerEntity. # noqa: E501
+
+
+ :return: The publisher of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._publisher
+
+ @publisher.setter
+ def publisher(self, publisher):
+ """Sets the publisher of this ContainerEntity.
+
+
+ :param publisher: The publisher of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+
+ self._publisher = publisher
+
+ @property
+ def name(self):
+ """Gets the name of this ContainerEntity. # noqa: E501
+
+ Required for valid entities # noqa: E501
+
+ :return: The name of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._name
+
+ @name.setter
+ def name(self, name):
+ """Sets the name of this ContainerEntity.
+
+ Required for valid entities # noqa: E501
+
+ :param name: The name of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+
+ self._name = name
+
+ @property
+ def edit_extra(self):
+ """Gets the edit_extra of this ContainerEntity. # noqa: E501
+
+
+ :return: The edit_extra of this ContainerEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._edit_extra
+
+ @edit_extra.setter
+ def edit_extra(self, edit_extra):
+ """Sets the edit_extra of this ContainerEntity.
+
+
+ :param edit_extra: The edit_extra of this ContainerEntity. # noqa: E501
+ :type: object
+ """
+
+ self._edit_extra = edit_extra
+
+ @property
+ def extra(self):
+ """Gets the extra of this ContainerEntity. # noqa: E501
+
+
+ :return: The extra of this ContainerEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this ContainerEntity.
+
+
+ :param extra: The extra of this ContainerEntity. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def redirect(self):
+ """Gets the redirect of this ContainerEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The redirect of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._redirect
+
+ @redirect.setter
+ def redirect(self, redirect):
+ """Sets the redirect of this ContainerEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param redirect: The redirect of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+ if redirect is not None and len(redirect) > 26:
+ raise ValueError("Invalid value for `redirect`, length must be less than or equal to `26`") # noqa: E501
+ if redirect is not None and len(redirect) < 26:
+ raise ValueError("Invalid value for `redirect`, length must be greater than or equal to `26`") # noqa: E501
+ if redirect is not None and not re.search('[a-zA-Z2-7]{26}', redirect): # noqa: E501
+ raise ValueError("Invalid value for `redirect`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._redirect = redirect
+
+ @property
+ def revision(self):
+ """Gets the revision of this ContainerEntity. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The revision of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._revision
+
+ @revision.setter
+ def revision(self, revision):
+ """Sets the revision of this ContainerEntity.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param revision: The revision of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+ if revision is not None and len(revision) > 36:
+ raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`") # noqa: E501
+ if revision is not None and len(revision) < 36:
+ raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`") # noqa: E501
+ if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision): # noqa: E501
+ raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._revision = revision
+
+ @property
+ def ident(self):
+ """Gets the ident of this ContainerEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The ident of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._ident
+
+ @ident.setter
+ def ident(self, ident):
+ """Sets the ident of this ContainerEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param ident: The ident of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+ if ident is not None and len(ident) > 26:
+ raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`") # noqa: E501
+ if ident is not None and len(ident) < 26:
+ raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`") # noqa: E501
+ if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident): # noqa: E501
+ raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._ident = ident
+
+ @property
+ def state(self):
+ """Gets the state of this ContainerEntity. # noqa: E501
+
+
+ :return: The state of this ContainerEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """Sets the state of this ContainerEntity.
+
+
+ :param state: The state of this ContainerEntity. # noqa: E501
+ :type: str
+ """
+ allowed_values = ["wip", "active", "redirect", "deleted"] # noqa: E501
+ if state not in allowed_values:
+ raise ValueError(
+ "Invalid value for `state` ({0}), must be one of {1}" # noqa: E501
+ .format(state, allowed_values)
+ )
+
+ self._state = state
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, ContainerEntity):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/creator_entity.py b/python_client/fatcat_client/models/creator_entity.py
new file mode 100644
index 00000000..8f04df19
--- /dev/null
+++ b/python_client/fatcat_client/models/creator_entity.py
@@ -0,0 +1,410 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class CreatorEntity(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'wikidata_qid': 'str',
+ 'orcid': 'str',
+ 'surname': 'str',
+ 'given_name': 'str',
+ 'display_name': 'str',
+ 'state': 'str',
+ 'ident': 'str',
+ 'revision': 'str',
+ 'redirect': 'str',
+ 'extra': 'object',
+ 'edit_extra': 'object'
+ }
+
+ attribute_map = {
+ 'wikidata_qid': 'wikidata_qid',
+ 'orcid': 'orcid',
+ 'surname': 'surname',
+ 'given_name': 'given_name',
+ 'display_name': 'display_name',
+ 'state': 'state',
+ 'ident': 'ident',
+ 'revision': 'revision',
+ 'redirect': 'redirect',
+ 'extra': 'extra',
+ 'edit_extra': 'edit_extra'
+ }
+
+ def __init__(self, wikidata_qid=None, orcid=None, surname=None, given_name=None, display_name=None, state=None, ident=None, revision=None, redirect=None, extra=None, edit_extra=None): # noqa: E501
+ """CreatorEntity - a model defined in Swagger""" # noqa: E501
+
+ self._wikidata_qid = None
+ self._orcid = None
+ self._surname = None
+ self._given_name = None
+ self._display_name = None
+ self._state = None
+ self._ident = None
+ self._revision = None
+ self._redirect = None
+ self._extra = None
+ self._edit_extra = None
+ self.discriminator = None
+
+ if wikidata_qid is not None:
+ self.wikidata_qid = wikidata_qid
+ if orcid is not None:
+ self.orcid = orcid
+ if surname is not None:
+ self.surname = surname
+ if given_name is not None:
+ self.given_name = given_name
+ if display_name is not None:
+ self.display_name = display_name
+ if state is not None:
+ self.state = state
+ if ident is not None:
+ self.ident = ident
+ if revision is not None:
+ self.revision = revision
+ if redirect is not None:
+ self.redirect = redirect
+ if extra is not None:
+ self.extra = extra
+ if edit_extra is not None:
+ self.edit_extra = edit_extra
+
+ @property
+ def wikidata_qid(self):
+ """Gets the wikidata_qid of this CreatorEntity. # noqa: E501
+
+
+ :return: The wikidata_qid of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._wikidata_qid
+
+ @wikidata_qid.setter
+ def wikidata_qid(self, wikidata_qid):
+ """Sets the wikidata_qid of this CreatorEntity.
+
+
+ :param wikidata_qid: The wikidata_qid of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+
+ self._wikidata_qid = wikidata_qid
+
+ @property
+ def orcid(self):
+ """Gets the orcid of this CreatorEntity. # noqa: E501
+
+
+ :return: The orcid of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._orcid
+
+ @orcid.setter
+ def orcid(self, orcid):
+ """Sets the orcid of this CreatorEntity.
+
+
+ :param orcid: The orcid of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+ if orcid is not None and len(orcid) > 19:
+ raise ValueError("Invalid value for `orcid`, length must be less than or equal to `19`") # noqa: E501
+ if orcid is not None and len(orcid) < 19:
+ raise ValueError("Invalid value for `orcid`, length must be greater than or equal to `19`") # noqa: E501
+ if orcid is not None and not re.search('\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]', orcid): # noqa: E501
+ raise ValueError("Invalid value for `orcid`, must be a follow pattern or equal to `/\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]/`") # noqa: E501
+
+ self._orcid = orcid
+
+ @property
+ def surname(self):
+ """Gets the surname of this CreatorEntity. # noqa: E501
+
+
+ :return: The surname of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._surname
+
+ @surname.setter
+ def surname(self, surname):
+ """Sets the surname of this CreatorEntity.
+
+
+ :param surname: The surname of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+
+ self._surname = surname
+
+ @property
+ def given_name(self):
+ """Gets the given_name of this CreatorEntity. # noqa: E501
+
+
+ :return: The given_name of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._given_name
+
+ @given_name.setter
+ def given_name(self, given_name):
+ """Sets the given_name of this CreatorEntity.
+
+
+ :param given_name: The given_name of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+
+ self._given_name = given_name
+
+ @property
+ def display_name(self):
+ """Gets the display_name of this CreatorEntity. # noqa: E501
+
+ Required for valid entities # noqa: E501
+
+ :return: The display_name of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """Sets the display_name of this CreatorEntity.
+
+ Required for valid entities # noqa: E501
+
+ :param display_name: The display_name of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+
+ self._display_name = display_name
+
+ @property
+ def state(self):
+ """Gets the state of this CreatorEntity. # noqa: E501
+
+
+ :return: The state of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """Sets the state of this CreatorEntity.
+
+
+ :param state: The state of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+ allowed_values = ["wip", "active", "redirect", "deleted"] # noqa: E501
+ if state not in allowed_values:
+ raise ValueError(
+ "Invalid value for `state` ({0}), must be one of {1}" # noqa: E501
+ .format(state, allowed_values)
+ )
+
+ self._state = state
+
+ @property
+ def ident(self):
+ """Gets the ident of this CreatorEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The ident of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._ident
+
+ @ident.setter
+ def ident(self, ident):
+ """Sets the ident of this CreatorEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param ident: The ident of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+ if ident is not None and len(ident) > 26:
+ raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`") # noqa: E501
+ if ident is not None and len(ident) < 26:
+ raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`") # noqa: E501
+ if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident): # noqa: E501
+ raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._ident = ident
+
+ @property
+ def revision(self):
+ """Gets the revision of this CreatorEntity. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The revision of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._revision
+
+ @revision.setter
+ def revision(self, revision):
+ """Sets the revision of this CreatorEntity.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param revision: The revision of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+ if revision is not None and len(revision) > 36:
+ raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`") # noqa: E501
+ if revision is not None and len(revision) < 36:
+ raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`") # noqa: E501
+ if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision): # noqa: E501
+ raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._revision = revision
+
+ @property
+ def redirect(self):
+ """Gets the redirect of this CreatorEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The redirect of this CreatorEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._redirect
+
+ @redirect.setter
+ def redirect(self, redirect):
+ """Sets the redirect of this CreatorEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param redirect: The redirect of this CreatorEntity. # noqa: E501
+ :type: str
+ """
+ if redirect is not None and len(redirect) > 26:
+ raise ValueError("Invalid value for `redirect`, length must be less than or equal to `26`") # noqa: E501
+ if redirect is not None and len(redirect) < 26:
+ raise ValueError("Invalid value for `redirect`, length must be greater than or equal to `26`") # noqa: E501
+ if redirect is not None and not re.search('[a-zA-Z2-7]{26}', redirect): # noqa: E501
+ raise ValueError("Invalid value for `redirect`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._redirect = redirect
+
+ @property
+ def extra(self):
+ """Gets the extra of this CreatorEntity. # noqa: E501
+
+
+ :return: The extra of this CreatorEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this CreatorEntity.
+
+
+ :param extra: The extra of this CreatorEntity. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def edit_extra(self):
+ """Gets the edit_extra of this CreatorEntity. # noqa: E501
+
+
+ :return: The edit_extra of this CreatorEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._edit_extra
+
+ @edit_extra.setter
+ def edit_extra(self, edit_extra):
+ """Sets the edit_extra of this CreatorEntity.
+
+
+ :param edit_extra: The edit_extra of this CreatorEntity. # noqa: E501
+ :type: object
+ """
+
+ self._edit_extra = edit_extra
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, CreatorEntity):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/editgroup.py b/python_client/fatcat_client/models/editgroup.py
new file mode 100644
index 00000000..4c877685
--- /dev/null
+++ b/python_client/fatcat_client/models/editgroup.py
@@ -0,0 +1,234 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.editgroup_edits import EditgroupEdits # noqa: F401,E501
+
+
+class Editgroup(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'editgroup_id': 'str',
+ 'editor_id': 'str',
+ 'description': 'str',
+ 'extra': 'object',
+ 'edits': 'EditgroupEdits'
+ }
+
+ attribute_map = {
+ 'editgroup_id': 'editgroup_id',
+ 'editor_id': 'editor_id',
+ 'description': 'description',
+ 'extra': 'extra',
+ 'edits': 'edits'
+ }
+
+ def __init__(self, editgroup_id=None, editor_id=None, description=None, extra=None, edits=None): # noqa: E501
+ """Editgroup - a model defined in Swagger""" # noqa: E501
+
+ self._editgroup_id = None
+ self._editor_id = None
+ self._description = None
+ self._extra = None
+ self._edits = None
+ self.discriminator = None
+
+ if editgroup_id is not None:
+ self.editgroup_id = editgroup_id
+ if editor_id is not None:
+ self.editor_id = editor_id
+ if description is not None:
+ self.description = description
+ if extra is not None:
+ self.extra = extra
+ if edits is not None:
+ self.edits = edits
+
+ @property
+ def editgroup_id(self):
+ """Gets the editgroup_id of this Editgroup. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The editgroup_id of this Editgroup. # noqa: E501
+ :rtype: str
+ """
+ return self._editgroup_id
+
+ @editgroup_id.setter
+ def editgroup_id(self, editgroup_id):
+ """Sets the editgroup_id of this Editgroup.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param editgroup_id: The editgroup_id of this Editgroup. # noqa: E501
+ :type: str
+ """
+ if editgroup_id is not None and len(editgroup_id) > 26:
+ raise ValueError("Invalid value for `editgroup_id`, length must be less than or equal to `26`") # noqa: E501
+ if editgroup_id is not None and len(editgroup_id) < 26:
+ raise ValueError("Invalid value for `editgroup_id`, length must be greater than or equal to `26`") # noqa: E501
+ if editgroup_id is not None and not re.search('[a-zA-Z2-7]{26}', editgroup_id): # noqa: E501
+ raise ValueError("Invalid value for `editgroup_id`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._editgroup_id = editgroup_id
+
+ @property
+ def editor_id(self):
+ """Gets the editor_id of this Editgroup. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The editor_id of this Editgroup. # noqa: E501
+ :rtype: str
+ """
+ return self._editor_id
+
+ @editor_id.setter
+ def editor_id(self, editor_id):
+ """Sets the editor_id of this Editgroup.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param editor_id: The editor_id of this Editgroup. # noqa: E501
+ :type: str
+ """
+ if editor_id is not None and len(editor_id) > 26:
+ raise ValueError("Invalid value for `editor_id`, length must be less than or equal to `26`") # noqa: E501
+ if editor_id is not None and len(editor_id) < 26:
+ raise ValueError("Invalid value for `editor_id`, length must be greater than or equal to `26`") # noqa: E501
+ if editor_id is not None and not re.search('[a-zA-Z2-7]{26}', editor_id): # noqa: E501
+ raise ValueError("Invalid value for `editor_id`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._editor_id = editor_id
+
+ @property
+ def description(self):
+ """Gets the description of this Editgroup. # noqa: E501
+
+
+ :return: The description of this Editgroup. # noqa: E501
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """Sets the description of this Editgroup.
+
+
+ :param description: The description of this Editgroup. # noqa: E501
+ :type: str
+ """
+
+ self._description = description
+
+ @property
+ def extra(self):
+ """Gets the extra of this Editgroup. # noqa: E501
+
+
+ :return: The extra of this Editgroup. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this Editgroup.
+
+
+ :param extra: The extra of this Editgroup. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def edits(self):
+ """Gets the edits of this Editgroup. # noqa: E501
+
+
+ :return: The edits of this Editgroup. # noqa: E501
+ :rtype: EditgroupEdits
+ """
+ return self._edits
+
+ @edits.setter
+ def edits(self, edits):
+ """Sets the edits of this Editgroup.
+
+
+ :param edits: The edits of this Editgroup. # noqa: E501
+ :type: EditgroupEdits
+ """
+
+ self._edits = edits
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, Editgroup):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/editgroup_edits.py b/python_client/fatcat_client/models/editgroup_edits.py
new file mode 100644
index 00000000..fd845830
--- /dev/null
+++ b/python_client/fatcat_client/models/editgroup_edits.py
@@ -0,0 +1,270 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.entity_edit import EntityEdit # noqa: F401,E501
+
+
+class EditgroupEdits(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'containers': 'list[EntityEdit]',
+ 'creators': 'list[EntityEdit]',
+ 'files': 'list[EntityEdit]',
+ 'filesets': 'list[EntityEdit]',
+ 'webcaptures': 'list[EntityEdit]',
+ 'releases': 'list[EntityEdit]',
+ 'works': 'list[EntityEdit]'
+ }
+
+ attribute_map = {
+ 'containers': 'containers',
+ 'creators': 'creators',
+ 'files': 'files',
+ 'filesets': 'filesets',
+ 'webcaptures': 'webcaptures',
+ 'releases': 'releases',
+ 'works': 'works'
+ }
+
+ def __init__(self, containers=None, creators=None, files=None, filesets=None, webcaptures=None, releases=None, works=None): # noqa: E501
+ """EditgroupEdits - a model defined in Swagger""" # noqa: E501
+
+ self._containers = None
+ self._creators = None
+ self._files = None
+ self._filesets = None
+ self._webcaptures = None
+ self._releases = None
+ self._works = None
+ self.discriminator = None
+
+ if containers is not None:
+ self.containers = containers
+ if creators is not None:
+ self.creators = creators
+ if files is not None:
+ self.files = files
+ if filesets is not None:
+ self.filesets = filesets
+ if webcaptures is not None:
+ self.webcaptures = webcaptures
+ if releases is not None:
+ self.releases = releases
+ if works is not None:
+ self.works = works
+
+ @property
+ def containers(self):
+ """Gets the containers of this EditgroupEdits. # noqa: E501
+
+
+ :return: The containers of this EditgroupEdits. # noqa: E501
+ :rtype: list[EntityEdit]
+ """
+ return self._containers
+
+ @containers.setter
+ def containers(self, containers):
+ """Sets the containers of this EditgroupEdits.
+
+
+ :param containers: The containers of this EditgroupEdits. # noqa: E501
+ :type: list[EntityEdit]
+ """
+
+ self._containers = containers
+
+ @property
+ def creators(self):
+ """Gets the creators of this EditgroupEdits. # noqa: E501
+
+
+ :return: The creators of this EditgroupEdits. # noqa: E501
+ :rtype: list[EntityEdit]
+ """
+ return self._creators
+
+ @creators.setter
+ def creators(self, creators):
+ """Sets the creators of this EditgroupEdits.
+
+
+ :param creators: The creators of this EditgroupEdits. # noqa: E501
+ :type: list[EntityEdit]
+ """
+
+ self._creators = creators
+
+ @property
+ def files(self):
+ """Gets the files of this EditgroupEdits. # noqa: E501
+
+
+ :return: The files of this EditgroupEdits. # noqa: E501
+ :rtype: list[EntityEdit]
+ """
+ return self._files
+
+ @files.setter
+ def files(self, files):
+ """Sets the files of this EditgroupEdits.
+
+
+ :param files: The files of this EditgroupEdits. # noqa: E501
+ :type: list[EntityEdit]
+ """
+
+ self._files = files
+
+ @property
+ def filesets(self):
+ """Gets the filesets of this EditgroupEdits. # noqa: E501
+
+
+ :return: The filesets of this EditgroupEdits. # noqa: E501
+ :rtype: list[EntityEdit]
+ """
+ return self._filesets
+
+ @filesets.setter
+ def filesets(self, filesets):
+ """Sets the filesets of this EditgroupEdits.
+
+
+ :param filesets: The filesets of this EditgroupEdits. # noqa: E501
+ :type: list[EntityEdit]
+ """
+
+ self._filesets = filesets
+
+ @property
+ def webcaptures(self):
+ """Gets the webcaptures of this EditgroupEdits. # noqa: E501
+
+
+ :return: The webcaptures of this EditgroupEdits. # noqa: E501
+ :rtype: list[EntityEdit]
+ """
+ return self._webcaptures
+
+ @webcaptures.setter
+ def webcaptures(self, webcaptures):
+ """Sets the webcaptures of this EditgroupEdits.
+
+
+ :param webcaptures: The webcaptures of this EditgroupEdits. # noqa: E501
+ :type: list[EntityEdit]
+ """
+
+ self._webcaptures = webcaptures
+
+ @property
+ def releases(self):
+ """Gets the releases of this EditgroupEdits. # noqa: E501
+
+
+ :return: The releases of this EditgroupEdits. # noqa: E501
+ :rtype: list[EntityEdit]
+ """
+ return self._releases
+
+ @releases.setter
+ def releases(self, releases):
+ """Sets the releases of this EditgroupEdits.
+
+
+ :param releases: The releases of this EditgroupEdits. # noqa: E501
+ :type: list[EntityEdit]
+ """
+
+ self._releases = releases
+
+ @property
+ def works(self):
+ """Gets the works of this EditgroupEdits. # noqa: E501
+
+
+ :return: The works of this EditgroupEdits. # noqa: E501
+ :rtype: list[EntityEdit]
+ """
+ return self._works
+
+ @works.setter
+ def works(self, works):
+ """Sets the works of this EditgroupEdits.
+
+
+ :param works: The works of this EditgroupEdits. # noqa: E501
+ :type: list[EntityEdit]
+ """
+
+ self._works = works
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, EditgroupEdits):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/editor.py b/python_client/fatcat_client/models/editor.py
new file mode 100644
index 00000000..493f5d81
--- /dev/null
+++ b/python_client/fatcat_client/models/editor.py
@@ -0,0 +1,225 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class Editor(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'editor_id': 'str',
+ 'username': 'str',
+ 'is_admin': 'bool',
+ 'is_bot': 'bool',
+ 'is_active': 'bool'
+ }
+
+ attribute_map = {
+ 'editor_id': 'editor_id',
+ 'username': 'username',
+ 'is_admin': 'is_admin',
+ 'is_bot': 'is_bot',
+ 'is_active': 'is_active'
+ }
+
+ def __init__(self, editor_id=None, username=None, is_admin=None, is_bot=None, is_active=None): # noqa: E501
+ """Editor - a model defined in Swagger""" # noqa: E501
+
+ self._editor_id = None
+ self._username = None
+ self._is_admin = None
+ self._is_bot = None
+ self._is_active = None
+ self.discriminator = None
+
+ if editor_id is not None:
+ self.editor_id = editor_id
+ self.username = username
+ if is_admin is not None:
+ self.is_admin = is_admin
+ if is_bot is not None:
+ self.is_bot = is_bot
+ if is_active is not None:
+ self.is_active = is_active
+
+ @property
+ def editor_id(self):
+ """Gets the editor_id of this Editor. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The editor_id of this Editor. # noqa: E501
+ :rtype: str
+ """
+ return self._editor_id
+
+ @editor_id.setter
+ def editor_id(self, editor_id):
+ """Sets the editor_id of this Editor.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param editor_id: The editor_id of this Editor. # noqa: E501
+ :type: str
+ """
+ if editor_id is not None and len(editor_id) > 26:
+ raise ValueError("Invalid value for `editor_id`, length must be less than or equal to `26`") # noqa: E501
+ if editor_id is not None and len(editor_id) < 26:
+ raise ValueError("Invalid value for `editor_id`, length must be greater than or equal to `26`") # noqa: E501
+ if editor_id is not None and not re.search('[a-zA-Z2-7]{26}', editor_id): # noqa: E501
+ raise ValueError("Invalid value for `editor_id`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._editor_id = editor_id
+
+ @property
+ def username(self):
+ """Gets the username of this Editor. # noqa: E501
+
+
+ :return: The username of this Editor. # noqa: E501
+ :rtype: str
+ """
+ return self._username
+
+ @username.setter
+ def username(self, username):
+ """Sets the username of this Editor.
+
+
+ :param username: The username of this Editor. # noqa: E501
+ :type: str
+ """
+ if username is None:
+ raise ValueError("Invalid value for `username`, must not be `None`") # noqa: E501
+
+ self._username = username
+
+ @property
+ def is_admin(self):
+ """Gets the is_admin of this Editor. # noqa: E501
+
+
+ :return: The is_admin of this Editor. # noqa: E501
+ :rtype: bool
+ """
+ return self._is_admin
+
+ @is_admin.setter
+ def is_admin(self, is_admin):
+ """Sets the is_admin of this Editor.
+
+
+ :param is_admin: The is_admin of this Editor. # noqa: E501
+ :type: bool
+ """
+
+ self._is_admin = is_admin
+
+ @property
+ def is_bot(self):
+ """Gets the is_bot of this Editor. # noqa: E501
+
+
+ :return: The is_bot of this Editor. # noqa: E501
+ :rtype: bool
+ """
+ return self._is_bot
+
+ @is_bot.setter
+ def is_bot(self, is_bot):
+ """Sets the is_bot of this Editor.
+
+
+ :param is_bot: The is_bot of this Editor. # noqa: E501
+ :type: bool
+ """
+
+ self._is_bot = is_bot
+
+ @property
+ def is_active(self):
+ """Gets the is_active of this Editor. # noqa: E501
+
+
+ :return: The is_active of this Editor. # noqa: E501
+ :rtype: bool
+ """
+ return self._is_active
+
+ @is_active.setter
+ def is_active(self, is_active):
+ """Sets the is_active of this Editor.
+
+
+ :param is_active: The is_active of this Editor. # noqa: E501
+ :type: bool
+ """
+
+ self._is_active = is_active
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, Editor):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/entity_edit.py b/python_client/fatcat_client/models/entity_edit.py
new file mode 100644
index 00000000..cb1da67b
--- /dev/null
+++ b/python_client/fatcat_client/models/entity_edit.py
@@ -0,0 +1,319 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class EntityEdit(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'edit_id': 'str',
+ 'ident': 'str',
+ 'revision': 'str',
+ 'prev_revision': 'str',
+ 'redirect_ident': 'str',
+ 'editgroup_id': 'str',
+ 'extra': 'object'
+ }
+
+ attribute_map = {
+ 'edit_id': 'edit_id',
+ 'ident': 'ident',
+ 'revision': 'revision',
+ 'prev_revision': 'prev_revision',
+ 'redirect_ident': 'redirect_ident',
+ 'editgroup_id': 'editgroup_id',
+ 'extra': 'extra'
+ }
+
+ def __init__(self, edit_id=None, ident=None, revision=None, prev_revision=None, redirect_ident=None, editgroup_id=None, extra=None): # noqa: E501
+ """EntityEdit - a model defined in Swagger""" # noqa: E501
+
+ self._edit_id = None
+ self._ident = None
+ self._revision = None
+ self._prev_revision = None
+ self._redirect_ident = None
+ self._editgroup_id = None
+ self._extra = None
+ self.discriminator = None
+
+ self.edit_id = edit_id
+ self.ident = ident
+ if revision is not None:
+ self.revision = revision
+ if prev_revision is not None:
+ self.prev_revision = prev_revision
+ if redirect_ident is not None:
+ self.redirect_ident = redirect_ident
+ self.editgroup_id = editgroup_id
+ if extra is not None:
+ self.extra = extra
+
+ @property
+ def edit_id(self):
+ """Gets the edit_id of this EntityEdit. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The edit_id of this EntityEdit. # noqa: E501
+ :rtype: str
+ """
+ return self._edit_id
+
+ @edit_id.setter
+ def edit_id(self, edit_id):
+ """Sets the edit_id of this EntityEdit.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param edit_id: The edit_id of this EntityEdit. # noqa: E501
+ :type: str
+ """
+ if edit_id is None:
+ raise ValueError("Invalid value for `edit_id`, must not be `None`") # noqa: E501
+ if edit_id is not None and len(edit_id) > 36:
+ raise ValueError("Invalid value for `edit_id`, length must be less than or equal to `36`") # noqa: E501
+ if edit_id is not None and len(edit_id) < 36:
+ raise ValueError("Invalid value for `edit_id`, length must be greater than or equal to `36`") # noqa: E501
+ if edit_id is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', edit_id): # noqa: E501
+ raise ValueError("Invalid value for `edit_id`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._edit_id = edit_id
+
+ @property
+ def ident(self):
+ """Gets the ident of this EntityEdit. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The ident of this EntityEdit. # noqa: E501
+ :rtype: str
+ """
+ return self._ident
+
+ @ident.setter
+ def ident(self, ident):
+ """Sets the ident of this EntityEdit.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param ident: The ident of this EntityEdit. # noqa: E501
+ :type: str
+ """
+ if ident is None:
+ raise ValueError("Invalid value for `ident`, must not be `None`") # noqa: E501
+ if ident is not None and len(ident) > 26:
+ raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`") # noqa: E501
+ if ident is not None and len(ident) < 26:
+ raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`") # noqa: E501
+ if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident): # noqa: E501
+ raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._ident = ident
+
+ @property
+ def revision(self):
+ """Gets the revision of this EntityEdit. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The revision of this EntityEdit. # noqa: E501
+ :rtype: str
+ """
+ return self._revision
+
+ @revision.setter
+ def revision(self, revision):
+ """Sets the revision of this EntityEdit.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param revision: The revision of this EntityEdit. # noqa: E501
+ :type: str
+ """
+ if revision is not None and len(revision) > 36:
+ raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`") # noqa: E501
+ if revision is not None and len(revision) < 36:
+ raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`") # noqa: E501
+ if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision): # noqa: E501
+ raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._revision = revision
+
+ @property
+ def prev_revision(self):
+ """Gets the prev_revision of this EntityEdit. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The prev_revision of this EntityEdit. # noqa: E501
+ :rtype: str
+ """
+ return self._prev_revision
+
+ @prev_revision.setter
+ def prev_revision(self, prev_revision):
+ """Sets the prev_revision of this EntityEdit.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param prev_revision: The prev_revision of this EntityEdit. # noqa: E501
+ :type: str
+ """
+ if prev_revision is not None and len(prev_revision) > 36:
+ raise ValueError("Invalid value for `prev_revision`, length must be less than or equal to `36`") # noqa: E501
+ if prev_revision is not None and len(prev_revision) < 36:
+ raise ValueError("Invalid value for `prev_revision`, length must be greater than or equal to `36`") # noqa: E501
+ if prev_revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', prev_revision): # noqa: E501
+ raise ValueError("Invalid value for `prev_revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._prev_revision = prev_revision
+
+ @property
+ def redirect_ident(self):
+ """Gets the redirect_ident of this EntityEdit. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The redirect_ident of this EntityEdit. # noqa: E501
+ :rtype: str
+ """
+ return self._redirect_ident
+
+ @redirect_ident.setter
+ def redirect_ident(self, redirect_ident):
+ """Sets the redirect_ident of this EntityEdit.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param redirect_ident: The redirect_ident of this EntityEdit. # noqa: E501
+ :type: str
+ """
+ if redirect_ident is not None and len(redirect_ident) > 26:
+ raise ValueError("Invalid value for `redirect_ident`, length must be less than or equal to `26`") # noqa: E501
+ if redirect_ident is not None and len(redirect_ident) < 26:
+ raise ValueError("Invalid value for `redirect_ident`, length must be greater than or equal to `26`") # noqa: E501
+ if redirect_ident is not None and not re.search('[a-zA-Z2-7]{26}', redirect_ident): # noqa: E501
+ raise ValueError("Invalid value for `redirect_ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._redirect_ident = redirect_ident
+
+ @property
+ def editgroup_id(self):
+ """Gets the editgroup_id of this EntityEdit. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The editgroup_id of this EntityEdit. # noqa: E501
+ :rtype: str
+ """
+ return self._editgroup_id
+
+ @editgroup_id.setter
+ def editgroup_id(self, editgroup_id):
+ """Sets the editgroup_id of this EntityEdit.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param editgroup_id: The editgroup_id of this EntityEdit. # noqa: E501
+ :type: str
+ """
+ if editgroup_id is None:
+ raise ValueError("Invalid value for `editgroup_id`, must not be `None`") # noqa: E501
+ if editgroup_id is not None and len(editgroup_id) > 26:
+ raise ValueError("Invalid value for `editgroup_id`, length must be less than or equal to `26`") # noqa: E501
+ if editgroup_id is not None and len(editgroup_id) < 26:
+ raise ValueError("Invalid value for `editgroup_id`, length must be greater than or equal to `26`") # noqa: E501
+ if editgroup_id is not None and not re.search('[a-zA-Z2-7]{26}', editgroup_id): # noqa: E501
+ raise ValueError("Invalid value for `editgroup_id`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._editgroup_id = editgroup_id
+
+ @property
+ def extra(self):
+ """Gets the extra of this EntityEdit. # noqa: E501
+
+
+ :return: The extra of this EntityEdit. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this EntityEdit.
+
+
+ :param extra: The extra of this EntityEdit. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, EntityEdit):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/entity_history_entry.py b/python_client/fatcat_client/models/entity_history_entry.py
new file mode 100644
index 00000000..4df733d0
--- /dev/null
+++ b/python_client/fatcat_client/models/entity_history_entry.py
@@ -0,0 +1,171 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.changelog_entry import ChangelogEntry # noqa: F401,E501
+from fatcat_client.models.editgroup import Editgroup # noqa: F401,E501
+from fatcat_client.models.entity_edit import EntityEdit # noqa: F401,E501
+
+
+class EntityHistoryEntry(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'edit': 'EntityEdit',
+ 'editgroup': 'Editgroup',
+ 'changelog_entry': 'ChangelogEntry'
+ }
+
+ attribute_map = {
+ 'edit': 'edit',
+ 'editgroup': 'editgroup',
+ 'changelog_entry': 'changelog_entry'
+ }
+
+ def __init__(self, edit=None, editgroup=None, changelog_entry=None): # noqa: E501
+ """EntityHistoryEntry - a model defined in Swagger""" # noqa: E501
+
+ self._edit = None
+ self._editgroup = None
+ self._changelog_entry = None
+ self.discriminator = None
+
+ self.edit = edit
+ self.editgroup = editgroup
+ self.changelog_entry = changelog_entry
+
+ @property
+ def edit(self):
+ """Gets the edit of this EntityHistoryEntry. # noqa: E501
+
+
+ :return: The edit of this EntityHistoryEntry. # noqa: E501
+ :rtype: EntityEdit
+ """
+ return self._edit
+
+ @edit.setter
+ def edit(self, edit):
+ """Sets the edit of this EntityHistoryEntry.
+
+
+ :param edit: The edit of this EntityHistoryEntry. # noqa: E501
+ :type: EntityEdit
+ """
+ if edit is None:
+ raise ValueError("Invalid value for `edit`, must not be `None`") # noqa: E501
+
+ self._edit = edit
+
+ @property
+ def editgroup(self):
+ """Gets the editgroup of this EntityHistoryEntry. # noqa: E501
+
+
+ :return: The editgroup of this EntityHistoryEntry. # noqa: E501
+ :rtype: Editgroup
+ """
+ return self._editgroup
+
+ @editgroup.setter
+ def editgroup(self, editgroup):
+ """Sets the editgroup of this EntityHistoryEntry.
+
+
+ :param editgroup: The editgroup of this EntityHistoryEntry. # noqa: E501
+ :type: Editgroup
+ """
+ if editgroup is None:
+ raise ValueError("Invalid value for `editgroup`, must not be `None`") # noqa: E501
+
+ self._editgroup = editgroup
+
+ @property
+ def changelog_entry(self):
+ """Gets the changelog_entry of this EntityHistoryEntry. # noqa: E501
+
+
+ :return: The changelog_entry of this EntityHistoryEntry. # noqa: E501
+ :rtype: ChangelogEntry
+ """
+ return self._changelog_entry
+
+ @changelog_entry.setter
+ def changelog_entry(self, changelog_entry):
+ """Sets the changelog_entry of this EntityHistoryEntry.
+
+
+ :param changelog_entry: The changelog_entry of this EntityHistoryEntry. # noqa: E501
+ :type: ChangelogEntry
+ """
+ if changelog_entry is None:
+ raise ValueError("Invalid value for `changelog_entry`, must not be `None`") # noqa: E501
+
+ self._changelog_entry = changelog_entry
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, EntityHistoryEntry):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/error_response.py b/python_client/fatcat_client/models/error_response.py
new file mode 100644
index 00000000..3e5d3488
--- /dev/null
+++ b/python_client/fatcat_client/models/error_response.py
@@ -0,0 +1,113 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class ErrorResponse(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'message': 'str'
+ }
+
+ attribute_map = {
+ 'message': 'message'
+ }
+
+ def __init__(self, message=None): # noqa: E501
+ """ErrorResponse - a model defined in Swagger""" # noqa: E501
+
+ self._message = None
+ self.discriminator = None
+
+ self.message = message
+
+ @property
+ def message(self):
+ """Gets the message of this ErrorResponse. # noqa: E501
+
+
+ :return: The message of this ErrorResponse. # noqa: E501
+ :rtype: str
+ """
+ return self._message
+
+ @message.setter
+ def message(self, message):
+ """Sets the message of this ErrorResponse.
+
+
+ :param message: The message of this ErrorResponse. # noqa: E501
+ :type: str
+ """
+ if message is None:
+ raise ValueError("Invalid value for `message`, must not be `None`") # noqa: E501
+
+ self._message = message
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, ErrorResponse):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/file_entity.py b/python_client/fatcat_client/models/file_entity.py
new file mode 100644
index 00000000..5d0105bd
--- /dev/null
+++ b/python_client/fatcat_client/models/file_entity.py
@@ -0,0 +1,474 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.file_entity_urls import FileEntityUrls # noqa: F401,E501
+
+
+class FileEntity(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'release_ids': 'list[str]',
+ 'mimetype': 'str',
+ 'urls': 'list[FileEntityUrls]',
+ 'sha256': 'str',
+ 'sha1': 'str',
+ 'md5': 'str',
+ 'size': 'int',
+ 'edit_extra': 'object',
+ 'extra': 'object',
+ 'redirect': 'str',
+ 'revision': 'str',
+ 'ident': 'str',
+ 'state': 'str'
+ }
+
+ attribute_map = {
+ 'release_ids': 'release_ids',
+ 'mimetype': 'mimetype',
+ 'urls': 'urls',
+ 'sha256': 'sha256',
+ 'sha1': 'sha1',
+ 'md5': 'md5',
+ 'size': 'size',
+ 'edit_extra': 'edit_extra',
+ 'extra': 'extra',
+ 'redirect': 'redirect',
+ 'revision': 'revision',
+ 'ident': 'ident',
+ 'state': 'state'
+ }
+
+ def __init__(self, release_ids=None, mimetype=None, urls=None, sha256=None, sha1=None, md5=None, size=None, edit_extra=None, extra=None, redirect=None, revision=None, ident=None, state=None): # noqa: E501
+ """FileEntity - a model defined in Swagger""" # noqa: E501
+
+ self._release_ids = None
+ self._mimetype = None
+ self._urls = None
+ self._sha256 = None
+ self._sha1 = None
+ self._md5 = None
+ self._size = None
+ self._edit_extra = None
+ self._extra = None
+ self._redirect = None
+ self._revision = None
+ self._ident = None
+ self._state = None
+ self.discriminator = None
+
+ if release_ids is not None:
+ self.release_ids = release_ids
+ if mimetype is not None:
+ self.mimetype = mimetype
+ if urls is not None:
+ self.urls = urls
+ if sha256 is not None:
+ self.sha256 = sha256
+ if sha1 is not None:
+ self.sha1 = sha1
+ if md5 is not None:
+ self.md5 = md5
+ if size is not None:
+ self.size = size
+ if edit_extra is not None:
+ self.edit_extra = edit_extra
+ if extra is not None:
+ self.extra = extra
+ if redirect is not None:
+ self.redirect = redirect
+ if revision is not None:
+ self.revision = revision
+ if ident is not None:
+ self.ident = ident
+ if state is not None:
+ self.state = state
+
+ @property
+ def release_ids(self):
+ """Gets the release_ids of this FileEntity. # noqa: E501
+
+
+ :return: The release_ids of this FileEntity. # noqa: E501
+ :rtype: list[str]
+ """
+ return self._release_ids
+
+ @release_ids.setter
+ def release_ids(self, release_ids):
+ """Sets the release_ids of this FileEntity.
+
+
+ :param release_ids: The release_ids of this FileEntity. # noqa: E501
+ :type: list[str]
+ """
+
+ self._release_ids = release_ids
+
+ @property
+ def mimetype(self):
+ """Gets the mimetype of this FileEntity. # noqa: E501
+
+
+ :return: The mimetype of this FileEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._mimetype
+
+ @mimetype.setter
+ def mimetype(self, mimetype):
+ """Sets the mimetype of this FileEntity.
+
+
+ :param mimetype: The mimetype of this FileEntity. # noqa: E501
+ :type: str
+ """
+
+ self._mimetype = mimetype
+
+ @property
+ def urls(self):
+ """Gets the urls of this FileEntity. # noqa: E501
+
+
+ :return: The urls of this FileEntity. # noqa: E501
+ :rtype: list[FileEntityUrls]
+ """
+ return self._urls
+
+ @urls.setter
+ def urls(self, urls):
+ """Sets the urls of this FileEntity.
+
+
+ :param urls: The urls of this FileEntity. # noqa: E501
+ :type: list[FileEntityUrls]
+ """
+
+ self._urls = urls
+
+ @property
+ def sha256(self):
+ """Gets the sha256 of this FileEntity. # noqa: E501
+
+
+ :return: The sha256 of this FileEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._sha256
+
+ @sha256.setter
+ def sha256(self, sha256):
+ """Sets the sha256 of this FileEntity.
+
+
+ :param sha256: The sha256 of this FileEntity. # noqa: E501
+ :type: str
+ """
+ if sha256 is not None and len(sha256) > 64:
+ raise ValueError("Invalid value for `sha256`, length must be less than or equal to `64`") # noqa: E501
+ if sha256 is not None and len(sha256) < 64:
+ raise ValueError("Invalid value for `sha256`, length must be greater than or equal to `64`") # noqa: E501
+ if sha256 is not None and not re.search('[a-f0-9]{64}', sha256): # noqa: E501
+ raise ValueError("Invalid value for `sha256`, must be a follow pattern or equal to `/[a-f0-9]{64}/`") # noqa: E501
+
+ self._sha256 = sha256
+
+ @property
+ def sha1(self):
+ """Gets the sha1 of this FileEntity. # noqa: E501
+
+
+ :return: The sha1 of this FileEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._sha1
+
+ @sha1.setter
+ def sha1(self, sha1):
+ """Sets the sha1 of this FileEntity.
+
+
+ :param sha1: The sha1 of this FileEntity. # noqa: E501
+ :type: str
+ """
+ if sha1 is not None and len(sha1) > 40:
+ raise ValueError("Invalid value for `sha1`, length must be less than or equal to `40`") # noqa: E501
+ if sha1 is not None and len(sha1) < 40:
+ raise ValueError("Invalid value for `sha1`, length must be greater than or equal to `40`") # noqa: E501
+ if sha1 is not None and not re.search('[a-f0-9]{40}', sha1): # noqa: E501
+ raise ValueError("Invalid value for `sha1`, must be a follow pattern or equal to `/[a-f0-9]{40}/`") # noqa: E501
+
+ self._sha1 = sha1
+
+ @property
+ def md5(self):
+ """Gets the md5 of this FileEntity. # noqa: E501
+
+
+ :return: The md5 of this FileEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._md5
+
+ @md5.setter
+ def md5(self, md5):
+ """Sets the md5 of this FileEntity.
+
+
+ :param md5: The md5 of this FileEntity. # noqa: E501
+ :type: str
+ """
+ if md5 is not None and len(md5) > 32:
+ raise ValueError("Invalid value for `md5`, length must be less than or equal to `32`") # noqa: E501
+ if md5 is not None and len(md5) < 32:
+ raise ValueError("Invalid value for `md5`, length must be greater than or equal to `32`") # noqa: E501
+ if md5 is not None and not re.search('[a-f0-9]{32}', md5): # noqa: E501
+ raise ValueError("Invalid value for `md5`, must be a follow pattern or equal to `/[a-f0-9]{32}/`") # noqa: E501
+
+ self._md5 = md5
+
+ @property
+ def size(self):
+ """Gets the size of this FileEntity. # noqa: E501
+
+
+ :return: The size of this FileEntity. # noqa: E501
+ :rtype: int
+ """
+ return self._size
+
+ @size.setter
+ def size(self, size):
+ """Sets the size of this FileEntity.
+
+
+ :param size: The size of this FileEntity. # noqa: E501
+ :type: int
+ """
+
+ self._size = size
+
+ @property
+ def edit_extra(self):
+ """Gets the edit_extra of this FileEntity. # noqa: E501
+
+
+ :return: The edit_extra of this FileEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._edit_extra
+
+ @edit_extra.setter
+ def edit_extra(self, edit_extra):
+ """Sets the edit_extra of this FileEntity.
+
+
+ :param edit_extra: The edit_extra of this FileEntity. # noqa: E501
+ :type: object
+ """
+
+ self._edit_extra = edit_extra
+
+ @property
+ def extra(self):
+ """Gets the extra of this FileEntity. # noqa: E501
+
+
+ :return: The extra of this FileEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this FileEntity.
+
+
+ :param extra: The extra of this FileEntity. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def redirect(self):
+ """Gets the redirect of this FileEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The redirect of this FileEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._redirect
+
+ @redirect.setter
+ def redirect(self, redirect):
+ """Sets the redirect of this FileEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param redirect: The redirect of this FileEntity. # noqa: E501
+ :type: str
+ """
+ if redirect is not None and len(redirect) > 26:
+ raise ValueError("Invalid value for `redirect`, length must be less than or equal to `26`") # noqa: E501
+ if redirect is not None and len(redirect) < 26:
+ raise ValueError("Invalid value for `redirect`, length must be greater than or equal to `26`") # noqa: E501
+ if redirect is not None and not re.search('[a-zA-Z2-7]{26}', redirect): # noqa: E501
+ raise ValueError("Invalid value for `redirect`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._redirect = redirect
+
+ @property
+ def revision(self):
+ """Gets the revision of this FileEntity. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The revision of this FileEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._revision
+
+ @revision.setter
+ def revision(self, revision):
+ """Sets the revision of this FileEntity.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param revision: The revision of this FileEntity. # noqa: E501
+ :type: str
+ """
+ if revision is not None and len(revision) > 36:
+ raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`") # noqa: E501
+ if revision is not None and len(revision) < 36:
+ raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`") # noqa: E501
+ if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision): # noqa: E501
+ raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._revision = revision
+
+ @property
+ def ident(self):
+ """Gets the ident of this FileEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The ident of this FileEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._ident
+
+ @ident.setter
+ def ident(self, ident):
+ """Sets the ident of this FileEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param ident: The ident of this FileEntity. # noqa: E501
+ :type: str
+ """
+ if ident is not None and len(ident) > 26:
+ raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`") # noqa: E501
+ if ident is not None and len(ident) < 26:
+ raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`") # noqa: E501
+ if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident): # noqa: E501
+ raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._ident = ident
+
+ @property
+ def state(self):
+ """Gets the state of this FileEntity. # noqa: E501
+
+
+ :return: The state of this FileEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """Sets the state of this FileEntity.
+
+
+ :param state: The state of this FileEntity. # noqa: E501
+ :type: str
+ """
+ allowed_values = ["wip", "active", "redirect", "deleted"] # noqa: E501
+ if state not in allowed_values:
+ raise ValueError(
+ "Invalid value for `state` ({0}), must be one of {1}" # noqa: E501
+ .format(state, allowed_values)
+ )
+
+ self._state = state
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, FileEntity):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/file_entity_urls.py b/python_client/fatcat_client/models/file_entity_urls.py
new file mode 100644
index 00000000..6b6b0fda
--- /dev/null
+++ b/python_client/fatcat_client/models/file_entity_urls.py
@@ -0,0 +1,140 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class FileEntityUrls(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'url': 'str',
+ 'rel': 'str'
+ }
+
+ attribute_map = {
+ 'url': 'url',
+ 'rel': 'rel'
+ }
+
+ def __init__(self, url=None, rel=None): # noqa: E501
+ """FileEntityUrls - a model defined in Swagger""" # noqa: E501
+
+ self._url = None
+ self._rel = None
+ self.discriminator = None
+
+ self.url = url
+ self.rel = rel
+
+ @property
+ def url(self):
+ """Gets the url of this FileEntityUrls. # noqa: E501
+
+
+ :return: The url of this FileEntityUrls. # noqa: E501
+ :rtype: str
+ """
+ return self._url
+
+ @url.setter
+ def url(self, url):
+ """Sets the url of this FileEntityUrls.
+
+
+ :param url: The url of this FileEntityUrls. # noqa: E501
+ :type: str
+ """
+ if url is None:
+ raise ValueError("Invalid value for `url`, must not be `None`") # noqa: E501
+
+ self._url = url
+
+ @property
+ def rel(self):
+ """Gets the rel of this FileEntityUrls. # noqa: E501
+
+
+ :return: The rel of this FileEntityUrls. # noqa: E501
+ :rtype: str
+ """
+ return self._rel
+
+ @rel.setter
+ def rel(self, rel):
+ """Sets the rel of this FileEntityUrls.
+
+
+ :param rel: The rel of this FileEntityUrls. # noqa: E501
+ :type: str
+ """
+ if rel is None:
+ raise ValueError("Invalid value for `rel`, must not be `None`") # noqa: E501
+
+ self._rel = rel
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, FileEntityUrls):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/fileset_entity.py b/python_client/fatcat_client/models/fileset_entity.py
new file mode 100644
index 00000000..ecc36598
--- /dev/null
+++ b/python_client/fatcat_client/models/fileset_entity.py
@@ -0,0 +1,353 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.file_entity_urls import FileEntityUrls # noqa: F401,E501
+from fatcat_client.models.fileset_entity_manifest import FilesetEntityManifest # noqa: F401,E501
+
+
+class FilesetEntity(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'release_ids': 'list[str]',
+ 'urls': 'list[FileEntityUrls]',
+ 'manifest': 'list[FilesetEntityManifest]',
+ 'state': 'str',
+ 'ident': 'str',
+ 'revision': 'str',
+ 'redirect': 'str',
+ 'extra': 'object',
+ 'edit_extra': 'object'
+ }
+
+ attribute_map = {
+ 'release_ids': 'release_ids',
+ 'urls': 'urls',
+ 'manifest': 'manifest',
+ 'state': 'state',
+ 'ident': 'ident',
+ 'revision': 'revision',
+ 'redirect': 'redirect',
+ 'extra': 'extra',
+ 'edit_extra': 'edit_extra'
+ }
+
+ def __init__(self, release_ids=None, urls=None, manifest=None, state=None, ident=None, revision=None, redirect=None, extra=None, edit_extra=None): # noqa: E501
+ """FilesetEntity - a model defined in Swagger""" # noqa: E501
+
+ self._release_ids = None
+ self._urls = None
+ self._manifest = None
+ self._state = None
+ self._ident = None
+ self._revision = None
+ self._redirect = None
+ self._extra = None
+ self._edit_extra = None
+ self.discriminator = None
+
+ if release_ids is not None:
+ self.release_ids = release_ids
+ if urls is not None:
+ self.urls = urls
+ if manifest is not None:
+ self.manifest = manifest
+ if state is not None:
+ self.state = state
+ if ident is not None:
+ self.ident = ident
+ if revision is not None:
+ self.revision = revision
+ if redirect is not None:
+ self.redirect = redirect
+ if extra is not None:
+ self.extra = extra
+ if edit_extra is not None:
+ self.edit_extra = edit_extra
+
+ @property
+ def release_ids(self):
+ """Gets the release_ids of this FilesetEntity. # noqa: E501
+
+
+ :return: The release_ids of this FilesetEntity. # noqa: E501
+ :rtype: list[str]
+ """
+ return self._release_ids
+
+ @release_ids.setter
+ def release_ids(self, release_ids):
+ """Sets the release_ids of this FilesetEntity.
+
+
+ :param release_ids: The release_ids of this FilesetEntity. # noqa: E501
+ :type: list[str]
+ """
+
+ self._release_ids = release_ids
+
+ @property
+ def urls(self):
+ """Gets the urls of this FilesetEntity. # noqa: E501
+
+
+ :return: The urls of this FilesetEntity. # noqa: E501
+ :rtype: list[FileEntityUrls]
+ """
+ return self._urls
+
+ @urls.setter
+ def urls(self, urls):
+ """Sets the urls of this FilesetEntity.
+
+
+ :param urls: The urls of this FilesetEntity. # noqa: E501
+ :type: list[FileEntityUrls]
+ """
+
+ self._urls = urls
+
+ @property
+ def manifest(self):
+ """Gets the manifest of this FilesetEntity. # noqa: E501
+
+
+ :return: The manifest of this FilesetEntity. # noqa: E501
+ :rtype: list[FilesetEntityManifest]
+ """
+ return self._manifest
+
+ @manifest.setter
+ def manifest(self, manifest):
+ """Sets the manifest of this FilesetEntity.
+
+
+ :param manifest: The manifest of this FilesetEntity. # noqa: E501
+ :type: list[FilesetEntityManifest]
+ """
+
+ self._manifest = manifest
+
+ @property
+ def state(self):
+ """Gets the state of this FilesetEntity. # noqa: E501
+
+
+ :return: The state of this FilesetEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """Sets the state of this FilesetEntity.
+
+
+ :param state: The state of this FilesetEntity. # noqa: E501
+ :type: str
+ """
+ allowed_values = ["wip", "active", "redirect", "deleted"] # noqa: E501
+ if state not in allowed_values:
+ raise ValueError(
+ "Invalid value for `state` ({0}), must be one of {1}" # noqa: E501
+ .format(state, allowed_values)
+ )
+
+ self._state = state
+
+ @property
+ def ident(self):
+ """Gets the ident of this FilesetEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The ident of this FilesetEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._ident
+
+ @ident.setter
+ def ident(self, ident):
+ """Sets the ident of this FilesetEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param ident: The ident of this FilesetEntity. # noqa: E501
+ :type: str
+ """
+ if ident is not None and len(ident) > 26:
+ raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`") # noqa: E501
+ if ident is not None and len(ident) < 26:
+ raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`") # noqa: E501
+ if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident): # noqa: E501
+ raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._ident = ident
+
+ @property
+ def revision(self):
+ """Gets the revision of this FilesetEntity. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The revision of this FilesetEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._revision
+
+ @revision.setter
+ def revision(self, revision):
+ """Sets the revision of this FilesetEntity.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param revision: The revision of this FilesetEntity. # noqa: E501
+ :type: str
+ """
+ if revision is not None and len(revision) > 36:
+ raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`") # noqa: E501
+ if revision is not None and len(revision) < 36:
+ raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`") # noqa: E501
+ if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision): # noqa: E501
+ raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._revision = revision
+
+ @property
+ def redirect(self):
+ """Gets the redirect of this FilesetEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The redirect of this FilesetEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._redirect
+
+ @redirect.setter
+ def redirect(self, redirect):
+ """Sets the redirect of this FilesetEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param redirect: The redirect of this FilesetEntity. # noqa: E501
+ :type: str
+ """
+ if redirect is not None and len(redirect) > 26:
+ raise ValueError("Invalid value for `redirect`, length must be less than or equal to `26`") # noqa: E501
+ if redirect is not None and len(redirect) < 26:
+ raise ValueError("Invalid value for `redirect`, length must be greater than or equal to `26`") # noqa: E501
+ if redirect is not None and not re.search('[a-zA-Z2-7]{26}', redirect): # noqa: E501
+ raise ValueError("Invalid value for `redirect`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._redirect = redirect
+
+ @property
+ def extra(self):
+ """Gets the extra of this FilesetEntity. # noqa: E501
+
+
+ :return: The extra of this FilesetEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this FilesetEntity.
+
+
+ :param extra: The extra of this FilesetEntity. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def edit_extra(self):
+ """Gets the edit_extra of this FilesetEntity. # noqa: E501
+
+
+ :return: The edit_extra of this FilesetEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._edit_extra
+
+ @edit_extra.setter
+ def edit_extra(self, edit_extra):
+ """Sets the edit_extra of this FilesetEntity.
+
+
+ :param edit_extra: The edit_extra of this FilesetEntity. # noqa: E501
+ :type: object
+ """
+
+ self._edit_extra = edit_extra
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, FilesetEntity):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/fileset_entity_manifest.py b/python_client/fatcat_client/models/fileset_entity_manifest.py
new file mode 100644
index 00000000..6dd5800f
--- /dev/null
+++ b/python_client/fatcat_client/models/fileset_entity_manifest.py
@@ -0,0 +1,262 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class FilesetEntityManifest(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'path': 'str',
+ 'size': 'int',
+ 'md5': 'str',
+ 'sha1': 'str',
+ 'sha256': 'str',
+ 'extra': 'object'
+ }
+
+ attribute_map = {
+ 'path': 'path',
+ 'size': 'size',
+ 'md5': 'md5',
+ 'sha1': 'sha1',
+ 'sha256': 'sha256',
+ 'extra': 'extra'
+ }
+
+ def __init__(self, path=None, size=None, md5=None, sha1=None, sha256=None, extra=None): # noqa: E501
+ """FilesetEntityManifest - a model defined in Swagger""" # noqa: E501
+
+ self._path = None
+ self._size = None
+ self._md5 = None
+ self._sha1 = None
+ self._sha256 = None
+ self._extra = None
+ self.discriminator = None
+
+ self.path = path
+ self.size = size
+ if md5 is not None:
+ self.md5 = md5
+ if sha1 is not None:
+ self.sha1 = sha1
+ if sha256 is not None:
+ self.sha256 = sha256
+ if extra is not None:
+ self.extra = extra
+
+ @property
+ def path(self):
+ """Gets the path of this FilesetEntityManifest. # noqa: E501
+
+
+ :return: The path of this FilesetEntityManifest. # noqa: E501
+ :rtype: str
+ """
+ return self._path
+
+ @path.setter
+ def path(self, path):
+ """Sets the path of this FilesetEntityManifest.
+
+
+ :param path: The path of this FilesetEntityManifest. # noqa: E501
+ :type: str
+ """
+ if path is None:
+ raise ValueError("Invalid value for `path`, must not be `None`") # noqa: E501
+
+ self._path = path
+
+ @property
+ def size(self):
+ """Gets the size of this FilesetEntityManifest. # noqa: E501
+
+
+ :return: The size of this FilesetEntityManifest. # noqa: E501
+ :rtype: int
+ """
+ return self._size
+
+ @size.setter
+ def size(self, size):
+ """Sets the size of this FilesetEntityManifest.
+
+
+ :param size: The size of this FilesetEntityManifest. # noqa: E501
+ :type: int
+ """
+ if size is None:
+ raise ValueError("Invalid value for `size`, must not be `None`") # noqa: E501
+
+ self._size = size
+
+ @property
+ def md5(self):
+ """Gets the md5 of this FilesetEntityManifest. # noqa: E501
+
+
+ :return: The md5 of this FilesetEntityManifest. # noqa: E501
+ :rtype: str
+ """
+ return self._md5
+
+ @md5.setter
+ def md5(self, md5):
+ """Sets the md5 of this FilesetEntityManifest.
+
+
+ :param md5: The md5 of this FilesetEntityManifest. # noqa: E501
+ :type: str
+ """
+ if md5 is not None and len(md5) > 32:
+ raise ValueError("Invalid value for `md5`, length must be less than or equal to `32`") # noqa: E501
+ if md5 is not None and len(md5) < 32:
+ raise ValueError("Invalid value for `md5`, length must be greater than or equal to `32`") # noqa: E501
+ if md5 is not None and not re.search('[a-f0-9]{32}', md5): # noqa: E501
+ raise ValueError("Invalid value for `md5`, must be a follow pattern or equal to `/[a-f0-9]{32}/`") # noqa: E501
+
+ self._md5 = md5
+
+ @property
+ def sha1(self):
+ """Gets the sha1 of this FilesetEntityManifest. # noqa: E501
+
+
+ :return: The sha1 of this FilesetEntityManifest. # noqa: E501
+ :rtype: str
+ """
+ return self._sha1
+
+ @sha1.setter
+ def sha1(self, sha1):
+ """Sets the sha1 of this FilesetEntityManifest.
+
+
+ :param sha1: The sha1 of this FilesetEntityManifest. # noqa: E501
+ :type: str
+ """
+ if sha1 is not None and len(sha1) > 40:
+ raise ValueError("Invalid value for `sha1`, length must be less than or equal to `40`") # noqa: E501
+ if sha1 is not None and len(sha1) < 40:
+ raise ValueError("Invalid value for `sha1`, length must be greater than or equal to `40`") # noqa: E501
+ if sha1 is not None and not re.search('[a-f0-9]{40}', sha1): # noqa: E501
+ raise ValueError("Invalid value for `sha1`, must be a follow pattern or equal to `/[a-f0-9]{40}/`") # noqa: E501
+
+ self._sha1 = sha1
+
+ @property
+ def sha256(self):
+ """Gets the sha256 of this FilesetEntityManifest. # noqa: E501
+
+
+ :return: The sha256 of this FilesetEntityManifest. # noqa: E501
+ :rtype: str
+ """
+ return self._sha256
+
+ @sha256.setter
+ def sha256(self, sha256):
+ """Sets the sha256 of this FilesetEntityManifest.
+
+
+ :param sha256: The sha256 of this FilesetEntityManifest. # noqa: E501
+ :type: str
+ """
+ if sha256 is not None and len(sha256) > 64:
+ raise ValueError("Invalid value for `sha256`, length must be less than or equal to `64`") # noqa: E501
+ if sha256 is not None and len(sha256) < 64:
+ raise ValueError("Invalid value for `sha256`, length must be greater than or equal to `64`") # noqa: E501
+ if sha256 is not None and not re.search('[a-f0-9]{64}', sha256): # noqa: E501
+ raise ValueError("Invalid value for `sha256`, must be a follow pattern or equal to `/[a-f0-9]{64}/`") # noqa: E501
+
+ self._sha256 = sha256
+
+ @property
+ def extra(self):
+ """Gets the extra of this FilesetEntityManifest. # noqa: E501
+
+
+ :return: The extra of this FilesetEntityManifest. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this FilesetEntityManifest.
+
+
+ :param extra: The extra of this FilesetEntityManifest. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, FilesetEntityManifest):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/release_contrib.py b/python_client/fatcat_client/models/release_contrib.py
new file mode 100644
index 00000000..a06b0e66
--- /dev/null
+++ b/python_client/fatcat_client/models/release_contrib.py
@@ -0,0 +1,246 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.creator_entity import CreatorEntity # noqa: F401,E501
+
+
+class ReleaseContrib(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'index': 'int',
+ 'creator_id': 'str',
+ 'creator': 'CreatorEntity',
+ 'raw_name': 'str',
+ 'extra': 'object',
+ 'role': 'str'
+ }
+
+ attribute_map = {
+ 'index': 'index',
+ 'creator_id': 'creator_id',
+ 'creator': 'creator',
+ 'raw_name': 'raw_name',
+ 'extra': 'extra',
+ 'role': 'role'
+ }
+
+ def __init__(self, index=None, creator_id=None, creator=None, raw_name=None, extra=None, role=None): # noqa: E501
+ """ReleaseContrib - a model defined in Swagger""" # noqa: E501
+
+ self._index = None
+ self._creator_id = None
+ self._creator = None
+ self._raw_name = None
+ self._extra = None
+ self._role = None
+ self.discriminator = None
+
+ if index is not None:
+ self.index = index
+ if creator_id is not None:
+ self.creator_id = creator_id
+ if creator is not None:
+ self.creator = creator
+ if raw_name is not None:
+ self.raw_name = raw_name
+ if extra is not None:
+ self.extra = extra
+ if role is not None:
+ self.role = role
+
+ @property
+ def index(self):
+ """Gets the index of this ReleaseContrib. # noqa: E501
+
+
+ :return: The index of this ReleaseContrib. # noqa: E501
+ :rtype: int
+ """
+ return self._index
+
+ @index.setter
+ def index(self, index):
+ """Sets the index of this ReleaseContrib.
+
+
+ :param index: The index of this ReleaseContrib. # noqa: E501
+ :type: int
+ """
+
+ self._index = index
+
+ @property
+ def creator_id(self):
+ """Gets the creator_id of this ReleaseContrib. # noqa: E501
+
+
+ :return: The creator_id of this ReleaseContrib. # noqa: E501
+ :rtype: str
+ """
+ return self._creator_id
+
+ @creator_id.setter
+ def creator_id(self, creator_id):
+ """Sets the creator_id of this ReleaseContrib.
+
+
+ :param creator_id: The creator_id of this ReleaseContrib. # noqa: E501
+ :type: str
+ """
+
+ self._creator_id = creator_id
+
+ @property
+ def creator(self):
+ """Gets the creator of this ReleaseContrib. # noqa: E501
+
+ Optional; GET-only # noqa: E501
+
+ :return: The creator of this ReleaseContrib. # noqa: E501
+ :rtype: CreatorEntity
+ """
+ return self._creator
+
+ @creator.setter
+ def creator(self, creator):
+ """Sets the creator of this ReleaseContrib.
+
+ Optional; GET-only # noqa: E501
+
+ :param creator: The creator of this ReleaseContrib. # noqa: E501
+ :type: CreatorEntity
+ """
+
+ self._creator = creator
+
+ @property
+ def raw_name(self):
+ """Gets the raw_name of this ReleaseContrib. # noqa: E501
+
+
+ :return: The raw_name of this ReleaseContrib. # noqa: E501
+ :rtype: str
+ """
+ return self._raw_name
+
+ @raw_name.setter
+ def raw_name(self, raw_name):
+ """Sets the raw_name of this ReleaseContrib.
+
+
+ :param raw_name: The raw_name of this ReleaseContrib. # noqa: E501
+ :type: str
+ """
+
+ self._raw_name = raw_name
+
+ @property
+ def extra(self):
+ """Gets the extra of this ReleaseContrib. # noqa: E501
+
+
+ :return: The extra of this ReleaseContrib. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this ReleaseContrib.
+
+
+ :param extra: The extra of this ReleaseContrib. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def role(self):
+ """Gets the role of this ReleaseContrib. # noqa: E501
+
+
+ :return: The role of this ReleaseContrib. # noqa: E501
+ :rtype: str
+ """
+ return self._role
+
+ @role.setter
+ def role(self, role):
+ """Sets the role of this ReleaseContrib.
+
+
+ :param role: The role of this ReleaseContrib. # noqa: E501
+ :type: str
+ """
+
+ self._role = role
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, ReleaseContrib):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/release_entity.py b/python_client/fatcat_client/models/release_entity.py
new file mode 100644
index 00000000..83648351
--- /dev/null
+++ b/python_client/fatcat_client/models/release_entity.py
@@ -0,0 +1,942 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.container_entity import ContainerEntity # noqa: F401,E501
+from fatcat_client.models.file_entity import FileEntity # noqa: F401,E501
+from fatcat_client.models.fileset_entity import FilesetEntity # noqa: F401,E501
+from fatcat_client.models.release_contrib import ReleaseContrib # noqa: F401,E501
+from fatcat_client.models.release_entity_abstracts import ReleaseEntityAbstracts # noqa: F401,E501
+from fatcat_client.models.release_ref import ReleaseRef # noqa: F401,E501
+from fatcat_client.models.webcapture_entity import WebcaptureEntity # noqa: F401,E501
+
+
+class ReleaseEntity(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'abstracts': 'list[ReleaseEntityAbstracts]',
+ 'refs': 'list[ReleaseRef]',
+ 'contribs': 'list[ReleaseContrib]',
+ 'language': 'str',
+ 'publisher': 'str',
+ 'pages': 'str',
+ 'issue': 'str',
+ 'volume': 'str',
+ 'core_id': 'str',
+ 'pmcid': 'str',
+ 'pmid': 'str',
+ 'isbn13': 'str',
+ 'wikidata_qid': 'str',
+ 'doi': 'str',
+ 'release_year': 'int',
+ 'release_date': 'date',
+ 'release_status': 'str',
+ 'release_type': 'str',
+ 'container_id': 'str',
+ 'webcaptures': 'list[WebcaptureEntity]',
+ 'filesets': 'list[FilesetEntity]',
+ 'files': 'list[FileEntity]',
+ 'container': 'ContainerEntity',
+ 'work_id': 'str',
+ 'title': 'str',
+ 'state': 'str',
+ 'ident': 'str',
+ 'revision': 'str',
+ 'redirect': 'str',
+ 'extra': 'object',
+ 'edit_extra': 'object'
+ }
+
+ attribute_map = {
+ 'abstracts': 'abstracts',
+ 'refs': 'refs',
+ 'contribs': 'contribs',
+ 'language': 'language',
+ 'publisher': 'publisher',
+ 'pages': 'pages',
+ 'issue': 'issue',
+ 'volume': 'volume',
+ 'core_id': 'core_id',
+ 'pmcid': 'pmcid',
+ 'pmid': 'pmid',
+ 'isbn13': 'isbn13',
+ 'wikidata_qid': 'wikidata_qid',
+ 'doi': 'doi',
+ 'release_year': 'release_year',
+ 'release_date': 'release_date',
+ 'release_status': 'release_status',
+ 'release_type': 'release_type',
+ 'container_id': 'container_id',
+ 'webcaptures': 'webcaptures',
+ 'filesets': 'filesets',
+ 'files': 'files',
+ 'container': 'container',
+ 'work_id': 'work_id',
+ 'title': 'title',
+ 'state': 'state',
+ 'ident': 'ident',
+ 'revision': 'revision',
+ 'redirect': 'redirect',
+ 'extra': 'extra',
+ 'edit_extra': 'edit_extra'
+ }
+
+ def __init__(self, abstracts=None, refs=None, contribs=None, language=None, publisher=None, pages=None, issue=None, volume=None, core_id=None, pmcid=None, pmid=None, isbn13=None, wikidata_qid=None, doi=None, release_year=None, release_date=None, release_status=None, release_type=None, container_id=None, webcaptures=None, filesets=None, files=None, container=None, work_id=None, title=None, state=None, ident=None, revision=None, redirect=None, extra=None, edit_extra=None): # noqa: E501
+ """ReleaseEntity - a model defined in Swagger""" # noqa: E501
+
+ self._abstracts = None
+ self._refs = None
+ self._contribs = None
+ self._language = None
+ self._publisher = None
+ self._pages = None
+ self._issue = None
+ self._volume = None
+ self._core_id = None
+ self._pmcid = None
+ self._pmid = None
+ self._isbn13 = None
+ self._wikidata_qid = None
+ self._doi = None
+ self._release_year = None
+ self._release_date = None
+ self._release_status = None
+ self._release_type = None
+ self._container_id = None
+ self._webcaptures = None
+ self._filesets = None
+ self._files = None
+ self._container = None
+ self._work_id = None
+ self._title = None
+ self._state = None
+ self._ident = None
+ self._revision = None
+ self._redirect = None
+ self._extra = None
+ self._edit_extra = None
+ self.discriminator = None
+
+ if abstracts is not None:
+ self.abstracts = abstracts
+ if refs is not None:
+ self.refs = refs
+ if contribs is not None:
+ self.contribs = contribs
+ if language is not None:
+ self.language = language
+ if publisher is not None:
+ self.publisher = publisher
+ if pages is not None:
+ self.pages = pages
+ if issue is not None:
+ self.issue = issue
+ if volume is not None:
+ self.volume = volume
+ if core_id is not None:
+ self.core_id = core_id
+ if pmcid is not None:
+ self.pmcid = pmcid
+ if pmid is not None:
+ self.pmid = pmid
+ if isbn13 is not None:
+ self.isbn13 = isbn13
+ if wikidata_qid is not None:
+ self.wikidata_qid = wikidata_qid
+ if doi is not None:
+ self.doi = doi
+ if release_year is not None:
+ self.release_year = release_year
+ if release_date is not None:
+ self.release_date = release_date
+ if release_status is not None:
+ self.release_status = release_status
+ if release_type is not None:
+ self.release_type = release_type
+ if container_id is not None:
+ self.container_id = container_id
+ if webcaptures is not None:
+ self.webcaptures = webcaptures
+ if filesets is not None:
+ self.filesets = filesets
+ if files is not None:
+ self.files = files
+ if container is not None:
+ self.container = container
+ if work_id is not None:
+ self.work_id = work_id
+ if title is not None:
+ self.title = title
+ if state is not None:
+ self.state = state
+ if ident is not None:
+ self.ident = ident
+ if revision is not None:
+ self.revision = revision
+ if redirect is not None:
+ self.redirect = redirect
+ if extra is not None:
+ self.extra = extra
+ if edit_extra is not None:
+ self.edit_extra = edit_extra
+
+ @property
+ def abstracts(self):
+ """Gets the abstracts of this ReleaseEntity. # noqa: E501
+
+
+ :return: The abstracts of this ReleaseEntity. # noqa: E501
+ :rtype: list[ReleaseEntityAbstracts]
+ """
+ return self._abstracts
+
+ @abstracts.setter
+ def abstracts(self, abstracts):
+ """Sets the abstracts of this ReleaseEntity.
+
+
+ :param abstracts: The abstracts of this ReleaseEntity. # noqa: E501
+ :type: list[ReleaseEntityAbstracts]
+ """
+
+ self._abstracts = abstracts
+
+ @property
+ def refs(self):
+ """Gets the refs of this ReleaseEntity. # noqa: E501
+
+
+ :return: The refs of this ReleaseEntity. # noqa: E501
+ :rtype: list[ReleaseRef]
+ """
+ return self._refs
+
+ @refs.setter
+ def refs(self, refs):
+ """Sets the refs of this ReleaseEntity.
+
+
+ :param refs: The refs of this ReleaseEntity. # noqa: E501
+ :type: list[ReleaseRef]
+ """
+
+ self._refs = refs
+
+ @property
+ def contribs(self):
+ """Gets the contribs of this ReleaseEntity. # noqa: E501
+
+
+ :return: The contribs of this ReleaseEntity. # noqa: E501
+ :rtype: list[ReleaseContrib]
+ """
+ return self._contribs
+
+ @contribs.setter
+ def contribs(self, contribs):
+ """Sets the contribs of this ReleaseEntity.
+
+
+ :param contribs: The contribs of this ReleaseEntity. # noqa: E501
+ :type: list[ReleaseContrib]
+ """
+
+ self._contribs = contribs
+
+ @property
+ def language(self):
+ """Gets the language of this ReleaseEntity. # noqa: E501
+
+ Two-letter RFC1766/ISO639-1 language code, with extensions # noqa: E501
+
+ :return: The language of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._language
+
+ @language.setter
+ def language(self, language):
+ """Sets the language of this ReleaseEntity.
+
+ Two-letter RFC1766/ISO639-1 language code, with extensions # noqa: E501
+
+ :param language: The language of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._language = language
+
+ @property
+ def publisher(self):
+ """Gets the publisher of this ReleaseEntity. # noqa: E501
+
+
+ :return: The publisher of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._publisher
+
+ @publisher.setter
+ def publisher(self, publisher):
+ """Sets the publisher of this ReleaseEntity.
+
+
+ :param publisher: The publisher of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._publisher = publisher
+
+ @property
+ def pages(self):
+ """Gets the pages of this ReleaseEntity. # noqa: E501
+
+
+ :return: The pages of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._pages
+
+ @pages.setter
+ def pages(self, pages):
+ """Sets the pages of this ReleaseEntity.
+
+
+ :param pages: The pages of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._pages = pages
+
+ @property
+ def issue(self):
+ """Gets the issue of this ReleaseEntity. # noqa: E501
+
+
+ :return: The issue of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._issue
+
+ @issue.setter
+ def issue(self, issue):
+ """Sets the issue of this ReleaseEntity.
+
+
+ :param issue: The issue of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._issue = issue
+
+ @property
+ def volume(self):
+ """Gets the volume of this ReleaseEntity. # noqa: E501
+
+
+ :return: The volume of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._volume
+
+ @volume.setter
+ def volume(self, volume):
+ """Sets the volume of this ReleaseEntity.
+
+
+ :param volume: The volume of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._volume = volume
+
+ @property
+ def core_id(self):
+ """Gets the core_id of this ReleaseEntity. # noqa: E501
+
+
+ :return: The core_id of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._core_id
+
+ @core_id.setter
+ def core_id(self, core_id):
+ """Sets the core_id of this ReleaseEntity.
+
+
+ :param core_id: The core_id of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._core_id = core_id
+
+ @property
+ def pmcid(self):
+ """Gets the pmcid of this ReleaseEntity. # noqa: E501
+
+
+ :return: The pmcid of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._pmcid
+
+ @pmcid.setter
+ def pmcid(self, pmcid):
+ """Sets the pmcid of this ReleaseEntity.
+
+
+ :param pmcid: The pmcid of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._pmcid = pmcid
+
+ @property
+ def pmid(self):
+ """Gets the pmid of this ReleaseEntity. # noqa: E501
+
+
+ :return: The pmid of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._pmid
+
+ @pmid.setter
+ def pmid(self, pmid):
+ """Sets the pmid of this ReleaseEntity.
+
+
+ :param pmid: The pmid of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._pmid = pmid
+
+ @property
+ def isbn13(self):
+ """Gets the isbn13 of this ReleaseEntity. # noqa: E501
+
+
+ :return: The isbn13 of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._isbn13
+
+ @isbn13.setter
+ def isbn13(self, isbn13):
+ """Sets the isbn13 of this ReleaseEntity.
+
+
+ :param isbn13: The isbn13 of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._isbn13 = isbn13
+
+ @property
+ def wikidata_qid(self):
+ """Gets the wikidata_qid of this ReleaseEntity. # noqa: E501
+
+
+ :return: The wikidata_qid of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._wikidata_qid
+
+ @wikidata_qid.setter
+ def wikidata_qid(self, wikidata_qid):
+ """Sets the wikidata_qid of this ReleaseEntity.
+
+
+ :param wikidata_qid: The wikidata_qid of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._wikidata_qid = wikidata_qid
+
+ @property
+ def doi(self):
+ """Gets the doi of this ReleaseEntity. # noqa: E501
+
+
+ :return: The doi of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._doi
+
+ @doi.setter
+ def doi(self, doi):
+ """Sets the doi of this ReleaseEntity.
+
+
+ :param doi: The doi of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._doi = doi
+
+ @property
+ def release_year(self):
+ """Gets the release_year of this ReleaseEntity. # noqa: E501
+
+
+ :return: The release_year of this ReleaseEntity. # noqa: E501
+ :rtype: int
+ """
+ return self._release_year
+
+ @release_year.setter
+ def release_year(self, release_year):
+ """Sets the release_year of this ReleaseEntity.
+
+
+ :param release_year: The release_year of this ReleaseEntity. # noqa: E501
+ :type: int
+ """
+
+ self._release_year = release_year
+
+ @property
+ def release_date(self):
+ """Gets the release_date of this ReleaseEntity. # noqa: E501
+
+
+ :return: The release_date of this ReleaseEntity. # noqa: E501
+ :rtype: date
+ """
+ return self._release_date
+
+ @release_date.setter
+ def release_date(self, release_date):
+ """Sets the release_date of this ReleaseEntity.
+
+
+ :param release_date: The release_date of this ReleaseEntity. # noqa: E501
+ :type: date
+ """
+
+ self._release_date = release_date
+
+ @property
+ def release_status(self):
+ """Gets the release_status of this ReleaseEntity. # noqa: E501
+
+
+ :return: The release_status of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._release_status
+
+ @release_status.setter
+ def release_status(self, release_status):
+ """Sets the release_status of this ReleaseEntity.
+
+
+ :param release_status: The release_status of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._release_status = release_status
+
+ @property
+ def release_type(self):
+ """Gets the release_type of this ReleaseEntity. # noqa: E501
+
+
+ :return: The release_type of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._release_type
+
+ @release_type.setter
+ def release_type(self, release_type):
+ """Sets the release_type of this ReleaseEntity.
+
+
+ :param release_type: The release_type of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._release_type = release_type
+
+ @property
+ def container_id(self):
+ """Gets the container_id of this ReleaseEntity. # noqa: E501
+
+
+ :return: The container_id of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._container_id
+
+ @container_id.setter
+ def container_id(self, container_id):
+ """Sets the container_id of this ReleaseEntity.
+
+
+ :param container_id: The container_id of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._container_id = container_id
+
+ @property
+ def webcaptures(self):
+ """Gets the webcaptures of this ReleaseEntity. # noqa: E501
+
+ Optional; GET-only # noqa: E501
+
+ :return: The webcaptures of this ReleaseEntity. # noqa: E501
+ :rtype: list[WebcaptureEntity]
+ """
+ return self._webcaptures
+
+ @webcaptures.setter
+ def webcaptures(self, webcaptures):
+ """Sets the webcaptures of this ReleaseEntity.
+
+ Optional; GET-only # noqa: E501
+
+ :param webcaptures: The webcaptures of this ReleaseEntity. # noqa: E501
+ :type: list[WebcaptureEntity]
+ """
+
+ self._webcaptures = webcaptures
+
+ @property
+ def filesets(self):
+ """Gets the filesets of this ReleaseEntity. # noqa: E501
+
+ Optional; GET-only # noqa: E501
+
+ :return: The filesets of this ReleaseEntity. # noqa: E501
+ :rtype: list[FilesetEntity]
+ """
+ return self._filesets
+
+ @filesets.setter
+ def filesets(self, filesets):
+ """Sets the filesets of this ReleaseEntity.
+
+ Optional; GET-only # noqa: E501
+
+ :param filesets: The filesets of this ReleaseEntity. # noqa: E501
+ :type: list[FilesetEntity]
+ """
+
+ self._filesets = filesets
+
+ @property
+ def files(self):
+ """Gets the files of this ReleaseEntity. # noqa: E501
+
+ Optional; GET-only # noqa: E501
+
+ :return: The files of this ReleaseEntity. # noqa: E501
+ :rtype: list[FileEntity]
+ """
+ return self._files
+
+ @files.setter
+ def files(self, files):
+ """Sets the files of this ReleaseEntity.
+
+ Optional; GET-only # noqa: E501
+
+ :param files: The files of this ReleaseEntity. # noqa: E501
+ :type: list[FileEntity]
+ """
+
+ self._files = files
+
+ @property
+ def container(self):
+ """Gets the container of this ReleaseEntity. # noqa: E501
+
+ Optional; GET-only # noqa: E501
+
+ :return: The container of this ReleaseEntity. # noqa: E501
+ :rtype: ContainerEntity
+ """
+ return self._container
+
+ @container.setter
+ def container(self, container):
+ """Sets the container of this ReleaseEntity.
+
+ Optional; GET-only # noqa: E501
+
+ :param container: The container of this ReleaseEntity. # noqa: E501
+ :type: ContainerEntity
+ """
+
+ self._container = container
+
+ @property
+ def work_id(self):
+ """Gets the work_id of this ReleaseEntity. # noqa: E501
+
+
+ :return: The work_id of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._work_id
+
+ @work_id.setter
+ def work_id(self, work_id):
+ """Sets the work_id of this ReleaseEntity.
+
+
+ :param work_id: The work_id of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._work_id = work_id
+
+ @property
+ def title(self):
+ """Gets the title of this ReleaseEntity. # noqa: E501
+
+ Required for valid entities # noqa: E501
+
+ :return: The title of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._title
+
+ @title.setter
+ def title(self, title):
+ """Sets the title of this ReleaseEntity.
+
+ Required for valid entities # noqa: E501
+
+ :param title: The title of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+
+ self._title = title
+
+ @property
+ def state(self):
+ """Gets the state of this ReleaseEntity. # noqa: E501
+
+
+ :return: The state of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """Sets the state of this ReleaseEntity.
+
+
+ :param state: The state of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+ allowed_values = ["wip", "active", "redirect", "deleted"] # noqa: E501
+ if state not in allowed_values:
+ raise ValueError(
+ "Invalid value for `state` ({0}), must be one of {1}" # noqa: E501
+ .format(state, allowed_values)
+ )
+
+ self._state = state
+
+ @property
+ def ident(self):
+ """Gets the ident of this ReleaseEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The ident of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._ident
+
+ @ident.setter
+ def ident(self, ident):
+ """Sets the ident of this ReleaseEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param ident: The ident of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+ if ident is not None and len(ident) > 26:
+ raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`") # noqa: E501
+ if ident is not None and len(ident) < 26:
+ raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`") # noqa: E501
+ if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident): # noqa: E501
+ raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._ident = ident
+
+ @property
+ def revision(self):
+ """Gets the revision of this ReleaseEntity. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The revision of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._revision
+
+ @revision.setter
+ def revision(self, revision):
+ """Sets the revision of this ReleaseEntity.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param revision: The revision of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+ if revision is not None and len(revision) > 36:
+ raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`") # noqa: E501
+ if revision is not None and len(revision) < 36:
+ raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`") # noqa: E501
+ if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision): # noqa: E501
+ raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._revision = revision
+
+ @property
+ def redirect(self):
+ """Gets the redirect of this ReleaseEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The redirect of this ReleaseEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._redirect
+
+ @redirect.setter
+ def redirect(self, redirect):
+ """Sets the redirect of this ReleaseEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param redirect: The redirect of this ReleaseEntity. # noqa: E501
+ :type: str
+ """
+ if redirect is not None and len(redirect) > 26:
+ raise ValueError("Invalid value for `redirect`, length must be less than or equal to `26`") # noqa: E501
+ if redirect is not None and len(redirect) < 26:
+ raise ValueError("Invalid value for `redirect`, length must be greater than or equal to `26`") # noqa: E501
+ if redirect is not None and not re.search('[a-zA-Z2-7]{26}', redirect): # noqa: E501
+ raise ValueError("Invalid value for `redirect`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._redirect = redirect
+
+ @property
+ def extra(self):
+ """Gets the extra of this ReleaseEntity. # noqa: E501
+
+
+ :return: The extra of this ReleaseEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this ReleaseEntity.
+
+
+ :param extra: The extra of this ReleaseEntity. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def edit_extra(self):
+ """Gets the edit_extra of this ReleaseEntity. # noqa: E501
+
+
+ :return: The edit_extra of this ReleaseEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._edit_extra
+
+ @edit_extra.setter
+ def edit_extra(self, edit_extra):
+ """Sets the edit_extra of this ReleaseEntity.
+
+
+ :param edit_extra: The edit_extra of this ReleaseEntity. # noqa: E501
+ :type: object
+ """
+
+ self._edit_extra = edit_extra
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, ReleaseEntity):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/release_entity_abstracts.py b/python_client/fatcat_client/models/release_entity_abstracts.py
new file mode 100644
index 00000000..2818e112
--- /dev/null
+++ b/python_client/fatcat_client/models/release_entity_abstracts.py
@@ -0,0 +1,196 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class ReleaseEntityAbstracts(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'sha1': 'str',
+ 'content': 'str',
+ 'mimetype': 'str',
+ 'lang': 'str'
+ }
+
+ attribute_map = {
+ 'sha1': 'sha1',
+ 'content': 'content',
+ 'mimetype': 'mimetype',
+ 'lang': 'lang'
+ }
+
+ def __init__(self, sha1=None, content=None, mimetype=None, lang=None): # noqa: E501
+ """ReleaseEntityAbstracts - a model defined in Swagger""" # noqa: E501
+
+ self._sha1 = None
+ self._content = None
+ self._mimetype = None
+ self._lang = None
+ self.discriminator = None
+
+ if sha1 is not None:
+ self.sha1 = sha1
+ if content is not None:
+ self.content = content
+ if mimetype is not None:
+ self.mimetype = mimetype
+ if lang is not None:
+ self.lang = lang
+
+ @property
+ def sha1(self):
+ """Gets the sha1 of this ReleaseEntityAbstracts. # noqa: E501
+
+
+ :return: The sha1 of this ReleaseEntityAbstracts. # noqa: E501
+ :rtype: str
+ """
+ return self._sha1
+
+ @sha1.setter
+ def sha1(self, sha1):
+ """Sets the sha1 of this ReleaseEntityAbstracts.
+
+
+ :param sha1: The sha1 of this ReleaseEntityAbstracts. # noqa: E501
+ :type: str
+ """
+ if sha1 is not None and len(sha1) > 40:
+ raise ValueError("Invalid value for `sha1`, length must be less than or equal to `40`") # noqa: E501
+ if sha1 is not None and len(sha1) < 40:
+ raise ValueError("Invalid value for `sha1`, length must be greater than or equal to `40`") # noqa: E501
+ if sha1 is not None and not re.search('[a-f0-9]{40}', sha1): # noqa: E501
+ raise ValueError("Invalid value for `sha1`, must be a follow pattern or equal to `/[a-f0-9]{40}/`") # noqa: E501
+
+ self._sha1 = sha1
+
+ @property
+ def content(self):
+ """Gets the content of this ReleaseEntityAbstracts. # noqa: E501
+
+
+ :return: The content of this ReleaseEntityAbstracts. # noqa: E501
+ :rtype: str
+ """
+ return self._content
+
+ @content.setter
+ def content(self, content):
+ """Sets the content of this ReleaseEntityAbstracts.
+
+
+ :param content: The content of this ReleaseEntityAbstracts. # noqa: E501
+ :type: str
+ """
+
+ self._content = content
+
+ @property
+ def mimetype(self):
+ """Gets the mimetype of this ReleaseEntityAbstracts. # noqa: E501
+
+
+ :return: The mimetype of this ReleaseEntityAbstracts. # noqa: E501
+ :rtype: str
+ """
+ return self._mimetype
+
+ @mimetype.setter
+ def mimetype(self, mimetype):
+ """Sets the mimetype of this ReleaseEntityAbstracts.
+
+
+ :param mimetype: The mimetype of this ReleaseEntityAbstracts. # noqa: E501
+ :type: str
+ """
+
+ self._mimetype = mimetype
+
+ @property
+ def lang(self):
+ """Gets the lang of this ReleaseEntityAbstracts. # noqa: E501
+
+
+ :return: The lang of this ReleaseEntityAbstracts. # noqa: E501
+ :rtype: str
+ """
+ return self._lang
+
+ @lang.setter
+ def lang(self, lang):
+ """Sets the lang of this ReleaseEntityAbstracts.
+
+
+ :param lang: The lang of this ReleaseEntityAbstracts. # noqa: E501
+ :type: str
+ """
+
+ self._lang = lang
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, ReleaseEntityAbstracts):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/release_ref.py b/python_client/fatcat_client/models/release_ref.py
new file mode 100644
index 00000000..81ad9cfe
--- /dev/null
+++ b/python_client/fatcat_client/models/release_ref.py
@@ -0,0 +1,302 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class ReleaseRef(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'index': 'int',
+ 'target_release_id': 'str',
+ 'extra': 'object',
+ 'key': 'str',
+ 'year': 'int',
+ 'container_name': 'str',
+ 'title': 'str',
+ 'locator': 'str'
+ }
+
+ attribute_map = {
+ 'index': 'index',
+ 'target_release_id': 'target_release_id',
+ 'extra': 'extra',
+ 'key': 'key',
+ 'year': 'year',
+ 'container_name': 'container_name',
+ 'title': 'title',
+ 'locator': 'locator'
+ }
+
+ def __init__(self, index=None, target_release_id=None, extra=None, key=None, year=None, container_name=None, title=None, locator=None): # noqa: E501
+ """ReleaseRef - a model defined in Swagger""" # noqa: E501
+
+ self._index = None
+ self._target_release_id = None
+ self._extra = None
+ self._key = None
+ self._year = None
+ self._container_name = None
+ self._title = None
+ self._locator = None
+ self.discriminator = None
+
+ if index is not None:
+ self.index = index
+ if target_release_id is not None:
+ self.target_release_id = target_release_id
+ if extra is not None:
+ self.extra = extra
+ if key is not None:
+ self.key = key
+ if year is not None:
+ self.year = year
+ if container_name is not None:
+ self.container_name = container_name
+ if title is not None:
+ self.title = title
+ if locator is not None:
+ self.locator = locator
+
+ @property
+ def index(self):
+ """Gets the index of this ReleaseRef. # noqa: E501
+
+
+ :return: The index of this ReleaseRef. # noqa: E501
+ :rtype: int
+ """
+ return self._index
+
+ @index.setter
+ def index(self, index):
+ """Sets the index of this ReleaseRef.
+
+
+ :param index: The index of this ReleaseRef. # noqa: E501
+ :type: int
+ """
+
+ self._index = index
+
+ @property
+ def target_release_id(self):
+ """Gets the target_release_id of this ReleaseRef. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The target_release_id of this ReleaseRef. # noqa: E501
+ :rtype: str
+ """
+ return self._target_release_id
+
+ @target_release_id.setter
+ def target_release_id(self, target_release_id):
+ """Sets the target_release_id of this ReleaseRef.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param target_release_id: The target_release_id of this ReleaseRef. # noqa: E501
+ :type: str
+ """
+ if target_release_id is not None and len(target_release_id) > 26:
+ raise ValueError("Invalid value for `target_release_id`, length must be less than or equal to `26`") # noqa: E501
+ if target_release_id is not None and len(target_release_id) < 26:
+ raise ValueError("Invalid value for `target_release_id`, length must be greater than or equal to `26`") # noqa: E501
+ if target_release_id is not None and not re.search('[a-zA-Z2-7]{26}', target_release_id): # noqa: E501
+ raise ValueError("Invalid value for `target_release_id`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._target_release_id = target_release_id
+
+ @property
+ def extra(self):
+ """Gets the extra of this ReleaseRef. # noqa: E501
+
+
+ :return: The extra of this ReleaseRef. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this ReleaseRef.
+
+
+ :param extra: The extra of this ReleaseRef. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def key(self):
+ """Gets the key of this ReleaseRef. # noqa: E501
+
+
+ :return: The key of this ReleaseRef. # noqa: E501
+ :rtype: str
+ """
+ return self._key
+
+ @key.setter
+ def key(self, key):
+ """Sets the key of this ReleaseRef.
+
+
+ :param key: The key of this ReleaseRef. # noqa: E501
+ :type: str
+ """
+
+ self._key = key
+
+ @property
+ def year(self):
+ """Gets the year of this ReleaseRef. # noqa: E501
+
+
+ :return: The year of this ReleaseRef. # noqa: E501
+ :rtype: int
+ """
+ return self._year
+
+ @year.setter
+ def year(self, year):
+ """Sets the year of this ReleaseRef.
+
+
+ :param year: The year of this ReleaseRef. # noqa: E501
+ :type: int
+ """
+
+ self._year = year
+
+ @property
+ def container_name(self):
+ """Gets the container_name of this ReleaseRef. # noqa: E501
+
+
+ :return: The container_name of this ReleaseRef. # noqa: E501
+ :rtype: str
+ """
+ return self._container_name
+
+ @container_name.setter
+ def container_name(self, container_name):
+ """Sets the container_name of this ReleaseRef.
+
+
+ :param container_name: The container_name of this ReleaseRef. # noqa: E501
+ :type: str
+ """
+
+ self._container_name = container_name
+
+ @property
+ def title(self):
+ """Gets the title of this ReleaseRef. # noqa: E501
+
+
+ :return: The title of this ReleaseRef. # noqa: E501
+ :rtype: str
+ """
+ return self._title
+
+ @title.setter
+ def title(self, title):
+ """Sets the title of this ReleaseRef.
+
+
+ :param title: The title of this ReleaseRef. # noqa: E501
+ :type: str
+ """
+
+ self._title = title
+
+ @property
+ def locator(self):
+ """Gets the locator of this ReleaseRef. # noqa: E501
+
+
+ :return: The locator of this ReleaseRef. # noqa: E501
+ :rtype: str
+ """
+ return self._locator
+
+ @locator.setter
+ def locator(self, locator):
+ """Sets the locator of this ReleaseRef.
+
+
+ :param locator: The locator of this ReleaseRef. # noqa: E501
+ :type: str
+ """
+
+ self._locator = locator
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, ReleaseRef):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/stats_response.py b/python_client/fatcat_client/models/stats_response.py
new file mode 100644
index 00000000..0a1a6513
--- /dev/null
+++ b/python_client/fatcat_client/models/stats_response.py
@@ -0,0 +1,112 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class StatsResponse(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'extra': 'object'
+ }
+
+ attribute_map = {
+ 'extra': 'extra'
+ }
+
+ def __init__(self, extra=None): # noqa: E501
+ """StatsResponse - a model defined in Swagger""" # noqa: E501
+
+ self._extra = None
+ self.discriminator = None
+
+ if extra is not None:
+ self.extra = extra
+
+ @property
+ def extra(self):
+ """Gets the extra of this StatsResponse. # noqa: E501
+
+
+ :return: The extra of this StatsResponse. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this StatsResponse.
+
+
+ :param extra: The extra of this StatsResponse. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, StatsResponse):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/success.py b/python_client/fatcat_client/models/success.py
new file mode 100644
index 00000000..56cbd63a
--- /dev/null
+++ b/python_client/fatcat_client/models/success.py
@@ -0,0 +1,113 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class Success(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'message': 'str'
+ }
+
+ attribute_map = {
+ 'message': 'message'
+ }
+
+ def __init__(self, message=None): # noqa: E501
+ """Success - a model defined in Swagger""" # noqa: E501
+
+ self._message = None
+ self.discriminator = None
+
+ self.message = message
+
+ @property
+ def message(self):
+ """Gets the message of this Success. # noqa: E501
+
+
+ :return: The message of this Success. # noqa: E501
+ :rtype: str
+ """
+ return self._message
+
+ @message.setter
+ def message(self, message):
+ """Sets the message of this Success.
+
+
+ :param message: The message of this Success. # noqa: E501
+ :type: str
+ """
+ if message is None:
+ raise ValueError("Invalid value for `message`, must not be `None`") # noqa: E501
+
+ self._message = message
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, Success):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/webcapture_entity.py b/python_client/fatcat_client/models/webcapture_entity.py
new file mode 100644
index 00000000..9d49c916
--- /dev/null
+++ b/python_client/fatcat_client/models/webcapture_entity.py
@@ -0,0 +1,405 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+from fatcat_client.models.webcapture_entity_archive_urls import WebcaptureEntityArchiveUrls # noqa: F401,E501
+from fatcat_client.models.webcapture_entity_cdx import WebcaptureEntityCdx # noqa: F401,E501
+
+
+class WebcaptureEntity(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'release_ids': 'list[str]',
+ 'timestamp': 'datetime',
+ 'original_url': 'str',
+ 'archive_urls': 'list[WebcaptureEntityArchiveUrls]',
+ 'cdx': 'list[WebcaptureEntityCdx]',
+ 'edit_extra': 'object',
+ 'extra': 'object',
+ 'redirect': 'str',
+ 'revision': 'str',
+ 'ident': 'str',
+ 'state': 'str'
+ }
+
+ attribute_map = {
+ 'release_ids': 'release_ids',
+ 'timestamp': 'timestamp',
+ 'original_url': 'original_url',
+ 'archive_urls': 'archive_urls',
+ 'cdx': 'cdx',
+ 'edit_extra': 'edit_extra',
+ 'extra': 'extra',
+ 'redirect': 'redirect',
+ 'revision': 'revision',
+ 'ident': 'ident',
+ 'state': 'state'
+ }
+
+ def __init__(self, release_ids=None, timestamp=None, original_url=None, archive_urls=None, cdx=None, edit_extra=None, extra=None, redirect=None, revision=None, ident=None, state=None): # noqa: E501
+ """WebcaptureEntity - a model defined in Swagger""" # noqa: E501
+
+ self._release_ids = None
+ self._timestamp = None
+ self._original_url = None
+ self._archive_urls = None
+ self._cdx = None
+ self._edit_extra = None
+ self._extra = None
+ self._redirect = None
+ self._revision = None
+ self._ident = None
+ self._state = None
+ self.discriminator = None
+
+ if release_ids is not None:
+ self.release_ids = release_ids
+ if timestamp is not None:
+ self.timestamp = timestamp
+ if original_url is not None:
+ self.original_url = original_url
+ if archive_urls is not None:
+ self.archive_urls = archive_urls
+ if cdx is not None:
+ self.cdx = cdx
+ if edit_extra is not None:
+ self.edit_extra = edit_extra
+ if extra is not None:
+ self.extra = extra
+ if redirect is not None:
+ self.redirect = redirect
+ if revision is not None:
+ self.revision = revision
+ if ident is not None:
+ self.ident = ident
+ if state is not None:
+ self.state = state
+
+ @property
+ def release_ids(self):
+ """Gets the release_ids of this WebcaptureEntity. # noqa: E501
+
+
+ :return: The release_ids of this WebcaptureEntity. # noqa: E501
+ :rtype: list[str]
+ """
+ return self._release_ids
+
+ @release_ids.setter
+ def release_ids(self, release_ids):
+ """Sets the release_ids of this WebcaptureEntity.
+
+
+ :param release_ids: The release_ids of this WebcaptureEntity. # noqa: E501
+ :type: list[str]
+ """
+
+ self._release_ids = release_ids
+
+ @property
+ def timestamp(self):
+ """Gets the timestamp of this WebcaptureEntity. # noqa: E501
+
+
+ :return: The timestamp of this WebcaptureEntity. # noqa: E501
+ :rtype: datetime
+ """
+ return self._timestamp
+
+ @timestamp.setter
+ def timestamp(self, timestamp):
+ """Sets the timestamp of this WebcaptureEntity.
+
+
+ :param timestamp: The timestamp of this WebcaptureEntity. # noqa: E501
+ :type: datetime
+ """
+
+ self._timestamp = timestamp
+
+ @property
+ def original_url(self):
+ """Gets the original_url of this WebcaptureEntity. # noqa: E501
+
+
+ :return: The original_url of this WebcaptureEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._original_url
+
+ @original_url.setter
+ def original_url(self, original_url):
+ """Sets the original_url of this WebcaptureEntity.
+
+
+ :param original_url: The original_url of this WebcaptureEntity. # noqa: E501
+ :type: str
+ """
+
+ self._original_url = original_url
+
+ @property
+ def archive_urls(self):
+ """Gets the archive_urls of this WebcaptureEntity. # noqa: E501
+
+
+ :return: The archive_urls of this WebcaptureEntity. # noqa: E501
+ :rtype: list[WebcaptureEntityArchiveUrls]
+ """
+ return self._archive_urls
+
+ @archive_urls.setter
+ def archive_urls(self, archive_urls):
+ """Sets the archive_urls of this WebcaptureEntity.
+
+
+ :param archive_urls: The archive_urls of this WebcaptureEntity. # noqa: E501
+ :type: list[WebcaptureEntityArchiveUrls]
+ """
+
+ self._archive_urls = archive_urls
+
+ @property
+ def cdx(self):
+ """Gets the cdx of this WebcaptureEntity. # noqa: E501
+
+
+ :return: The cdx of this WebcaptureEntity. # noqa: E501
+ :rtype: list[WebcaptureEntityCdx]
+ """
+ return self._cdx
+
+ @cdx.setter
+ def cdx(self, cdx):
+ """Sets the cdx of this WebcaptureEntity.
+
+
+ :param cdx: The cdx of this WebcaptureEntity. # noqa: E501
+ :type: list[WebcaptureEntityCdx]
+ """
+
+ self._cdx = cdx
+
+ @property
+ def edit_extra(self):
+ """Gets the edit_extra of this WebcaptureEntity. # noqa: E501
+
+
+ :return: The edit_extra of this WebcaptureEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._edit_extra
+
+ @edit_extra.setter
+ def edit_extra(self, edit_extra):
+ """Sets the edit_extra of this WebcaptureEntity.
+
+
+ :param edit_extra: The edit_extra of this WebcaptureEntity. # noqa: E501
+ :type: object
+ """
+
+ self._edit_extra = edit_extra
+
+ @property
+ def extra(self):
+ """Gets the extra of this WebcaptureEntity. # noqa: E501
+
+
+ :return: The extra of this WebcaptureEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this WebcaptureEntity.
+
+
+ :param extra: The extra of this WebcaptureEntity. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def redirect(self):
+ """Gets the redirect of this WebcaptureEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The redirect of this WebcaptureEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._redirect
+
+ @redirect.setter
+ def redirect(self, redirect):
+ """Sets the redirect of this WebcaptureEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param redirect: The redirect of this WebcaptureEntity. # noqa: E501
+ :type: str
+ """
+ if redirect is not None and len(redirect) > 26:
+ raise ValueError("Invalid value for `redirect`, length must be less than or equal to `26`") # noqa: E501
+ if redirect is not None and len(redirect) < 26:
+ raise ValueError("Invalid value for `redirect`, length must be greater than or equal to `26`") # noqa: E501
+ if redirect is not None and not re.search('[a-zA-Z2-7]{26}', redirect): # noqa: E501
+ raise ValueError("Invalid value for `redirect`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._redirect = redirect
+
+ @property
+ def revision(self):
+ """Gets the revision of this WebcaptureEntity. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The revision of this WebcaptureEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._revision
+
+ @revision.setter
+ def revision(self, revision):
+ """Sets the revision of this WebcaptureEntity.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param revision: The revision of this WebcaptureEntity. # noqa: E501
+ :type: str
+ """
+ if revision is not None and len(revision) > 36:
+ raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`") # noqa: E501
+ if revision is not None and len(revision) < 36:
+ raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`") # noqa: E501
+ if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision): # noqa: E501
+ raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._revision = revision
+
+ @property
+ def ident(self):
+ """Gets the ident of this WebcaptureEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The ident of this WebcaptureEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._ident
+
+ @ident.setter
+ def ident(self, ident):
+ """Sets the ident of this WebcaptureEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param ident: The ident of this WebcaptureEntity. # noqa: E501
+ :type: str
+ """
+ if ident is not None and len(ident) > 26:
+ raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`") # noqa: E501
+ if ident is not None and len(ident) < 26:
+ raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`") # noqa: E501
+ if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident): # noqa: E501
+ raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._ident = ident
+
+ @property
+ def state(self):
+ """Gets the state of this WebcaptureEntity. # noqa: E501
+
+
+ :return: The state of this WebcaptureEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """Sets the state of this WebcaptureEntity.
+
+
+ :param state: The state of this WebcaptureEntity. # noqa: E501
+ :type: str
+ """
+ allowed_values = ["wip", "active", "redirect", "deleted"] # noqa: E501
+ if state not in allowed_values:
+ raise ValueError(
+ "Invalid value for `state` ({0}), must be one of {1}" # noqa: E501
+ .format(state, allowed_values)
+ )
+
+ self._state = state
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, WebcaptureEntity):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/webcapture_entity_archive_urls.py b/python_client/fatcat_client/models/webcapture_entity_archive_urls.py
new file mode 100644
index 00000000..a334891d
--- /dev/null
+++ b/python_client/fatcat_client/models/webcapture_entity_archive_urls.py
@@ -0,0 +1,140 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class WebcaptureEntityArchiveUrls(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'url': 'str',
+ 'rel': 'str'
+ }
+
+ attribute_map = {
+ 'url': 'url',
+ 'rel': 'rel'
+ }
+
+ def __init__(self, url=None, rel=None): # noqa: E501
+ """WebcaptureEntityArchiveUrls - a model defined in Swagger""" # noqa: E501
+
+ self._url = None
+ self._rel = None
+ self.discriminator = None
+
+ self.url = url
+ self.rel = rel
+
+ @property
+ def url(self):
+ """Gets the url of this WebcaptureEntityArchiveUrls. # noqa: E501
+
+
+ :return: The url of this WebcaptureEntityArchiveUrls. # noqa: E501
+ :rtype: str
+ """
+ return self._url
+
+ @url.setter
+ def url(self, url):
+ """Sets the url of this WebcaptureEntityArchiveUrls.
+
+
+ :param url: The url of this WebcaptureEntityArchiveUrls. # noqa: E501
+ :type: str
+ """
+ if url is None:
+ raise ValueError("Invalid value for `url`, must not be `None`") # noqa: E501
+
+ self._url = url
+
+ @property
+ def rel(self):
+ """Gets the rel of this WebcaptureEntityArchiveUrls. # noqa: E501
+
+
+ :return: The rel of this WebcaptureEntityArchiveUrls. # noqa: E501
+ :rtype: str
+ """
+ return self._rel
+
+ @rel.setter
+ def rel(self, rel):
+ """Sets the rel of this WebcaptureEntityArchiveUrls.
+
+
+ :param rel: The rel of this WebcaptureEntityArchiveUrls. # noqa: E501
+ :type: str
+ """
+ if rel is None:
+ raise ValueError("Invalid value for `rel`, must not be `None`") # noqa: E501
+
+ self._rel = rel
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, WebcaptureEntityArchiveUrls):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/webcapture_entity_cdx.py b/python_client/fatcat_client/models/webcapture_entity_cdx.py
new file mode 100644
index 00000000..a34ea2f1
--- /dev/null
+++ b/python_client/fatcat_client/models/webcapture_entity_cdx.py
@@ -0,0 +1,284 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class WebcaptureEntityCdx(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'surt': 'str',
+ 'timestamp': 'str',
+ 'url': 'str',
+ 'mimetype': 'str',
+ 'status_code': 'int',
+ 'sha1': 'str',
+ 'sha256': 'str'
+ }
+
+ attribute_map = {
+ 'surt': 'surt',
+ 'timestamp': 'timestamp',
+ 'url': 'url',
+ 'mimetype': 'mimetype',
+ 'status_code': 'status_code',
+ 'sha1': 'sha1',
+ 'sha256': 'sha256'
+ }
+
+ def __init__(self, surt=None, timestamp=None, url=None, mimetype=None, status_code=None, sha1=None, sha256=None): # noqa: E501
+ """WebcaptureEntityCdx - a model defined in Swagger""" # noqa: E501
+
+ self._surt = None
+ self._timestamp = None
+ self._url = None
+ self._mimetype = None
+ self._status_code = None
+ self._sha1 = None
+ self._sha256 = None
+ self.discriminator = None
+
+ self.surt = surt
+ self.timestamp = timestamp
+ self.url = url
+ if mimetype is not None:
+ self.mimetype = mimetype
+ if status_code is not None:
+ self.status_code = status_code
+ self.sha1 = sha1
+ if sha256 is not None:
+ self.sha256 = sha256
+
+ @property
+ def surt(self):
+ """Gets the surt of this WebcaptureEntityCdx. # noqa: E501
+
+
+ :return: The surt of this WebcaptureEntityCdx. # noqa: E501
+ :rtype: str
+ """
+ return self._surt
+
+ @surt.setter
+ def surt(self, surt):
+ """Sets the surt of this WebcaptureEntityCdx.
+
+
+ :param surt: The surt of this WebcaptureEntityCdx. # noqa: E501
+ :type: str
+ """
+ if surt is None:
+ raise ValueError("Invalid value for `surt`, must not be `None`") # noqa: E501
+
+ self._surt = surt
+
+ @property
+ def timestamp(self):
+ """Gets the timestamp of this WebcaptureEntityCdx. # noqa: E501
+
+
+ :return: The timestamp of this WebcaptureEntityCdx. # noqa: E501
+ :rtype: str
+ """
+ return self._timestamp
+
+ @timestamp.setter
+ def timestamp(self, timestamp):
+ """Sets the timestamp of this WebcaptureEntityCdx.
+
+
+ :param timestamp: The timestamp of this WebcaptureEntityCdx. # noqa: E501
+ :type: str
+ """
+ if timestamp is None:
+ raise ValueError("Invalid value for `timestamp`, must not be `None`") # noqa: E501
+
+ self._timestamp = timestamp
+
+ @property
+ def url(self):
+ """Gets the url of this WebcaptureEntityCdx. # noqa: E501
+
+
+ :return: The url of this WebcaptureEntityCdx. # noqa: E501
+ :rtype: str
+ """
+ return self._url
+
+ @url.setter
+ def url(self, url):
+ """Sets the url of this WebcaptureEntityCdx.
+
+
+ :param url: The url of this WebcaptureEntityCdx. # noqa: E501
+ :type: str
+ """
+ if url is None:
+ raise ValueError("Invalid value for `url`, must not be `None`") # noqa: E501
+
+ self._url = url
+
+ @property
+ def mimetype(self):
+ """Gets the mimetype of this WebcaptureEntityCdx. # noqa: E501
+
+
+ :return: The mimetype of this WebcaptureEntityCdx. # noqa: E501
+ :rtype: str
+ """
+ return self._mimetype
+
+ @mimetype.setter
+ def mimetype(self, mimetype):
+ """Sets the mimetype of this WebcaptureEntityCdx.
+
+
+ :param mimetype: The mimetype of this WebcaptureEntityCdx. # noqa: E501
+ :type: str
+ """
+
+ self._mimetype = mimetype
+
+ @property
+ def status_code(self):
+ """Gets the status_code of this WebcaptureEntityCdx. # noqa: E501
+
+
+ :return: The status_code of this WebcaptureEntityCdx. # noqa: E501
+ :rtype: int
+ """
+ return self._status_code
+
+ @status_code.setter
+ def status_code(self, status_code):
+ """Sets the status_code of this WebcaptureEntityCdx.
+
+
+ :param status_code: The status_code of this WebcaptureEntityCdx. # noqa: E501
+ :type: int
+ """
+
+ self._status_code = status_code
+
+ @property
+ def sha1(self):
+ """Gets the sha1 of this WebcaptureEntityCdx. # noqa: E501
+
+
+ :return: The sha1 of this WebcaptureEntityCdx. # noqa: E501
+ :rtype: str
+ """
+ return self._sha1
+
+ @sha1.setter
+ def sha1(self, sha1):
+ """Sets the sha1 of this WebcaptureEntityCdx.
+
+
+ :param sha1: The sha1 of this WebcaptureEntityCdx. # noqa: E501
+ :type: str
+ """
+ if sha1 is None:
+ raise ValueError("Invalid value for `sha1`, must not be `None`") # noqa: E501
+ if sha1 is not None and len(sha1) > 40:
+ raise ValueError("Invalid value for `sha1`, length must be less than or equal to `40`") # noqa: E501
+ if sha1 is not None and len(sha1) < 40:
+ raise ValueError("Invalid value for `sha1`, length must be greater than or equal to `40`") # noqa: E501
+ if sha1 is not None and not re.search('[a-f0-9]{40}', sha1): # noqa: E501
+ raise ValueError("Invalid value for `sha1`, must be a follow pattern or equal to `/[a-f0-9]{40}/`") # noqa: E501
+
+ self._sha1 = sha1
+
+ @property
+ def sha256(self):
+ """Gets the sha256 of this WebcaptureEntityCdx. # noqa: E501
+
+
+ :return: The sha256 of this WebcaptureEntityCdx. # noqa: E501
+ :rtype: str
+ """
+ return self._sha256
+
+ @sha256.setter
+ def sha256(self, sha256):
+ """Sets the sha256 of this WebcaptureEntityCdx.
+
+
+ :param sha256: The sha256 of this WebcaptureEntityCdx. # noqa: E501
+ :type: str
+ """
+ if sha256 is not None and len(sha256) > 64:
+ raise ValueError("Invalid value for `sha256`, length must be less than or equal to `64`") # noqa: E501
+ if sha256 is not None and len(sha256) < 64:
+ raise ValueError("Invalid value for `sha256`, length must be greater than or equal to `64`") # noqa: E501
+ if sha256 is not None and not re.search('[a-f0-9]{64}', sha256): # noqa: E501
+ raise ValueError("Invalid value for `sha256`, must be a follow pattern or equal to `/[a-f0-9]{64}/`") # noqa: E501
+
+ self._sha256 = sha256
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, WebcaptureEntityCdx):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/models/work_entity.py b/python_client/fatcat_client/models/work_entity.py
new file mode 100644
index 00000000..13b40de5
--- /dev/null
+++ b/python_client/fatcat_client/models/work_entity.py
@@ -0,0 +1,272 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+import pprint
+import re # noqa: F401
+
+import six
+
+
+class WorkEntity(object):
+ """NOTE: This class is auto generated by the swagger code generator program.
+
+ Do not edit the class manually.
+ """
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'edit_extra': 'object',
+ 'extra': 'object',
+ 'redirect': 'str',
+ 'revision': 'str',
+ 'ident': 'str',
+ 'state': 'str'
+ }
+
+ attribute_map = {
+ 'edit_extra': 'edit_extra',
+ 'extra': 'extra',
+ 'redirect': 'redirect',
+ 'revision': 'revision',
+ 'ident': 'ident',
+ 'state': 'state'
+ }
+
+ def __init__(self, edit_extra=None, extra=None, redirect=None, revision=None, ident=None, state=None): # noqa: E501
+ """WorkEntity - a model defined in Swagger""" # noqa: E501
+
+ self._edit_extra = None
+ self._extra = None
+ self._redirect = None
+ self._revision = None
+ self._ident = None
+ self._state = None
+ self.discriminator = None
+
+ if edit_extra is not None:
+ self.edit_extra = edit_extra
+ if extra is not None:
+ self.extra = extra
+ if redirect is not None:
+ self.redirect = redirect
+ if revision is not None:
+ self.revision = revision
+ if ident is not None:
+ self.ident = ident
+ if state is not None:
+ self.state = state
+
+ @property
+ def edit_extra(self):
+ """Gets the edit_extra of this WorkEntity. # noqa: E501
+
+
+ :return: The edit_extra of this WorkEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._edit_extra
+
+ @edit_extra.setter
+ def edit_extra(self, edit_extra):
+ """Sets the edit_extra of this WorkEntity.
+
+
+ :param edit_extra: The edit_extra of this WorkEntity. # noqa: E501
+ :type: object
+ """
+
+ self._edit_extra = edit_extra
+
+ @property
+ def extra(self):
+ """Gets the extra of this WorkEntity. # noqa: E501
+
+
+ :return: The extra of this WorkEntity. # noqa: E501
+ :rtype: object
+ """
+ return self._extra
+
+ @extra.setter
+ def extra(self, extra):
+ """Sets the extra of this WorkEntity.
+
+
+ :param extra: The extra of this WorkEntity. # noqa: E501
+ :type: object
+ """
+
+ self._extra = extra
+
+ @property
+ def redirect(self):
+ """Gets the redirect of this WorkEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The redirect of this WorkEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._redirect
+
+ @redirect.setter
+ def redirect(self, redirect):
+ """Sets the redirect of this WorkEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param redirect: The redirect of this WorkEntity. # noqa: E501
+ :type: str
+ """
+ if redirect is not None and len(redirect) > 26:
+ raise ValueError("Invalid value for `redirect`, length must be less than or equal to `26`") # noqa: E501
+ if redirect is not None and len(redirect) < 26:
+ raise ValueError("Invalid value for `redirect`, length must be greater than or equal to `26`") # noqa: E501
+ if redirect is not None and not re.search('[a-zA-Z2-7]{26}', redirect): # noqa: E501
+ raise ValueError("Invalid value for `redirect`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._redirect = redirect
+
+ @property
+ def revision(self):
+ """Gets the revision of this WorkEntity. # noqa: E501
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :return: The revision of this WorkEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._revision
+
+ @revision.setter
+ def revision(self, revision):
+ """Sets the revision of this WorkEntity.
+
+ UUID (lower-case, dash-separated, hex-encoded 128-bit) # noqa: E501
+
+ :param revision: The revision of this WorkEntity. # noqa: E501
+ :type: str
+ """
+ if revision is not None and len(revision) > 36:
+ raise ValueError("Invalid value for `revision`, length must be less than or equal to `36`") # noqa: E501
+ if revision is not None and len(revision) < 36:
+ raise ValueError("Invalid value for `revision`, length must be greater than or equal to `36`") # noqa: E501
+ if revision is not None and not re.search('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', revision): # noqa: E501
+ raise ValueError("Invalid value for `revision`, must be a follow pattern or equal to `/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/`") # noqa: E501
+
+ self._revision = revision
+
+ @property
+ def ident(self):
+ """Gets the ident of this WorkEntity. # noqa: E501
+
+ base32-encoded unique identifier # noqa: E501
+
+ :return: The ident of this WorkEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._ident
+
+ @ident.setter
+ def ident(self, ident):
+ """Sets the ident of this WorkEntity.
+
+ base32-encoded unique identifier # noqa: E501
+
+ :param ident: The ident of this WorkEntity. # noqa: E501
+ :type: str
+ """
+ if ident is not None and len(ident) > 26:
+ raise ValueError("Invalid value for `ident`, length must be less than or equal to `26`") # noqa: E501
+ if ident is not None and len(ident) < 26:
+ raise ValueError("Invalid value for `ident`, length must be greater than or equal to `26`") # noqa: E501
+ if ident is not None and not re.search('[a-zA-Z2-7]{26}', ident): # noqa: E501
+ raise ValueError("Invalid value for `ident`, must be a follow pattern or equal to `/[a-zA-Z2-7]{26}/`") # noqa: E501
+
+ self._ident = ident
+
+ @property
+ def state(self):
+ """Gets the state of this WorkEntity. # noqa: E501
+
+
+ :return: The state of this WorkEntity. # noqa: E501
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """Sets the state of this WorkEntity.
+
+
+ :param state: The state of this WorkEntity. # noqa: E501
+ :type: str
+ """
+ allowed_values = ["wip", "active", "redirect", "deleted"] # noqa: E501
+ if state not in allowed_values:
+ raise ValueError(
+ "Invalid value for `state` ({0}), must be one of {1}" # noqa: E501
+ .format(state, allowed_values)
+ )
+
+ self._state = state
+
+ def to_dict(self):
+ """Returns the model properties as a dict"""
+ result = {}
+
+ for attr, _ in six.iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """Returns the string representation of the model"""
+ return pprint.pformat(self.to_dict())
+
+ def __repr__(self):
+ """For `print` and `pprint`"""
+ return self.to_str()
+
+ def __eq__(self, other):
+ """Returns true if both objects are equal"""
+ if not isinstance(other, WorkEntity):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """Returns true if both objects are not equal"""
+ return not self == other
diff --git a/python_client/fatcat_client/rest.py b/python_client/fatcat_client/rest.py
new file mode 100644
index 00000000..5c322c6b
--- /dev/null
+++ b/python_client/fatcat_client/rest.py
@@ -0,0 +1,323 @@
+# coding: utf-8
+
+"""
+ fatcat
+
+ A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata # noqa: E501
+
+ OpenAPI spec version: 0.1.0
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+
+from __future__ import absolute_import
+
+import io
+import json
+import logging
+import re
+import ssl
+
+import certifi
+# python 2 and python 3 compatibility library
+import six
+from six.moves.urllib.parse import urlencode
+
+try:
+ import urllib3
+except ImportError:
+ raise ImportError('Swagger python client requires urllib3.')
+
+
+logger = logging.getLogger(__name__)
+
+
+class RESTResponse(io.IOBase):
+
+ def __init__(self, resp):
+ self.urllib3_response = resp
+ self.status = resp.status
+ self.reason = resp.reason
+ self.data = resp.data
+
+ def getheaders(self):
+ """Returns a dictionary of the response headers."""
+ return self.urllib3_response.getheaders()
+
+ def getheader(self, name, default=None):
+ """Returns a given response header."""
+ return self.urllib3_response.getheader(name, default)
+
+
+class RESTClientObject(object):
+
+ def __init__(self, configuration, pools_size=4, maxsize=None):
+ # urllib3.PoolManager will pass all kw parameters to connectionpool
+ # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501
+ # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501
+ # maxsize is the number of requests to host that are allowed in parallel # noqa: E501
+ # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501
+
+ # cert_reqs
+ if configuration.verify_ssl:
+ cert_reqs = ssl.CERT_REQUIRED
+ else:
+ cert_reqs = ssl.CERT_NONE
+
+ # ca_certs
+ if configuration.ssl_ca_cert:
+ ca_certs = configuration.ssl_ca_cert
+ else:
+ # if not set certificate file, use Mozilla's root certificates.
+ ca_certs = certifi.where()
+
+ addition_pool_args = {}
+ if configuration.assert_hostname is not None:
+ addition_pool_args['assert_hostname'] = configuration.assert_hostname # noqa: E501
+
+ if maxsize is None:
+ if configuration.connection_pool_maxsize is not None:
+ maxsize = configuration.connection_pool_maxsize
+ else:
+ maxsize = 4
+
+ # https pool manager
+ if configuration.proxy:
+ self.pool_manager = urllib3.ProxyManager(
+ num_pools=pools_size,
+ maxsize=maxsize,
+ cert_reqs=cert_reqs,
+ ca_certs=ca_certs,
+ cert_file=configuration.cert_file,
+ key_file=configuration.key_file,
+ proxy_url=configuration.proxy,
+ **addition_pool_args
+ )
+ else:
+ self.pool_manager = urllib3.PoolManager(
+ num_pools=pools_size,
+ maxsize=maxsize,
+ cert_reqs=cert_reqs,
+ ca_certs=ca_certs,
+ cert_file=configuration.cert_file,
+ key_file=configuration.key_file,
+ **addition_pool_args
+ )
+
+ def request(self, method, url, query_params=None, headers=None,
+ body=None, post_params=None, _preload_content=True,
+ _request_timeout=None):
+ """Perform requests.
+
+ :param method: http request method
+ :param url: http request url
+ :param query_params: query parameters in the url
+ :param headers: http request headers
+ :param body: request json body, for `application/json`
+ :param post_params: request post parameters,
+ `application/x-www-form-urlencoded`
+ and `multipart/form-data`
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
+ be returned without reading/decoding response
+ data. Default is True.
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ """
+ method = method.upper()
+ assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
+ 'PATCH', 'OPTIONS']
+
+ if post_params and body:
+ raise ValueError(
+ "body parameter cannot be used with post_params parameter."
+ )
+
+ post_params = post_params or {}
+ headers = headers or {}
+
+ timeout = None
+ if _request_timeout:
+ if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): # noqa: E501,F821
+ timeout = urllib3.Timeout(total=_request_timeout)
+ elif (isinstance(_request_timeout, tuple) and
+ len(_request_timeout) == 2):
+ timeout = urllib3.Timeout(
+ connect=_request_timeout[0], read=_request_timeout[1])
+
+ if 'Content-Type' not in headers:
+ headers['Content-Type'] = 'application/json'
+
+ try:
+ # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
+ if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
+ if query_params:
+ url += '?' + urlencode(query_params)
+ if re.search('json', headers['Content-Type'], re.IGNORECASE):
+ request_body = None
+ if body is not None:
+ request_body = json.dumps(body)
+ r = self.pool_manager.request(
+ method, url,
+ body=request_body,
+ preload_content=_preload_content,
+ timeout=timeout,
+ headers=headers)
+ elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501
+ r = self.pool_manager.request(
+ method, url,
+ fields=post_params,
+ encode_multipart=False,
+ preload_content=_preload_content,
+ timeout=timeout,
+ headers=headers)
+ elif headers['Content-Type'] == 'multipart/form-data':
+ # must del headers['Content-Type'], or the correct
+ # Content-Type which generated by urllib3 will be
+ # overwritten.
+ del headers['Content-Type']
+ r = self.pool_manager.request(
+ method, url,
+ fields=post_params,
+ encode_multipart=True,
+ preload_content=_preload_content,
+ timeout=timeout,
+ headers=headers)
+ # Pass a `string` parameter directly in the body to support
+ # other content types than Json when `body` argument is
+ # provided in serialized form
+ elif isinstance(body, str):
+ request_body = body
+ r = self.pool_manager.request(
+ method, url,
+ body=request_body,
+ preload_content=_preload_content,
+ timeout=timeout,
+ headers=headers)
+ else:
+ # Cannot generate the request from given parameters
+ msg = """Cannot prepare a request message for provided
+ arguments. Please check that your arguments match
+ declared content type."""
+ raise ApiException(status=0, reason=msg)
+ # For `GET`, `HEAD`
+ else:
+ r = self.pool_manager.request(method, url,
+ fields=query_params,
+ preload_content=_preload_content,
+ timeout=timeout,
+ headers=headers)
+ except urllib3.exceptions.SSLError as e:
+ msg = "{0}\n{1}".format(type(e).__name__, str(e))
+ raise ApiException(status=0, reason=msg)
+
+ if _preload_content:
+ r = RESTResponse(r)
+
+ # In the python 3, the response.data is bytes.
+ # we need to decode it to string.
+ if six.PY3:
+ r.data = r.data.decode('utf8')
+
+ # log response body
+ logger.debug("response body: %s", r.data)
+
+ if not 200 <= r.status <= 299:
+ raise ApiException(http_resp=r)
+
+ return r
+
+ def GET(self, url, headers=None, query_params=None, _preload_content=True,
+ _request_timeout=None):
+ return self.request("GET", url,
+ headers=headers,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ query_params=query_params)
+
+ def HEAD(self, url, headers=None, query_params=None, _preload_content=True,
+ _request_timeout=None):
+ return self.request("HEAD", url,
+ headers=headers,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ query_params=query_params)
+
+ def OPTIONS(self, url, headers=None, query_params=None, post_params=None,
+ body=None, _preload_content=True, _request_timeout=None):
+ return self.request("OPTIONS", url,
+ headers=headers,
+ query_params=query_params,
+ post_params=post_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+
+ def DELETE(self, url, headers=None, query_params=None, body=None,
+ _preload_content=True, _request_timeout=None):
+ return self.request("DELETE", url,
+ headers=headers,
+ query_params=query_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+
+ def POST(self, url, headers=None, query_params=None, post_params=None,
+ body=None, _preload_content=True, _request_timeout=None):
+ return self.request("POST", url,
+ headers=headers,
+ query_params=query_params,
+ post_params=post_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+
+ def PUT(self, url, headers=None, query_params=None, post_params=None,
+ body=None, _preload_content=True, _request_timeout=None):
+ return self.request("PUT", url,
+ headers=headers,
+ query_params=query_params,
+ post_params=post_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+
+ def PATCH(self, url, headers=None, query_params=None, post_params=None,
+ body=None, _preload_content=True, _request_timeout=None):
+ return self.request("PATCH", url,
+ headers=headers,
+ query_params=query_params,
+ post_params=post_params,
+ _preload_content=_preload_content,
+ _request_timeout=_request_timeout,
+ body=body)
+
+
+class ApiException(Exception):
+
+ def __init__(self, status=None, reason=None, http_resp=None):
+ if http_resp:
+ self.status = http_resp.status
+ self.reason = http_resp.reason
+ self.body = http_resp.data
+ self.headers = http_resp.getheaders()
+ else:
+ self.status = status
+ self.reason = reason
+ self.body = None
+ self.headers = None
+
+ def __str__(self):
+ """Custom error messages for exception"""
+ error_message = "({0})\n"\
+ "Reason: {1}\n".format(self.status, self.reason)
+ if self.headers:
+ error_message += "HTTP response headers: {0}\n".format(
+ self.headers)
+
+ if self.body:
+ error_message += "HTTP response body: {0}\n".format(self.body)
+
+ return error_message