[PyWPS-dev] Handle complex input of a process within/without a chain in a same way possible?

Carsten Ehbrecht ehbrecht at dkrz.de
Mon Dec 17 05:07:26 PST 2018


Hi Gunnar,

I haven’t looked into process chaining, but this question was just raised recently:

https://lists.osgeo.org/pipermail/pywps-dev/2018-December/001363.html <https://lists.osgeo.org/pipermail/pywps-dev/2018-December/001363.html>

Here is in addition a description of how a process chain can be done:
http://geoprocessing.info/wpsdoc/Concepts#chaining <http://geoprocessing.info/wpsdoc/Concepts#chaining>

I’m not sure how your code and your chain works (the gitlab link is not public). A comment from my side would be, that your “worker” process should not know that it is part of a process chain.

Cheers,
Carsten

> On 12 Dec 2018, at 6:34 pm, gunnar.stroeer at yahoo.de wrote:
> 
> 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
> _______________________________________________
> pywps-dev mailing list
> pywps-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/pywps-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pywps-dev/attachments/20181217/e303906e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5214 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/pywps-dev/attachments/20181217/e303906e/attachment.bin>


More information about the pywps-dev mailing list