1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
%Module(name=qgis._server,
keyword_arguments="All")
${DEFAULTDOCSTRINGSIGNATURE}
%Import QtCore/QtCoremod.sip
%Import QtGui/QtGuimod.sip
%Import QtXml/QtXmlmod.sip
%Import core/core.sip
%Include qgsserverexception.sip
%Feature HAVE_SERVER_PYTHON_PLUGINS
%Include server_auto.sip
%VirtualErrorHandler serverapi_badrequest_exception_handler
PyObject *type, *exception, *traceback;
PyErr_Fetch(&type, &exception, &traceback);
// check whether the object is already a unicode string
QString originalExceptionMessage;
if ( PyUnicode_Check( exception) )
{
originalExceptionMessage = QString::fromUtf8( PyUnicode_AsUTF8( exception ) );
}
else
{
PyObject* str = PyObject_Str( exception );
originalExceptionMessage = QString::fromUtf8( PyUnicode_AsUTF8( str ) );
Py_XDECREF( str );
}
SIP_RELEASE_GIL( sipGILState );
QString strException = "API bad request error";
if ( !originalExceptionMessage.isEmpty() )
{
strException = originalExceptionMessage;
}
throw QgsServerApiBadRequestException( strException );
%End
%VirtualErrorHandler server_exception_handler
PyObject *type, *exception, *traceback;
PyErr_Fetch(&type, &exception, &traceback);
// check whether the object is already a unicode string
QString originalExceptionMessage;
if ( PyUnicode_Check( exception) )
{
originalExceptionMessage = QString::fromUtf8( PyUnicode_AsUTF8( exception ) );
}
else
{
PyObject* str = PyObject_Str( exception );
originalExceptionMessage = QString::fromUtf8( PyUnicode_AsUTF8( str ) );
Py_XDECREF( str );
}
SIP_RELEASE_GIL( sipGILState );
QString strException = "Server internal error";
if ( !originalExceptionMessage.isEmpty() )
{
strException = originalExceptionMessage;
}
throw QgsServerException( strException );
%End
|