From a192ee88bbaf7b50fc4004b0f27ab6607014e3da Mon Sep 17 00:00:00 2001 From: jonas-eberle Date: Sun, 28 Aug 2016 11:01:11 +0200 Subject: [PATCH] StatusSucceeded is not anymore related to update_status with 100% that could be set by the user. Closes #171 --- README.md | 6 ++++-- pywps/app/WPSResponse.py | 28 ++++++++++++++-------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 10aaf23ed..ee5b2446b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # PyWPS +[![Join the chat at https://gitter.im/geopython/pywps](https://badges.gitter.im/geopython/pywps.svg)](https://gitter.im/geopython/pywps?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python. @@ -27,8 +29,8 @@ pip install -r requirements-dev.txt # run unit tests python -m unittest tests # run code coverage -coverage run --source=pywps -m unittest tests -coverage report -m +python -m coverage run --source=pywps -m unittest tests +python -m coverage report -m ``` # Run web application diff --git a/pywps/app/WPSResponse.py b/pywps/app/WPSResponse.py index 5755a537d..a60c6fd35 100644 --- a/pywps/app/WPSResponse.py +++ b/pywps/app/WPSResponse.py @@ -155,14 +155,13 @@ def _construct_doc(self): # Status XML # return the correct response depending on the progress of the process - if self.status >= STATUS.STORE_AND_UPDATE_STATUS: + if self.status == STATUS.STORE_AND_UPDATE_STATUS: if self.status_percentage == 0: self.message = 'PyWPS Process %s accepted' % self.process.identifier status_doc = self._process_accepted() doc.append(status_doc) - #self.write_response_doc(doc) return doc - elif 0 < self.status_percentage < 100: + elif self.status_percentage > 0: status_doc = self._process_started() doc.append(status_doc) return doc @@ -175,20 +174,21 @@ def _construct_doc(self): # TODO: add paused status - status_doc = self._process_succeeded() - doc.append(status_doc) + if self.status == STATUS.DONE_STATUS: + status_doc = self._process_succeeded() + doc.append(status_doc) - # DataInputs and DataOutputs definition XML if lineage=true - if self.wps_request.lineage == 'true': - data_inputs = [self.wps_request.inputs[i][0].execute_xml() for i in self.wps_request.inputs] - doc.append(WPS.DataInputs(*data_inputs)) + # DataInputs and DataOutputs definition XML if lineage=true + if self.wps_request.lineage == 'true': + data_inputs = [self.wps_request.inputs[i][0].execute_xml() for i in self.wps_request.inputs] + doc.append(WPS.DataInputs(*data_inputs)) - output_definitions = [self.outputs[o].execute_xml_lineage() for o in self.outputs] - doc.append(WPS.OutputDefinitions(*output_definitions)) + output_definitions = [self.outputs[o].execute_xml_lineage() for o in self.outputs] + doc.append(WPS.OutputDefinitions(*output_definitions)) - # Process outputs XML - output_elements = [self.outputs[o].execute_xml() for o in self.outputs] - doc.append(WPS.ProcessOutputs(*output_elements)) + # Process outputs XML + output_elements = [self.outputs[o].execute_xml() for o in self.outputs] + doc.append(WPS.ProcessOutputs(*output_elements)) return doc def call_on_close(self, function):