[PyWPS-dev] Handle complex input of a process within/without a chain in a same way possible?
gunnar.stroeer at yahoo.de
gunnar.stroeer at yahoo.de
Wed Dec 12 09:34:01 PST 2018
Hi Everybody,
I currently develop some processes for a masterthesis using PyWPS v4 as
implementation. Mostly it works fine for single processes, as well with
QGIS as client. However I stucked when it comes to chaining.
Normally in single processes I use "in_file =
request.inputs['in_geom'][0].file" for read in some complex GML
geometry. In cases I wanna use the same process in a chain the code
above doesn't work anymore because the input is the same as the output
of the prior process. Therefore "in_file =
request.inputs['in_geom'][0].file" additionally gets all the XML code of
the prior response - and the process crashed.
To handle this I use "import lxml" to parse the response XML looking for
the "xlink:href" attribute value with the referenced GML output file of
the first process. It works for the process in a chain, only. Whether
the process is used in a chain or not I could handle in the process
code, like a case distinction. Therefor I have to parse XML all the time
again and again... and it makes me feel that I use PyWPS in a wrong way.
I also could use "RawDataOutput", but this is obviously a bad solution
for large data inputs/outputs.
Is there any method to handle the described problem without writing too
much code just to get know whether the process is used in a chain or
not? Or is there something completely wrong what I'm doing?
https://gitlab.com/hadlaskard/integration-of-wps-in-local-sdi/blob/master/processes/proc_buffer.py
Thanks,
Gunnar
More information about the pywps-dev
mailing list