wcs_api: handle empty dict in FormData.workflow (#39373)
This commit is contained in:
parent
8fc092f4d7
commit
3afc79b42e
|
@ -82,8 +82,7 @@ class FormDataWorkflow(BaseObject):
|
|||
|
||||
def __init__(self, wcs_api, **kwargs):
|
||||
super(FormDataWorkflow, self).__init__(wcs_api, **kwargs)
|
||||
if self.status is not None:
|
||||
self.status = BaseObject(wcs_api, **self.status)
|
||||
self.status = BaseObject(wcs_api, **self.status) if self.status else None
|
||||
self.fields = self.fields or {}
|
||||
|
||||
|
||||
|
@ -102,10 +101,8 @@ class Evolution(BaseObject):
|
|||
def __init__(self, wcs_api, **kwargs):
|
||||
super(Evolution, self).__init__(wcs_api, **kwargs)
|
||||
self.time = isodate.parse_datetime(self.time)
|
||||
if self.parts:
|
||||
self.parts = [BaseObject(wcs_api, **part) for part in self.parts]
|
||||
if self.who:
|
||||
self.who = EvolutionUser(wcs_api, **self.who)
|
||||
self.parts = [BaseObject(wcs_api, **part) for part in self.parts or []]
|
||||
self.who = EvolutionUser(wcs_api, **self.who) if self.who else None
|
||||
|
||||
|
||||
class FormData(BaseObject):
|
||||
|
@ -120,10 +117,8 @@ class FormData(BaseObject):
|
|||
self.forms = forms
|
||||
super(FormData, self).__init__(wcs_api, **kwargs)
|
||||
self.receipt_time = isodate.parse_datetime(self.receipt_time)
|
||||
if self.submission:
|
||||
self.submission = BaseObject(wcs_api, **self.submission)
|
||||
if self.workflow:
|
||||
self.workflow = FormDataWorkflow(wcs_api, **self.workflow)
|
||||
self.submission = BaseObject(wcs_api, **self.submission or {})
|
||||
self.workflow = FormDataWorkflow(wcs_api, **self.workflow or {})
|
||||
self.evolution = [Evolution(wcs_api, **evo) for evo in self.evolution or []]
|
||||
self.functions = {}
|
||||
self.concerned_roles = []
|
||||
|
@ -217,7 +212,7 @@ class Schema(BaseObject):
|
|||
def __init__(self, wcs_api, **kwargs):
|
||||
super(Schema, self).__init__(wcs_api, **kwargs)
|
||||
self.workflow = Workflow(wcs_api, **self.workflow)
|
||||
self.fields = [Field(wcs_api, **f) for f in self.fields]
|
||||
self.fields = [Field(wcs_api, **f) for f in self.fields or []]
|
||||
self.geolocations = sorted((k, v) for k, v in (self.geolocations or {}).items())
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue