flywheel-sdk 21.0.0__py2.py3-none-any.whl → 21.1.0rc0__py2.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.
- flywheel/__init__.py +51 -3
- flywheel/api/__init__.py +5 -0
- flywheel/api/audit_trail_api.py +8 -8
- flywheel/api/container_tasks_api.py +137 -0
- flywheel/api/form_responses_api.py +579 -0
- flywheel/api/jobs_api.py +97 -0
- flywheel/api/protocols_api.py +757 -0
- flywheel/api/staffing_pools_api.py +677 -0
- flywheel/api/tasks_api.py +897 -0
- flywheel/api_client.py +1 -1
- flywheel/configuration.py +2 -2
- flywheel/flywheel.py +369 -3
- flywheel/models/__init__.py +47 -4
- flywheel/models/action.py +3 -0
- flywheel/models/assignee.py +190 -0
- flywheel/models/assignee_type.py +28 -0
- flywheel/models/batch_create_filters.py +218 -0
- flywheel/models/{create_report_input.py → core_models_audit_trail_create_report_input.py} +24 -24
- flywheel/models/{modify_report_input.py → core_models_audit_trail_modify_report_input.py} +8 -8
- flywheel/models/{parent_type.py → core_models_search_parent_type.py} +1 -1
- flywheel/models/core_workflows_form_responses_models_form_parents.py +162 -0
- flywheel/models/core_workflows_form_responses_models_form_response_output.py +438 -0
- flywheel/models/core_workflows_reader_models_reader_task_parents.py +268 -0
- flywheel/models/current_user_output.py +31 -4
- flywheel/models/custom_field.py +404 -0
- flywheel/models/custom_form.py +242 -0
- flywheel/models/e_signature.py +241 -0
- flywheel/models/field_type.py +35 -0
- flywheel/models/form_response_base.py +310 -0
- flywheel/models/form_response_create.py +192 -0
- flywheel/models/libs_workflows_models_parent_type.py +31 -0
- flywheel/models/libs_workflows_models_task_status.py +31 -0
- flywheel/models/modify_user_input.py +31 -4
- flywheel/models/page_generic_form_response_output.py +217 -0
- flywheel/models/page_generic_protocol.py +242 -0
- flywheel/models/page_generic_reader_task_output.py +242 -0
- flywheel/models/page_generic_staffing_pool.py +242 -0
- flywheel/models/protocol.py +511 -0
- flywheel/models/protocol_e_signature_config.py +190 -0
- flywheel/models/protocol_input.py +352 -0
- flywheel/models/protocol_modify.py +275 -0
- flywheel/models/protocol_status.py +29 -0
- flywheel/models/reader_batch_create.py +460 -0
- flywheel/models/reader_task.py +723 -0
- flywheel/models/reader_task_config.py +188 -0
- flywheel/models/reader_task_create.py +541 -0
- flywheel/models/reader_task_modify.py +274 -0
- flywheel/models/reader_task_output.py +750 -0
- flywheel/models/reader_task_parent_details.py +295 -0
- flywheel/models/save_search_parent.py +4 -4
- flywheel/models/select_item.py +189 -0
- flywheel/models/staffing_pool.py +322 -0
- flywheel/models/staffing_pool_create.py +215 -0
- flywheel/models/staffing_pool_list.py +163 -0
- flywheel/models/staffing_pool_modify.py +217 -0
- flywheel/models/status_transitions.py +244 -0
- flywheel/models/task_assign.py +192 -0
- flywheel/models/task_facet.py +28 -0
- flywheel/models/task_parent_ref.py +243 -0
- flywheel/models/task_parent_ref_input.py +217 -0
- flywheel/models/task_priority.py +30 -0
- flywheel/models/task_submission.py +188 -0
- flywheel/models/user_input.py +31 -4
- flywheel/models/validation_rule.py +189 -0
- {flywheel_sdk-21.0.0.dist-info → flywheel_sdk-21.1.0rc0.dist-info}/METADATA +1 -1
- {flywheel_sdk-21.0.0.dist-info → flywheel_sdk-21.1.0rc0.dist-info}/RECORD +69 -21
- {flywheel_sdk-21.0.0.dist-info → flywheel_sdk-21.1.0rc0.dist-info}/WHEEL +0 -0
- {flywheel_sdk-21.0.0.dist-info → flywheel_sdk-21.1.0rc0.dist-info}/licenses/LICENSE.txt +0 -0
- {flywheel_sdk-21.0.0.dist-info → flywheel_sdk-21.1.0rc0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Flywheel
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: 0.0.1
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## NOTE: This file is auto generated by the swagger code generator program.
|
|
15
|
+
## Do not edit the file manually.
|
|
16
|
+
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import six
|
|
20
|
+
|
|
21
|
+
from flywheel.models.assignee import Assignee # noqa: F401,E501
|
|
22
|
+
from flywheel.models.batch_create_filters import BatchCreateFilters # noqa: F401,E501
|
|
23
|
+
from flywheel.models.task_priority import TaskPriority # noqa: F401,E501
|
|
24
|
+
|
|
25
|
+
class ReaderBatchCreate(object):
|
|
26
|
+
|
|
27
|
+
swagger_types = {
|
|
28
|
+
'type': 'str',
|
|
29
|
+
'subcategory': 'str',
|
|
30
|
+
'assignee': 'Assignee',
|
|
31
|
+
'staffing_pool': 'str',
|
|
32
|
+
'filters': 'BatchCreateFilters',
|
|
33
|
+
'protocol_id': 'str',
|
|
34
|
+
'project_id': 'str',
|
|
35
|
+
'description': 'str',
|
|
36
|
+
'due_date': 'datetime',
|
|
37
|
+
'priority': 'TaskPriority',
|
|
38
|
+
'status': 'libs__workflows___models__TaskStatus',
|
|
39
|
+
'tags': 'list[str]'
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
attribute_map = {
|
|
43
|
+
'type': 'type',
|
|
44
|
+
'subcategory': 'subcategory',
|
|
45
|
+
'assignee': 'assignee',
|
|
46
|
+
'staffing_pool': 'staffing_pool',
|
|
47
|
+
'filters': 'filters',
|
|
48
|
+
'protocol_id': 'protocol_id',
|
|
49
|
+
'project_id': 'project_id',
|
|
50
|
+
'description': 'description',
|
|
51
|
+
'due_date': 'due_date',
|
|
52
|
+
'priority': 'priority',
|
|
53
|
+
'status': 'status',
|
|
54
|
+
'tags': 'tags'
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
rattribute_map = {
|
|
58
|
+
'type': 'type',
|
|
59
|
+
'subcategory': 'subcategory',
|
|
60
|
+
'assignee': 'assignee',
|
|
61
|
+
'staffing_pool': 'staffing_pool',
|
|
62
|
+
'filters': 'filters',
|
|
63
|
+
'protocol_id': 'protocol_id',
|
|
64
|
+
'project_id': 'project_id',
|
|
65
|
+
'description': 'description',
|
|
66
|
+
'due_date': 'due_date',
|
|
67
|
+
'priority': 'priority',
|
|
68
|
+
'status': 'status',
|
|
69
|
+
'tags': 'tags'
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
def __init__(self, type='reader', subcategory=None, assignee=None, staffing_pool=None, filters=None, protocol_id=None, project_id=None, description=None, due_date=None, priority=None, status=None, tags=None): # noqa: E501
|
|
73
|
+
"""ReaderBatchCreate - a model defined in Swagger"""
|
|
74
|
+
super(ReaderBatchCreate, self).__init__()
|
|
75
|
+
|
|
76
|
+
self._type = None
|
|
77
|
+
self._subcategory = None
|
|
78
|
+
self._assignee = None
|
|
79
|
+
self._staffing_pool = None
|
|
80
|
+
self._filters = None
|
|
81
|
+
self._protocol_id = None
|
|
82
|
+
self._project_id = None
|
|
83
|
+
self._description = None
|
|
84
|
+
self._due_date = None
|
|
85
|
+
self._priority = None
|
|
86
|
+
self._status = None
|
|
87
|
+
self._tags = None
|
|
88
|
+
self.discriminator = None
|
|
89
|
+
self.alt_discriminator = None
|
|
90
|
+
|
|
91
|
+
if type is not None:
|
|
92
|
+
self.type = type
|
|
93
|
+
self.subcategory = subcategory
|
|
94
|
+
if assignee is not None:
|
|
95
|
+
self.assignee = assignee
|
|
96
|
+
if staffing_pool is not None:
|
|
97
|
+
self.staffing_pool = staffing_pool
|
|
98
|
+
self.filters = filters
|
|
99
|
+
self.protocol_id = protocol_id
|
|
100
|
+
self.project_id = project_id
|
|
101
|
+
if description is not None:
|
|
102
|
+
self.description = description
|
|
103
|
+
if due_date is not None:
|
|
104
|
+
self.due_date = due_date
|
|
105
|
+
if priority is not None:
|
|
106
|
+
self.priority = priority
|
|
107
|
+
if status is not None:
|
|
108
|
+
self.status = status
|
|
109
|
+
if tags is not None:
|
|
110
|
+
self.tags = tags
|
|
111
|
+
|
|
112
|
+
@property
|
|
113
|
+
def type(self):
|
|
114
|
+
"""Gets the type of this ReaderBatchCreate.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
:return: The type of this ReaderBatchCreate.
|
|
118
|
+
:rtype: str
|
|
119
|
+
"""
|
|
120
|
+
return self._type
|
|
121
|
+
|
|
122
|
+
@type.setter
|
|
123
|
+
def type(self, type):
|
|
124
|
+
"""Sets the type of this ReaderBatchCreate.
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
:param type: The type of this ReaderBatchCreate. # noqa: E501
|
|
128
|
+
:type: str
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
self._type = type
|
|
132
|
+
|
|
133
|
+
@property
|
|
134
|
+
def subcategory(self):
|
|
135
|
+
"""Gets the subcategory of this ReaderBatchCreate.
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
:return: The subcategory of this ReaderBatchCreate.
|
|
139
|
+
:rtype: str
|
|
140
|
+
"""
|
|
141
|
+
return self._subcategory
|
|
142
|
+
|
|
143
|
+
@subcategory.setter
|
|
144
|
+
def subcategory(self, subcategory):
|
|
145
|
+
"""Sets the subcategory of this ReaderBatchCreate.
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
:param subcategory: The subcategory of this ReaderBatchCreate. # noqa: E501
|
|
149
|
+
:type: str
|
|
150
|
+
"""
|
|
151
|
+
|
|
152
|
+
self._subcategory = subcategory
|
|
153
|
+
|
|
154
|
+
@property
|
|
155
|
+
def assignee(self):
|
|
156
|
+
"""Gets the assignee of this ReaderBatchCreate.
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
:return: The assignee of this ReaderBatchCreate.
|
|
160
|
+
:rtype: Assignee
|
|
161
|
+
"""
|
|
162
|
+
return self._assignee
|
|
163
|
+
|
|
164
|
+
@assignee.setter
|
|
165
|
+
def assignee(self, assignee):
|
|
166
|
+
"""Sets the assignee of this ReaderBatchCreate.
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
:param assignee: The assignee of this ReaderBatchCreate. # noqa: E501
|
|
170
|
+
:type: Assignee
|
|
171
|
+
"""
|
|
172
|
+
|
|
173
|
+
self._assignee = assignee
|
|
174
|
+
|
|
175
|
+
@property
|
|
176
|
+
def staffing_pool(self):
|
|
177
|
+
"""Gets the staffing_pool of this ReaderBatchCreate.
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
:return: The staffing_pool of this ReaderBatchCreate.
|
|
181
|
+
:rtype: str
|
|
182
|
+
"""
|
|
183
|
+
return self._staffing_pool
|
|
184
|
+
|
|
185
|
+
@staffing_pool.setter
|
|
186
|
+
def staffing_pool(self, staffing_pool):
|
|
187
|
+
"""Sets the staffing_pool of this ReaderBatchCreate.
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
:param staffing_pool: The staffing_pool of this ReaderBatchCreate. # noqa: E501
|
|
191
|
+
:type: str
|
|
192
|
+
"""
|
|
193
|
+
|
|
194
|
+
self._staffing_pool = staffing_pool
|
|
195
|
+
|
|
196
|
+
@property
|
|
197
|
+
def filters(self):
|
|
198
|
+
"""Gets the filters of this ReaderBatchCreate.
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
:return: The filters of this ReaderBatchCreate.
|
|
202
|
+
:rtype: BatchCreateFilters
|
|
203
|
+
"""
|
|
204
|
+
return self._filters
|
|
205
|
+
|
|
206
|
+
@filters.setter
|
|
207
|
+
def filters(self, filters):
|
|
208
|
+
"""Sets the filters of this ReaderBatchCreate.
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
:param filters: The filters of this ReaderBatchCreate. # noqa: E501
|
|
212
|
+
:type: BatchCreateFilters
|
|
213
|
+
"""
|
|
214
|
+
|
|
215
|
+
self._filters = filters
|
|
216
|
+
|
|
217
|
+
@property
|
|
218
|
+
def protocol_id(self):
|
|
219
|
+
"""Gets the protocol_id of this ReaderBatchCreate.
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
:return: The protocol_id of this ReaderBatchCreate.
|
|
223
|
+
:rtype: str
|
|
224
|
+
"""
|
|
225
|
+
return self._protocol_id
|
|
226
|
+
|
|
227
|
+
@protocol_id.setter
|
|
228
|
+
def protocol_id(self, protocol_id):
|
|
229
|
+
"""Sets the protocol_id of this ReaderBatchCreate.
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
:param protocol_id: The protocol_id of this ReaderBatchCreate. # noqa: E501
|
|
233
|
+
:type: str
|
|
234
|
+
"""
|
|
235
|
+
|
|
236
|
+
self._protocol_id = protocol_id
|
|
237
|
+
|
|
238
|
+
@property
|
|
239
|
+
def project_id(self):
|
|
240
|
+
"""Gets the project_id of this ReaderBatchCreate.
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
:return: The project_id of this ReaderBatchCreate.
|
|
244
|
+
:rtype: str
|
|
245
|
+
"""
|
|
246
|
+
return self._project_id
|
|
247
|
+
|
|
248
|
+
@project_id.setter
|
|
249
|
+
def project_id(self, project_id):
|
|
250
|
+
"""Sets the project_id of this ReaderBatchCreate.
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
:param project_id: The project_id of this ReaderBatchCreate. # noqa: E501
|
|
254
|
+
:type: str
|
|
255
|
+
"""
|
|
256
|
+
|
|
257
|
+
self._project_id = project_id
|
|
258
|
+
|
|
259
|
+
@property
|
|
260
|
+
def description(self):
|
|
261
|
+
"""Gets the description of this ReaderBatchCreate.
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
:return: The description of this ReaderBatchCreate.
|
|
265
|
+
:rtype: str
|
|
266
|
+
"""
|
|
267
|
+
return self._description
|
|
268
|
+
|
|
269
|
+
@description.setter
|
|
270
|
+
def description(self, description):
|
|
271
|
+
"""Sets the description of this ReaderBatchCreate.
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
:param description: The description of this ReaderBatchCreate. # noqa: E501
|
|
275
|
+
:type: str
|
|
276
|
+
"""
|
|
277
|
+
|
|
278
|
+
self._description = description
|
|
279
|
+
|
|
280
|
+
@property
|
|
281
|
+
def due_date(self):
|
|
282
|
+
"""Gets the due_date of this ReaderBatchCreate.
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
:return: The due_date of this ReaderBatchCreate.
|
|
286
|
+
:rtype: datetime
|
|
287
|
+
"""
|
|
288
|
+
return self._due_date
|
|
289
|
+
|
|
290
|
+
@due_date.setter
|
|
291
|
+
def due_date(self, due_date):
|
|
292
|
+
"""Sets the due_date of this ReaderBatchCreate.
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
:param due_date: The due_date of this ReaderBatchCreate. # noqa: E501
|
|
296
|
+
:type: datetime
|
|
297
|
+
"""
|
|
298
|
+
|
|
299
|
+
self._due_date = due_date
|
|
300
|
+
|
|
301
|
+
@property
|
|
302
|
+
def priority(self):
|
|
303
|
+
"""Gets the priority of this ReaderBatchCreate.
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
:return: The priority of this ReaderBatchCreate.
|
|
307
|
+
:rtype: TaskPriority
|
|
308
|
+
"""
|
|
309
|
+
return self._priority
|
|
310
|
+
|
|
311
|
+
@priority.setter
|
|
312
|
+
def priority(self, priority):
|
|
313
|
+
"""Sets the priority of this ReaderBatchCreate.
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
:param priority: The priority of this ReaderBatchCreate. # noqa: E501
|
|
317
|
+
:type: TaskPriority
|
|
318
|
+
"""
|
|
319
|
+
|
|
320
|
+
self._priority = priority
|
|
321
|
+
|
|
322
|
+
@property
|
|
323
|
+
def status(self):
|
|
324
|
+
"""Gets the status of this ReaderBatchCreate.
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
:return: The status of this ReaderBatchCreate.
|
|
328
|
+
:rtype: libs__workflows___models__TaskStatus
|
|
329
|
+
"""
|
|
330
|
+
return self._status
|
|
331
|
+
|
|
332
|
+
@status.setter
|
|
333
|
+
def status(self, status):
|
|
334
|
+
"""Sets the status of this ReaderBatchCreate.
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
:param status: The status of this ReaderBatchCreate. # noqa: E501
|
|
338
|
+
:type: libs__workflows___models__TaskStatus
|
|
339
|
+
"""
|
|
340
|
+
|
|
341
|
+
self._status = status
|
|
342
|
+
|
|
343
|
+
@property
|
|
344
|
+
def tags(self):
|
|
345
|
+
"""Gets the tags of this ReaderBatchCreate.
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
:return: The tags of this ReaderBatchCreate.
|
|
349
|
+
:rtype: list[str]
|
|
350
|
+
"""
|
|
351
|
+
return self._tags
|
|
352
|
+
|
|
353
|
+
@tags.setter
|
|
354
|
+
def tags(self, tags):
|
|
355
|
+
"""Sets the tags of this ReaderBatchCreate.
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
:param tags: The tags of this ReaderBatchCreate. # noqa: E501
|
|
359
|
+
:type: list[str]
|
|
360
|
+
"""
|
|
361
|
+
|
|
362
|
+
self._tags = tags
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
@staticmethod
|
|
366
|
+
def positional_to_model(value):
|
|
367
|
+
"""Converts a positional argument to a model value"""
|
|
368
|
+
return value
|
|
369
|
+
|
|
370
|
+
def return_value(self):
|
|
371
|
+
"""Unwraps return value from model"""
|
|
372
|
+
return self
|
|
373
|
+
|
|
374
|
+
def to_dict(self):
|
|
375
|
+
"""Returns the model properties as a dict"""
|
|
376
|
+
result = {}
|
|
377
|
+
|
|
378
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
379
|
+
value = getattr(self, attr)
|
|
380
|
+
if isinstance(value, list):
|
|
381
|
+
result[attr] = list(map(
|
|
382
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
383
|
+
value
|
|
384
|
+
))
|
|
385
|
+
elif hasattr(value, "to_dict"):
|
|
386
|
+
result[attr] = value.to_dict()
|
|
387
|
+
elif isinstance(value, dict):
|
|
388
|
+
result[attr] = dict(map(
|
|
389
|
+
lambda item: (item[0], item[1].to_dict())
|
|
390
|
+
if hasattr(item[1], "to_dict") else item,
|
|
391
|
+
value.items()
|
|
392
|
+
))
|
|
393
|
+
else:
|
|
394
|
+
result[attr] = value
|
|
395
|
+
|
|
396
|
+
return result
|
|
397
|
+
|
|
398
|
+
def to_str(self):
|
|
399
|
+
"""Returns the string representation of the model"""
|
|
400
|
+
return pprint.pformat(self.to_dict())
|
|
401
|
+
|
|
402
|
+
def __repr__(self):
|
|
403
|
+
"""For `print` and `pprint`"""
|
|
404
|
+
return self.to_str()
|
|
405
|
+
|
|
406
|
+
def __eq__(self, other):
|
|
407
|
+
"""Returns true if both objects are equal"""
|
|
408
|
+
if not isinstance(other, ReaderBatchCreate):
|
|
409
|
+
return False
|
|
410
|
+
|
|
411
|
+
return self.__dict__ == other.__dict__
|
|
412
|
+
|
|
413
|
+
def __ne__(self, other):
|
|
414
|
+
"""Returns true if both objects are not equal"""
|
|
415
|
+
return not self == other
|
|
416
|
+
|
|
417
|
+
# Container emulation
|
|
418
|
+
def __getitem__(self, key):
|
|
419
|
+
"""Returns the value of key"""
|
|
420
|
+
key = self._map_key(key)
|
|
421
|
+
return getattr(self, key)
|
|
422
|
+
|
|
423
|
+
def __setitem__(self, key, value):
|
|
424
|
+
"""Sets the value of key"""
|
|
425
|
+
key = self._map_key(key)
|
|
426
|
+
setattr(self, key, value)
|
|
427
|
+
|
|
428
|
+
def __contains__(self, key):
|
|
429
|
+
"""Checks if the given value is a key in this object"""
|
|
430
|
+
key = self._map_key(key, raise_on_error=False)
|
|
431
|
+
return key is not None
|
|
432
|
+
|
|
433
|
+
def keys(self):
|
|
434
|
+
"""Returns the list of json properties in the object"""
|
|
435
|
+
return self.__class__.rattribute_map.keys()
|
|
436
|
+
|
|
437
|
+
def values(self):
|
|
438
|
+
"""Returns the list of values in the object"""
|
|
439
|
+
for key in self.__class__.attribute_map.keys():
|
|
440
|
+
yield getattr(self, key)
|
|
441
|
+
|
|
442
|
+
def items(self):
|
|
443
|
+
"""Returns the list of json property to value mapping"""
|
|
444
|
+
for key, prop in self.__class__.rattribute_map.items():
|
|
445
|
+
yield key, getattr(self, prop)
|
|
446
|
+
|
|
447
|
+
def get(self, key, default=None):
|
|
448
|
+
"""Get the value of the provided json property, or default"""
|
|
449
|
+
key = self._map_key(key, raise_on_error=False)
|
|
450
|
+
if key:
|
|
451
|
+
return getattr(self, key, default)
|
|
452
|
+
return default
|
|
453
|
+
|
|
454
|
+
def _map_key(self, key, raise_on_error=True):
|
|
455
|
+
result = self.__class__.rattribute_map.get(key)
|
|
456
|
+
if result is None:
|
|
457
|
+
if raise_on_error:
|
|
458
|
+
raise AttributeError('Invalid attribute name: {}'.format(key))
|
|
459
|
+
return None
|
|
460
|
+
return '_' + result
|