|
@@ -26,7 +26,9 @@ from django.utils.translation import ugettext as _
|
|
|
from desktop.lib.django_util import JsonResponse
|
|
from desktop.lib.django_util import JsonResponse
|
|
|
from desktop.lib.exceptions_renderable import PopupException
|
|
from desktop.lib.exceptions_renderable import PopupException
|
|
|
from desktop.lib.i18n import smart_unicode
|
|
from desktop.lib.i18n import smart_unicode
|
|
|
|
|
+from desktop.lib.rest.http_client import RestException
|
|
|
from desktop.models import Document2, Document, FilesystemException
|
|
from desktop.models import Document2, Document, FilesystemException
|
|
|
|
|
+from dashboard.api import extract_solr_exception_message
|
|
|
|
|
|
|
|
from notebook.connectors.base import QueryExpired, QueryError, SessionExpired, AuthenticationRequired, OperationTimeout,\
|
|
from notebook.connectors.base import QueryExpired, QueryError, SessionExpired, AuthenticationRequired, OperationTimeout,\
|
|
|
OperationNotSupported
|
|
OperationNotSupported
|
|
@@ -108,6 +110,10 @@ def api_error_handler(func):
|
|
|
except OperationNotSupported, e:
|
|
except OperationNotSupported, e:
|
|
|
response['status'] = 5
|
|
response['status'] = 5
|
|
|
response['message'] = e.message
|
|
response['message'] = e.message
|
|
|
|
|
+ except RestException, e:
|
|
|
|
|
+ message = extract_solr_exception_message(e)
|
|
|
|
|
+ response['status'] = 1
|
|
|
|
|
+ response['message'] = message.get('error')
|
|
|
except Exception, e:
|
|
except Exception, e:
|
|
|
LOG.exception('Error running %s' % func)
|
|
LOG.exception('Error running %s' % func)
|
|
|
response['status'] = -1
|
|
response['status'] = -1
|