Esempio n. 1
0
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')
Esempio n. 2
0
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
Esempio n. 4
0
    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
Esempio n. 5
0
 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()