[Pywps-dev] pywps - json output

Jachym Cepicky jachym.cepicky at gmail.com
Sun Oct 23 13:26:04 PDT 2016


Ah, yes, I almost forget about it



ne 23. 10. 2016 v 22:10 odesílatel Jonas Eberle <jonas.eberle at gmx.de>
napsal:

> Hi Sylvain,
>
> if you have only one output, you can use the rawdataoutput paramater, just
> like this WPS request:
>
>
> http://artemis.geogr.uni-jena.de/cgi-bin/testbox.cgi?service=WPS&version=1.0.0&request=Execute&identifier=fossgis_wps_proj&datainputs=[epsg_target=2927;epsg_source=4326;wkt=POINT(11%2051)]
> *&rawdataoutput=output*
>
> In your case it should be &rawdataoutput=out. Then you will get directly
> the data from this output.
>
> Cheers,
> Jonas
>
> ----- Am 23. Okt 2016 um 19:17 schrieb Sylvain Beorchia <
> sylvain.beorchia at gmail.com>:
>
> Thank you for the fix Jachym.
> But apparently it just changes the output, from :
>
> ...
> <wps:ComplexData mimeType="application/geojson">
> <![CDATA[
>
> WwogICJmb28iLCAKICB7CiAgICAiYmFyIjogWwogICAgICAiYmF6IiwgCiAgICAgIG51bGwsIAogICAgICAxLjAsIAogICAgICAyCiAgICBdCiAgfQpd
> ]]>
> </wps:ComplexData>
>
> to:
>
> <wps:ComplexData mimeType="application/geojson">
> [ "foo", { "bar": [ "baz", null, 1.0, 2 ] } ]
> </wps:ComplexData>
>
>
> JSON, but still in XML result.
> Am i doing something wrong in my code ?
>
>
> Thanks .
>
> Sylvain.
>
>
> 2016-10-23 8:01 GMT+02:00 Jachym Cepicky <jachym.cepicky at gmail.com>:
>
> Hi Sylvain,
> fixed in master https://github.com/geopython/pywps/pull/201
>
> Hope, it works
>
> J
>
>
>
> so 22. 10. 2016 v 23:42 odesílatel Sylvain Beorchia <
> sylvain.beorchia at gmail.com> napsal:
>
> Hi all,
>
> Trying to build my first WPS, i want to return JSON outputs. After many
> tests, i always got some JSON encoded chars embeded in XML, or clear JSON
> embeded in XML...always XML.
> Here is the simple code i've tried :
>
>
> import json
> from pywps import Process, LiteralInput, LiteralOutput, OGCUNIT, UOM,
> ComplexInput, ComplexOutput, Format, FORMATS
>
> class Test(Process):
>     def __init__(self):
>         inputs = [LiteralInput('name', 'Input name', data_type='string')]
>         outputs = [ComplexOutput('out', 'Referenced Output',
> supported_formats=[Format('application/geojson')])]
>
>         super(Test, self).__init__(
>             self._handler,
>             identifier='cartogsm',
>             title='Process Test',
>             version='1.0.0.0',
>             inputs=inputs,
>             outputs=outputs,
>             store_supported=True,
>             status_supported=True
>         )
>
>     def _handler(self, request, response):
>         data = json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
>         out_bytes = json.dumps(data, indent=2)
>         response.outputs['out'].output_format = 'application/json'
>         response.outputs['out'].data = out_bytes
>
>         return response
>
>
> Ouput :
> ...
> <wps:ProcessOutputs>
> <wps:Output>
> <ows:Identifier>out</ows:Identifier>
> <ows:Title>Referenced Output</ows:Title>
> <wps:Data>
> <wps:ComplexData mimeType="application/geojson">
> <![CDATA[
>
> WwogICJmb28iLCAKICB7CiAgICAiYmFyIjogWwogICAgICAiYmF6IiwgCiAgICAgIG51bGwsIAogICAgICAxLjAsIAogICAgICAyCiAgICBdCiAgfQpd
> ]]>
> </wps:ComplexData>
> </wps:Data>
> </wps:Output>
> </wps:ProcessOutputs>
> </wps:ExecuteResponse>
>
>
> How can i return only JSON, with no XML at all ?
>
> Thank you.
> _______________________________________________
> pywps-dev mailing list
> pywps-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pywps-dev
>
>
>
> _______________________________________________
> pywps-dev mailing list
> pywps-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pywps-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pywps-dev/attachments/20161023/ea10835c/attachment.html>


More information about the pywps-dev mailing list