feeder: skip evolutions with an unknown status (#13028)

This commit is contained in:
Benjamin Dauvergne 2016-11-11 04:12:41 +01:00
parent f517603aef
commit a38f52b5fd
1 changed files with 12 additions and 7 deletions

View File

@ -638,16 +638,21 @@ class WcsFormdefFeeder(object):
for evo in data.evolution:
if not evo.status:
continue
status_id = self.status_mapping[data.workflow.status.id]
generic_status_id = self.generic_status(
data.formdef.schema.workflow.statuses_map[evo.status])
if status == last_status:
try:
status = data.formdef.schema.workflow.statuses_map[evo.status]
except KeyError:
self.logger.warning('%s.%s unknown status in evolution %s',
data.formdef.schema.name, data.id, evo.status)
continue
status_id = self.status_mapping[status.id]
generic_status_id = self.generic_status(status)
evolution.append(
[0, status_id, evo.time, evo.time.date(), evo.time.hour])
if generic_status_id == last_status:
continue
generic_evolution.append(
[0, generic_status_id, evo.time, evo.time.date(), evo.time.hour])
evolution.append(
[0, status_id, evo.time, evo.time.date(), evo.time.hour])
last_status = status
last_status = generic_status_id
generic_evolution_values.append(generic_evolution)
evolution_values.append(evolution)
if not values: