mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-23 00:02:38 -05:00
74 lines
1.9 KiB
Plaintext
74 lines
1.9 KiB
Plaintext
%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
|