teamdbapi 3.0.0__py3-none-any.whl → 3.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. teamdbapi/__init__.py +15 -0
  2. teamdbapi/api/__init__.py +1 -0
  3. teamdbapi/api/assembly_api.py +4 -4
  4. teamdbapi/api/component_api.py +117 -0
  5. teamdbapi/api/edit_api.py +89 -0
  6. teamdbapi/api/import_export_api.py +12 -12
  7. teamdbapi/api/issue_api.py +1537 -0
  8. teamdbapi/api/lap_report_api.py +2 -2
  9. teamdbapi/api/part_api.py +481 -0
  10. teamdbapi/api/report_api.py +2 -2
  11. teamdbapi/api/revision_api.py +111 -6
  12. teamdbapi/api/value_field_api.py +2 -2
  13. teamdbapi/models/__init__.py +14 -0
  14. teamdbapi/models/add_part_car_parameter_arg.py +396 -0
  15. teamdbapi/models/car_parameters_context.py +31 -3
  16. teamdbapi/models/compare_options.py +2 -2
  17. teamdbapi/models/component.py +87 -3
  18. teamdbapi/models/file_revision_info.py +199 -0
  19. teamdbapi/models/import_parameters_args.py +2 -2
  20. teamdbapi/models/import_revisions_args.py +173 -0
  21. teamdbapi/models/import_revisions_info.py +197 -0
  22. teamdbapi/models/import_revisions_results.py +170 -0
  23. teamdbapi/models/issue.py +674 -0
  24. teamdbapi/models/issue_custom_field_value.py +319 -0
  25. teamdbapi/models/issue_priority.py +227 -0
  26. teamdbapi/models/issue_project.py +229 -0
  27. teamdbapi/models/issue_sector.py +199 -0
  28. teamdbapi/models/issue_status.py +284 -0
  29. teamdbapi/models/issue_type.py +199 -0
  30. teamdbapi/models/issue_workflow.py +199 -0
  31. teamdbapi/models/lap_report_options.py +2 -2
  32. teamdbapi/models/parameter_cross_table.py +4 -4
  33. teamdbapi/models/part.py +31 -3
  34. teamdbapi/models/part_car_parameters.py +561 -0
  35. teamdbapi/models/revision.py +37 -9
  36. teamdbapi/models/revision_value.py +31 -3
  37. teamdbapi/models/script.py +2 -2
  38. teamdbapi/models/target.py +4 -4
  39. teamdbapi/models/version.py +4 -4
  40. {teamdbapi-3.0.0.dist-info → teamdbapi-3.3.0.dist-info}/METADATA +3 -3
  41. {teamdbapi-3.0.0.dist-info → teamdbapi-3.3.0.dist-info}/RECORD +43 -28
  42. {teamdbapi-3.0.0.dist-info → teamdbapi-3.3.0.dist-info}/LICENSE +0 -0
  43. {teamdbapi-3.0.0.dist-info → teamdbapi-3.3.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,229 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Trackside Software TeamDB API v2.0
5
+
6
+ This API enables you to access TeamDB data # noqa: E501
7
+
8
+ OpenAPI spec version: 2.0
9
+ Contact: support@trackside.fr
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+
19
+ class IssueProject(object):
20
+ """NOTE: This class is auto generated by the swagger code generator program.
21
+
22
+ Do not edit the class manually.
23
+ """
24
+ """
25
+ Attributes:
26
+ swagger_types (dict): The key is attribute name
27
+ and the value is attribute type.
28
+ attribute_map (dict): The key is attribute name
29
+ and the value is json key in definition.
30
+ """
31
+ swagger_types = {
32
+ 'id': 'str',
33
+ 'name': 'str',
34
+ 'description': 'str',
35
+ 'issue_id_format': 'str',
36
+ 'workflow_id': 'str'
37
+ }
38
+
39
+ attribute_map = {
40
+ 'id': 'Id',
41
+ 'name': 'Name',
42
+ 'description': 'Description',
43
+ 'issue_id_format': 'IssueIdFormat',
44
+ 'workflow_id': 'WorkflowId'
45
+ }
46
+
47
+ def __init__(self, id=None, name=None, description=None, issue_id_format=None, workflow_id=None): # noqa: E501
48
+ """IssueProject - a model defined in Swagger""" # noqa: E501
49
+ self._id = None
50
+ self._name = None
51
+ self._description = None
52
+ self._issue_id_format = None
53
+ self._workflow_id = None
54
+ self.discriminator = None
55
+ self.id = id
56
+ self.name = name
57
+ if description is not None:
58
+ self.description = description
59
+ self.issue_id_format = issue_id_format
60
+ self.workflow_id = workflow_id
61
+
62
+ @property
63
+ def id(self):
64
+ """Gets the id of this IssueProject. # noqa: E501
65
+
66
+ Unique identifier of the project Set the Id to Guid.Empty (00000000-0000-0000-0000-000000000000) if you want to create a new project # noqa: E501
67
+
68
+ :return: The id of this IssueProject. # noqa: E501
69
+ :rtype: str
70
+ """
71
+ return self._id
72
+
73
+ @id.setter
74
+ def id(self, id):
75
+ """Sets the id of this IssueProject.
76
+
77
+ Unique identifier of the project Set the Id to Guid.Empty (00000000-0000-0000-0000-000000000000) if you want to create a new project # noqa: E501
78
+
79
+ :param id: The id of this IssueProject. # noqa: E501
80
+ :type: str
81
+ """
82
+ if id is None:
83
+ raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501
84
+
85
+ self._id = id
86
+
87
+ @property
88
+ def name(self):
89
+ """Gets the name of this IssueProject. # noqa: E501
90
+
91
+ Name of the project # noqa: E501
92
+
93
+ :return: The name of this IssueProject. # noqa: E501
94
+ :rtype: str
95
+ """
96
+ return self._name
97
+
98
+ @name.setter
99
+ def name(self, name):
100
+ """Sets the name of this IssueProject.
101
+
102
+ Name of the project # noqa: E501
103
+
104
+ :param name: The name of this IssueProject. # noqa: E501
105
+ :type: str
106
+ """
107
+ if name is None:
108
+ raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
109
+
110
+ self._name = name
111
+
112
+ @property
113
+ def description(self):
114
+ """Gets the description of this IssueProject. # noqa: E501
115
+
116
+ Description of the project # noqa: E501
117
+
118
+ :return: The description of this IssueProject. # noqa: E501
119
+ :rtype: str
120
+ """
121
+ return self._description
122
+
123
+ @description.setter
124
+ def description(self, description):
125
+ """Sets the description of this IssueProject.
126
+
127
+ Description of the project # noqa: E501
128
+
129
+ :param description: The description of this IssueProject. # noqa: E501
130
+ :type: str
131
+ """
132
+
133
+ self._description = description
134
+
135
+ @property
136
+ def issue_id_format(self):
137
+ """Gets the issue_id_format of this IssueProject. # noqa: E501
138
+
139
+ Project HumanId format # noqa: E501
140
+
141
+ :return: The issue_id_format of this IssueProject. # noqa: E501
142
+ :rtype: str
143
+ """
144
+ return self._issue_id_format
145
+
146
+ @issue_id_format.setter
147
+ def issue_id_format(self, issue_id_format):
148
+ """Sets the issue_id_format of this IssueProject.
149
+
150
+ Project HumanId format # noqa: E501
151
+
152
+ :param issue_id_format: The issue_id_format of this IssueProject. # noqa: E501
153
+ :type: str
154
+ """
155
+ if issue_id_format is None:
156
+ raise ValueError("Invalid value for `issue_id_format`, must not be `None`") # noqa: E501
157
+
158
+ self._issue_id_format = issue_id_format
159
+
160
+ @property
161
+ def workflow_id(self):
162
+ """Gets the workflow_id of this IssueProject. # noqa: E501
163
+
164
+ Unique identifier of the associated workflow # noqa: E501
165
+
166
+ :return: The workflow_id of this IssueProject. # noqa: E501
167
+ :rtype: str
168
+ """
169
+ return self._workflow_id
170
+
171
+ @workflow_id.setter
172
+ def workflow_id(self, workflow_id):
173
+ """Sets the workflow_id of this IssueProject.
174
+
175
+ Unique identifier of the associated workflow # noqa: E501
176
+
177
+ :param workflow_id: The workflow_id of this IssueProject. # noqa: E501
178
+ :type: str
179
+ """
180
+ if workflow_id is None:
181
+ raise ValueError("Invalid value for `workflow_id`, must not be `None`") # noqa: E501
182
+
183
+ self._workflow_id = workflow_id
184
+
185
+ def to_dict(self):
186
+ """Returns the model properties as a dict"""
187
+ result = {}
188
+
189
+ for attr, _ in six.iteritems(self.swagger_types):
190
+ value = getattr(self, attr)
191
+ if isinstance(value, list):
192
+ result[attr] = list(map(
193
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
194
+ value
195
+ ))
196
+ elif hasattr(value, "to_dict"):
197
+ result[attr] = value.to_dict()
198
+ elif isinstance(value, dict):
199
+ result[attr] = dict(map(
200
+ lambda item: (item[0], item[1].to_dict())
201
+ if hasattr(item[1], "to_dict") else item,
202
+ value.items()
203
+ ))
204
+ else:
205
+ result[attr] = value
206
+ if issubclass(IssueProject, dict):
207
+ for key, value in self.items():
208
+ result[key] = value
209
+
210
+ return result
211
+
212
+ def to_str(self):
213
+ """Returns the string representation of the model"""
214
+ return pprint.pformat(self.to_dict())
215
+
216
+ def __repr__(self):
217
+ """For `print` and `pprint`"""
218
+ return self.to_str()
219
+
220
+ def __eq__(self, other):
221
+ """Returns true if both objects are equal"""
222
+ if not isinstance(other, IssueProject):
223
+ return False
224
+
225
+ return self.__dict__ == other.__dict__
226
+
227
+ def __ne__(self, other):
228
+ """Returns true if both objects are not equal"""
229
+ return not self == other
@@ -0,0 +1,199 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Trackside Software TeamDB API v2.0
5
+
6
+ This API enables you to access TeamDB data # noqa: E501
7
+
8
+ OpenAPI spec version: 2.0
9
+ Contact: support@trackside.fr
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+
19
+ class IssueSector(object):
20
+ """NOTE: This class is auto generated by the swagger code generator program.
21
+
22
+ Do not edit the class manually.
23
+ """
24
+ """
25
+ Attributes:
26
+ swagger_types (dict): The key is attribute name
27
+ and the value is attribute type.
28
+ attribute_map (dict): The key is attribute name
29
+ and the value is json key in definition.
30
+ """
31
+ swagger_types = {
32
+ 'id': 'str',
33
+ 'name': 'str',
34
+ 'default': 'bool',
35
+ 'obsolete': 'bool'
36
+ }
37
+
38
+ attribute_map = {
39
+ 'id': 'Id',
40
+ 'name': 'Name',
41
+ 'default': 'Default',
42
+ 'obsolete': 'Obsolete'
43
+ }
44
+
45
+ def __init__(self, id=None, name=None, default=None, obsolete=None): # noqa: E501
46
+ """IssueSector - a model defined in Swagger""" # noqa: E501
47
+ self._id = None
48
+ self._name = None
49
+ self._default = None
50
+ self._obsolete = None
51
+ self.discriminator = None
52
+ self.id = id
53
+ self.name = name
54
+ if default is not None:
55
+ self.default = default
56
+ if obsolete is not None:
57
+ self.obsolete = obsolete
58
+
59
+ @property
60
+ def id(self):
61
+ """Gets the id of this IssueSector. # noqa: E501
62
+
63
+ The Id of the item. Set the Id to Guid.Empty (00000000-0000-0000-0000-000000000000) if you want to create a new issue list item # noqa: E501
64
+
65
+ :return: The id of this IssueSector. # noqa: E501
66
+ :rtype: str
67
+ """
68
+ return self._id
69
+
70
+ @id.setter
71
+ def id(self, id):
72
+ """Sets the id of this IssueSector.
73
+
74
+ The Id of the item. Set the Id to Guid.Empty (00000000-0000-0000-0000-000000000000) if you want to create a new issue list item # noqa: E501
75
+
76
+ :param id: The id of this IssueSector. # noqa: E501
77
+ :type: str
78
+ """
79
+ if id is None:
80
+ raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501
81
+
82
+ self._id = id
83
+
84
+ @property
85
+ def name(self):
86
+ """Gets the name of this IssueSector. # noqa: E501
87
+
88
+ The name of the item. # noqa: E501
89
+
90
+ :return: The name of this IssueSector. # noqa: E501
91
+ :rtype: str
92
+ """
93
+ return self._name
94
+
95
+ @name.setter
96
+ def name(self, name):
97
+ """Sets the name of this IssueSector.
98
+
99
+ The name of the item. # noqa: E501
100
+
101
+ :param name: The name of this IssueSector. # noqa: E501
102
+ :type: str
103
+ """
104
+ if name is None:
105
+ raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
106
+
107
+ self._name = name
108
+
109
+ @property
110
+ def default(self):
111
+ """Gets the default of this IssueSector. # noqa: E501
112
+
113
+ Define whether the item is the default one or not. # noqa: E501
114
+
115
+ :return: The default of this IssueSector. # noqa: E501
116
+ :rtype: bool
117
+ """
118
+ return self._default
119
+
120
+ @default.setter
121
+ def default(self, default):
122
+ """Sets the default of this IssueSector.
123
+
124
+ Define whether the item is the default one or not. # noqa: E501
125
+
126
+ :param default: The default of this IssueSector. # noqa: E501
127
+ :type: bool
128
+ """
129
+
130
+ self._default = default
131
+
132
+ @property
133
+ def obsolete(self):
134
+ """Gets the obsolete of this IssueSector. # noqa: E501
135
+
136
+ Define whether the item is obsolete or not. # noqa: E501
137
+
138
+ :return: The obsolete of this IssueSector. # noqa: E501
139
+ :rtype: bool
140
+ """
141
+ return self._obsolete
142
+
143
+ @obsolete.setter
144
+ def obsolete(self, obsolete):
145
+ """Sets the obsolete of this IssueSector.
146
+
147
+ Define whether the item is obsolete or not. # noqa: E501
148
+
149
+ :param obsolete: The obsolete of this IssueSector. # noqa: E501
150
+ :type: bool
151
+ """
152
+
153
+ self._obsolete = obsolete
154
+
155
+ def to_dict(self):
156
+ """Returns the model properties as a dict"""
157
+ result = {}
158
+
159
+ for attr, _ in six.iteritems(self.swagger_types):
160
+ value = getattr(self, attr)
161
+ if isinstance(value, list):
162
+ result[attr] = list(map(
163
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
164
+ value
165
+ ))
166
+ elif hasattr(value, "to_dict"):
167
+ result[attr] = value.to_dict()
168
+ elif isinstance(value, dict):
169
+ result[attr] = dict(map(
170
+ lambda item: (item[0], item[1].to_dict())
171
+ if hasattr(item[1], "to_dict") else item,
172
+ value.items()
173
+ ))
174
+ else:
175
+ result[attr] = value
176
+ if issubclass(IssueSector, dict):
177
+ for key, value in self.items():
178
+ result[key] = value
179
+
180
+ return result
181
+
182
+ def to_str(self):
183
+ """Returns the string representation of the model"""
184
+ return pprint.pformat(self.to_dict())
185
+
186
+ def __repr__(self):
187
+ """For `print` and `pprint`"""
188
+ return self.to_str()
189
+
190
+ def __eq__(self, other):
191
+ """Returns true if both objects are equal"""
192
+ if not isinstance(other, IssueSector):
193
+ return False
194
+
195
+ return self.__dict__ == other.__dict__
196
+
197
+ def __ne__(self, other):
198
+ """Returns true if both objects are not equal"""
199
+ return not self == other
@@ -0,0 +1,284 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Trackside Software TeamDB API v2.0
5
+
6
+ This API enables you to access TeamDB data # noqa: E501
7
+
8
+ OpenAPI spec version: 2.0
9
+ Contact: support@trackside.fr
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+
19
+ class IssueStatus(object):
20
+ """NOTE: This class is auto generated by the swagger code generator program.
21
+
22
+ Do not edit the class manually.
23
+ """
24
+ """
25
+ Attributes:
26
+ swagger_types (dict): The key is attribute name
27
+ and the value is attribute type.
28
+ attribute_map (dict): The key is attribute name
29
+ and the value is json key in definition.
30
+ """
31
+ swagger_types = {
32
+ 'id': 'str',
33
+ 'human_id': 'str',
34
+ 'name': 'str',
35
+ 'description': 'str',
36
+ 'workflow_id': 'str',
37
+ 'initial': 'bool',
38
+ 'terminal': 'bool'
39
+ }
40
+
41
+ attribute_map = {
42
+ 'id': 'Id',
43
+ 'human_id': 'HumanId',
44
+ 'name': 'Name',
45
+ 'description': 'Description',
46
+ 'workflow_id': 'WorkflowId',
47
+ 'initial': 'Initial',
48
+ 'terminal': 'Terminal'
49
+ }
50
+
51
+ def __init__(self, id=None, human_id=None, name=None, description=None, workflow_id=None, initial=None, terminal=None): # noqa: E501
52
+ """IssueStatus - a model defined in Swagger""" # noqa: E501
53
+ self._id = None
54
+ self._human_id = None
55
+ self._name = None
56
+ self._description = None
57
+ self._workflow_id = None
58
+ self._initial = None
59
+ self._terminal = None
60
+ self.discriminator = None
61
+ self.id = id
62
+ if human_id is not None:
63
+ self.human_id = human_id
64
+ self.name = name
65
+ if description is not None:
66
+ self.description = description
67
+ self.workflow_id = workflow_id
68
+ if initial is not None:
69
+ self.initial = initial
70
+ if terminal is not None:
71
+ self.terminal = terminal
72
+
73
+ @property
74
+ def id(self):
75
+ """Gets the id of this IssueStatus. # noqa: E501
76
+
77
+ Unique identifier of the status Set the Id to Guid.Empty (00000000-0000-0000-0000-000000000000) if you want to create a new status # noqa: E501
78
+
79
+ :return: The id of this IssueStatus. # noqa: E501
80
+ :rtype: str
81
+ """
82
+ return self._id
83
+
84
+ @id.setter
85
+ def id(self, id):
86
+ """Sets the id of this IssueStatus.
87
+
88
+ Unique identifier of the status Set the Id to Guid.Empty (00000000-0000-0000-0000-000000000000) if you want to create a new status # noqa: E501
89
+
90
+ :param id: The id of this IssueStatus. # noqa: E501
91
+ :type: str
92
+ """
93
+ if id is None:
94
+ raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501
95
+
96
+ self._id = id
97
+
98
+ @property
99
+ def human_id(self):
100
+ """Gets the human_id of this IssueStatus. # noqa: E501
101
+
102
+ Human Id of the status # noqa: E501
103
+
104
+ :return: The human_id of this IssueStatus. # noqa: E501
105
+ :rtype: str
106
+ """
107
+ return self._human_id
108
+
109
+ @human_id.setter
110
+ def human_id(self, human_id):
111
+ """Sets the human_id of this IssueStatus.
112
+
113
+ Human Id of the status # noqa: E501
114
+
115
+ :param human_id: The human_id of this IssueStatus. # noqa: E501
116
+ :type: str
117
+ """
118
+
119
+ self._human_id = human_id
120
+
121
+ @property
122
+ def name(self):
123
+ """Gets the name of this IssueStatus. # noqa: E501
124
+
125
+ Name of the status # noqa: E501
126
+
127
+ :return: The name of this IssueStatus. # noqa: E501
128
+ :rtype: str
129
+ """
130
+ return self._name
131
+
132
+ @name.setter
133
+ def name(self, name):
134
+ """Sets the name of this IssueStatus.
135
+
136
+ Name of the status # noqa: E501
137
+
138
+ :param name: The name of this IssueStatus. # noqa: E501
139
+ :type: str
140
+ """
141
+ if name is None:
142
+ raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
143
+
144
+ self._name = name
145
+
146
+ @property
147
+ def description(self):
148
+ """Gets the description of this IssueStatus. # noqa: E501
149
+
150
+ Description of the status # noqa: E501
151
+
152
+ :return: The description of this IssueStatus. # noqa: E501
153
+ :rtype: str
154
+ """
155
+ return self._description
156
+
157
+ @description.setter
158
+ def description(self, description):
159
+ """Sets the description of this IssueStatus.
160
+
161
+ Description of the status # noqa: E501
162
+
163
+ :param description: The description of this IssueStatus. # noqa: E501
164
+ :type: str
165
+ """
166
+
167
+ self._description = description
168
+
169
+ @property
170
+ def workflow_id(self):
171
+ """Gets the workflow_id of this IssueStatus. # noqa: E501
172
+
173
+ Unique identifier of the associated workflow # noqa: E501
174
+
175
+ :return: The workflow_id of this IssueStatus. # noqa: E501
176
+ :rtype: str
177
+ """
178
+ return self._workflow_id
179
+
180
+ @workflow_id.setter
181
+ def workflow_id(self, workflow_id):
182
+ """Sets the workflow_id of this IssueStatus.
183
+
184
+ Unique identifier of the associated workflow # noqa: E501
185
+
186
+ :param workflow_id: The workflow_id of this IssueStatus. # noqa: E501
187
+ :type: str
188
+ """
189
+ if workflow_id is None:
190
+ raise ValueError("Invalid value for `workflow_id`, must not be `None`") # noqa: E501
191
+
192
+ self._workflow_id = workflow_id
193
+
194
+ @property
195
+ def initial(self):
196
+ """Gets the initial of this IssueStatus. # noqa: E501
197
+
198
+ Indicates whether this is the initial status # noqa: E501
199
+
200
+ :return: The initial of this IssueStatus. # noqa: E501
201
+ :rtype: bool
202
+ """
203
+ return self._initial
204
+
205
+ @initial.setter
206
+ def initial(self, initial):
207
+ """Sets the initial of this IssueStatus.
208
+
209
+ Indicates whether this is the initial status # noqa: E501
210
+
211
+ :param initial: The initial of this IssueStatus. # noqa: E501
212
+ :type: bool
213
+ """
214
+
215
+ self._initial = initial
216
+
217
+ @property
218
+ def terminal(self):
219
+ """Gets the terminal of this IssueStatus. # noqa: E501
220
+
221
+ Indicates whether this is the terminal status # noqa: E501
222
+
223
+ :return: The terminal of this IssueStatus. # noqa: E501
224
+ :rtype: bool
225
+ """
226
+ return self._terminal
227
+
228
+ @terminal.setter
229
+ def terminal(self, terminal):
230
+ """Sets the terminal of this IssueStatus.
231
+
232
+ Indicates whether this is the terminal status # noqa: E501
233
+
234
+ :param terminal: The terminal of this IssueStatus. # noqa: E501
235
+ :type: bool
236
+ """
237
+
238
+ self._terminal = terminal
239
+
240
+ def to_dict(self):
241
+ """Returns the model properties as a dict"""
242
+ result = {}
243
+
244
+ for attr, _ in six.iteritems(self.swagger_types):
245
+ value = getattr(self, attr)
246
+ if isinstance(value, list):
247
+ result[attr] = list(map(
248
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
249
+ value
250
+ ))
251
+ elif hasattr(value, "to_dict"):
252
+ result[attr] = value.to_dict()
253
+ elif isinstance(value, dict):
254
+ result[attr] = dict(map(
255
+ lambda item: (item[0], item[1].to_dict())
256
+ if hasattr(item[1], "to_dict") else item,
257
+ value.items()
258
+ ))
259
+ else:
260
+ result[attr] = value
261
+ if issubclass(IssueStatus, dict):
262
+ for key, value in self.items():
263
+ result[key] = value
264
+
265
+ return result
266
+
267
+ def to_str(self):
268
+ """Returns the string representation of the model"""
269
+ return pprint.pformat(self.to_dict())
270
+
271
+ def __repr__(self):
272
+ """For `print` and `pprint`"""
273
+ return self.to_str()
274
+
275
+ def __eq__(self, other):
276
+ """Returns true if both objects are equal"""
277
+ if not isinstance(other, IssueStatus):
278
+ return False
279
+
280
+ return self.__dict__ == other.__dict__
281
+
282
+ def __ne__(self, other):
283
+ """Returns true if both objects are not equal"""
284
+ return not self == other