Example #1
0
def index(request):
    """
    WPS endpoint.

    This view relays the HTTP request to PyWPS, captures its response and then
    sends it back to the web server. It is inspired by the wps.py file which is
    present in PyWPS source code repository.
    """

    to_return = None
    input_query = request.META["QUERY_STRING"]
    default_content_type = "application/xml"
    content_type = default_content_type
    if request.method == pywps.METHOD_GET and input_query == "":
        error = NoApplicableCode("No query string found")
        to_return = _write_response(str(error))
    elif request.method == pywps.METHOD_GET:
        input_query = request.META["QUERY_STRING"]
    else:
        input_query = request.body
    if to_return is None:
        wps_server = pywps.Pywps(
            method=request.method,
            configFiles=(settings.PYWPS_SETTINGS_FILE,)
        )
        try:
            if wps_server.parseRequest(input_query):
                pywps.debug(wps_server.inputs)
                wps_response = wps_server.performRequest()
                if wps_response:
                    to_return = _write_response(
                        wps_server.response,
                        soap_version=wps_server.parser.soapVersion,
                        is_soap=wps_server.parser.isSoap,
                        is_soap_execute=wps_server.parser.isSoapExecute
                    )
                    content_type = wps_server.request.contentType
        except WPSException as err:
            traceback.print_exc(file=pywps.logFile)
            to_return = _write_response(
                str(err),
                soap_version=wps_server.parser.soapVersion,
                is_soap=wps_server.parser.isSoap,
                is_soap_execute=wps_server.parser.isSoapExecute
            )
            content_type = default_content_type
        finally:
            if hasattr(wps_server.request, "umn"):
                print("Deleting the mapobj attribute of request.umn in "
                      "order to prevent memory leaks...")
                del wps_server.request.umn
    # release mapserver memory in order to avoid leaks when
    # running under wsgi
    mapscript.msCleanup(1)
    return HttpResponse(to_return, content_type=content_type)
Example #2
0
    layer.close()
    layer.close()  # discard resultset.

    return 'success'


###############################################################################
# Cleanup.


def ogr_query_cleanup():
    pmstestlib.layer = None
    pmstestlib.map = None
    return 'success'


test_list = [
    ogr_query_1, ogr_query_2, ogr_query_3, ogr_query_4, ogr_query_5,
    ogr_query_6, ogr_query_7, ogr_query_cleanup
]

if __name__ == '__main__':

    pmstestlib.setup_run('ogr_query')

    pmstestlib.run_tests(test_list)

    pmstestlib.summarize()

    mapscript.msCleanup()
Example #3
0
        if new_wkt != orig_wkt:
            pmstestlib.post_reason( 'WKT "%s" converted to "%s".' \
                                    % (orig_wkt, new_wkt) )
            return 'fail'
    
    return 'success'


###############################################################################
# Cleanup.

def wkt_test_cleanup():
    return 'success'

test_list = [
    wkt_test_1,
    wkt_test_2,
    wkt_test_3,
    wkt_test_cleanup ]

if __name__ == '__main__':

    pmstestlib.setup_run( 'wkt' )

    pmstestlib.run_tests( test_list )

    pmstestlib.summarize()

    mapscript.msCleanup()

Example #4
0
###############################################################################
# Cleanup.


def ogr_query_cleanup():
    pmstestlib.layer = None
    pmstestlib.map = None
    return "success"


test_list = [
    ogr_query_1,
    ogr_query_2,
    ogr_query_3,
    ogr_query_4,
    ogr_query_5,
    ogr_query_6,
    ogr_query_7,
    ogr_query_cleanup,
]

if __name__ == "__main__":

    pmstestlib.setup_run("ogr_query")

    pmstestlib.run_tests(test_list)

    pmstestlib.summarize()

    mapscript.msCleanup(0)
Example #5
0
        pass

    try:
        si.pattern = [i for i in range(11)]
        pmstestlib.post_reason('fail 6')
        return 'fail'
    except mapscript.MapServerError, e:
        pass

    try:
        si.patternlength = 0
        pmstestlib.post_reason('fail 7')
        return 'fail'
    except mapscript.MapServerError, e:
        pass

    return 'success'


test_list = [bug_673, test_pattern, None]

if __name__ == '__main__':

    pmstestlib.setup_run('bug_check')

    pmstestlib.run_tests(test_list)

    pmstestlib.summarize()

    mapscript.msCleanup(0)