Exemplo n.º 1
0
 def raise_exception(self, result, status_code):
     '''
     Map the exception code to an exception class and raise it
     If result.exception and result.detail are available use that
     Otherwise just raise a generic error
     '''
     from stream.exceptions import get_exception_dict
     exception_class = exceptions.StreamApiException
     
     if result is not None:
         error_message = result['detail']
         exception_fields = result.get('exception_fields')
         if exception_fields is not None:
             errors = []
             for field, errors in exception_fields.items():
                 errors.append('Field "%s" errors: %s' %
                               (field, repr(errors)))
             error_message = '\n'.join(errors)
         error_code = result.get('code')
         exception_dict = get_exception_dict()
         exception_class = exception_dict.get(
             error_code, exceptions.StreamApiException)
     else:
         error_message = 'GetStreamAPI%s' % status_code
         
     exception = exception_class(error_message, status_code=status_code)
     raise exception
Exemplo n.º 2
0
    def raise_exception(self, result, status_code):
        """
        Map the exception code to an exception class and raise it
        If result.exception and result.detail are available use that
        Otherwise just raise a generic error
        """
        from stream.exceptions import get_exception_dict

        exception_class = exceptions.StreamApiException

        if result is not None:
            error_message = result["detail"]
            exception_fields = result.get("exception_fields")
            if exception_fields is not None:
                errors = []
                for field, errors in exception_fields.items():
                    errors.append('Field "%s" errors: %s' % (field, repr(errors)))
                error_message = "\n".join(errors)
            error_code = result.get("code")
            exception_dict = get_exception_dict()
            exception_class = exception_dict.get(error_code, exceptions.StreamApiException)
        else:
            error_message = "GetStreamAPI%s" % status_code
        exception = exception_class(error_message, status_code=status_code)
        raise exception
Exemplo n.º 3
0
 def raise_exception(self, result, status_code):
     '''
     Map the exception code to an exception class and raise it
     '''
     from stream.exceptions import get_exception_dict
     error_message = result['detail']
     exception_fields = result.get('exception_fields')
     if exception_fields is not None:
         errors = []
         for field, errors in exception_fields.items():
             errors.append('Field "%s" errors: %s' %
                           (field, repr(errors)))
         error_message = '\n'.join(errors)
     error_code = result.get('code')
     exception_dict = get_exception_dict()
     exception_class = exception_dict.get(
         error_code, exceptions.StreamApiException)
     exception = exception_class(error_message, status_code=status_code)
     raise exception
Exemplo n.º 4
0
    def raise_exception(self, result, status_code):
        """
        Map the exception code to an exception class and raise it
        If result.exception and result.detail are available use that
        Otherwise just raise a generic error
        """
        from stream.exceptions import get_exception_dict

        exception_class = exceptions.StreamApiException

        def errors_from_fields(exception_fields):
            result = []
            if not isinstance(exception_fields, dict):
                return exception_fields

            for field, errors in exception_fields.items():
                result.append('Field "%s" errors: %s' % (field, repr(errors)))
            return result

        if result is not None:
            error_message = result["detail"]
            exception_fields = result.get("exception_fields")
            if exception_fields is not None:
                if isinstance(exception_fields, list):
                    errors = [
                        errors_from_fields(exception_dict)
                        for exception_dict in exception_fields
                    ]
                    errors = [item for sublist in errors for item in sublist]
                else:
                    errors = errors_from_fields(exception_fields)

                error_message = "\n".join(errors)
            error_code = result.get("code")
            exception_dict = get_exception_dict()
            exception_class = exception_dict.get(
                error_code, exceptions.StreamApiException
            )
        else:
            error_message = "GetStreamAPI%s" % status_code
        exception = exception_class(error_message, status_code=status_code)
        raise exception
Exemplo n.º 5
0
    def raise_exception(self, result, status_code):
        """
        Map the exception code to an exception class and raise it
        If result.exception and result.detail are available use that
        Otherwise just raise a generic error
        """
        from stream.exceptions import get_exception_dict

        exception_class = exceptions.StreamApiException

        def errors_from_fields(exception_fields):
            result = []
            if not isinstance(exception_fields, dict):
                return exception_fields

            for field, errors in exception_fields.items():
                result.append('Field "%s" errors: %s' % (field, repr(errors)))
            return result

        if result is not None:
            error_message = result["detail"]
            exception_fields = result.get("exception_fields")
            if exception_fields is not None:
                if isinstance(exception_fields, list):
                    errors = [
                        errors_from_fields(exception_dict)
                        for exception_dict in exception_fields
                    ]
                    errors = [item for sublist in errors for item in sublist]
                else:
                    errors = errors_from_fields(exception_fields)

                error_message = "\n".join(errors)
            error_code = result.get("code")
            exception_dict = get_exception_dict()
            exception_class = exception_dict.get(
                error_code, exceptions.StreamApiException
            )
        else:
            error_message = "GetStreamAPI%s" % status_code
        exception = exception_class(error_message, status_code=status_code)
        raise exception