aboutsummaryrefslogtreecommitdiffstats
path: root/python_client/fatcat_client/models
diff options
context:
space:
mode:
Diffstat (limited to 'python_client/fatcat_client/models')
-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
26 files changed, 6991 insertions, 0 deletions
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