Exemplo n.º 1
0
def boto_error_handler(request, location=None, template="{0}"):
    try:
        yield
    except ClientError as err:
        old_err = BotoServerError(
            status=err.response.get('ResponseMetadata').get('HTTPStatusCode'),
            reason=err.response.get('Error').get('Code')
        )
        old_err.message = err.response.get('Error').get('Message')
        old_err.error_code = err.response.get('Error').get('Code')
        BaseView.handle_error(err=old_err, request=request, location=location, template=template)
    except BotoServerError as err:
        BaseView.handle_error(err=err, request=request, location=location, template=template)
    except socket.error as err:
        BaseView.handle_error(err=BotoServerError(504, str(err)), request=request, location=location, template=template)