def _parse_response_form(elem_rform): """ Parse ResponseForm element holding either ResponseDocument or RawDataOutput elements. """ elem_rdoc = elem_rform.find("./" + ns_wps("ResponseDocument")) if elem_rdoc is not None: rdoc = ResponseDocument( lineage=parse_bool(elem_rdoc.attrib.get("lineage")), status=parse_bool(elem_rdoc.attrib.get("status")), store_response=parse_bool( elem_rdoc.attrib.get("storeExecuteResponse")), ) for elem in elem_rdoc.iterfind("./" + ns_wps("Output")): id_ = elem.findtext(ns_ows("Identifier")) title = elem.findtext(ns_ows("Title")) abstr = elem.findtext(ns_ows("Abstract")) rdoc.set_output(_create_output(id_, elem.attrib, title, abstr)) return rdoc elem_rawout = elem_rform.find("./" + ns_wps("RawDataOutput")) if elem_rawout is not None: id_ = elem_rawout.findtext(ns_ows("Identifier")) return RawDataOutput(_create_output(id_, elem_rawout.attrib)) raise InvalidParameterValue('Invalid ResponseForm!', 'ResponseForm')
def _parse_response_form(elem_rform): """ Parse ResponseForm element holding either ResponseDocument or RawDataOutput elements. """ elem_rdoc = elem_rform.find("./"+ns_wps("ResponseDocument")) if elem_rdoc is not None: rdoc = ResponseDocument( lineage=parse_bool(elem_rdoc.attrib.get("lineage")), status=parse_bool(elem_rdoc.attrib.get("status")), store_response=parse_bool( elem_rdoc.attrib.get("storeExecuteResponse") ), ) for elem in elem_rdoc.iterfind("./"+ns_wps("Output")): id_ = elem.findtext(ns_ows("Identifier")) title = elem.findtext(ns_ows("Title")) abstr = elem.findtext(ns_ows("Abstract")) rdoc.set_output(_create_output(id_, elem.attrib, title, abstr)) return rdoc elem_rawout = elem_rform.find("./"+ns_wps("RawDataOutput")) if elem_rawout is not None: id_ = elem_rawout.findtext(ns_ows("Identifier")) return RawDataOutput(_create_output(id_, elem_rawout.attrib)) raise InvalidParameterValue('Invalid ResponseForm!', 'ResponseForm')
def response_form(self): """ Get response unified form parsed either from ResponseDocument or RawDataOutput parameters. """ raw_response = self.raw_response if raw_response: return raw_response resp_doc = ResponseDocument(lineage=self.lineage, status=self.status, store_response=self.store_response) for output in self.outputs: # pylint: disable=not-an-iterable resp_doc.set_output(output) return resp_doc
def response_form(self): """ Get response unified form parsed either from ResponseDocument or RawDataOutput parameters. """ raw_response = self.raw_response if raw_response: return raw_response resp_doc = ResponseDocument( lineage=self.lineage, status=self.status, store_response=self.store_response ) for output in self.outputs: # pylint: disable=not-an-iterable resp_doc.set_output(output) return resp_doc
def response_form(self): """ Get the unified response form object. """ resp_form = self._response_form return resp_form if resp_form is not None else ResponseDocument()