From 87dae4d8549c02fa9a57adb3bb876d249dae1f79 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 20 Sep 2012 13:19:43 +0100 Subject: Remove old 'djangorestframework directories --- djangorestframework/exceptions.py | 79 --------------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 djangorestframework/exceptions.py (limited to 'djangorestframework/exceptions.py') diff --git a/djangorestframework/exceptions.py b/djangorestframework/exceptions.py deleted file mode 100644 index a405a885..00000000 --- a/djangorestframework/exceptions.py +++ /dev/null @@ -1,79 +0,0 @@ -""" -Handled exceptions raised by REST framework. - -In addition Django's built in 403 and 404 exceptions are handled. -(`django.http.Http404` and `django.core.exceptions.PermissionDenied`) -""" -from djangorestframework import status - - -class APIException(Exception): - """ - Base class for REST framework exceptions. - Subclasses should provide `.status_code` and `.detail` properties. - """ - pass - - -class ParseError(APIException): - status_code = status.HTTP_400_BAD_REQUEST - default_detail = 'Malformed request.' - - def __init__(self, detail=None): - self.detail = detail or self.default_detail - - -class PermissionDenied(APIException): - status_code = status.HTTP_403_FORBIDDEN - default_detail = 'You do not have permission to perform this action.' - - def __init__(self, detail=None): - self.detail = detail or self.default_detail - - -class InvalidFormat(APIException): - status_code = status.HTTP_404_NOT_FOUND - default_detail = "Format suffix '.%s' not found." - - def __init__(self, format, detail=None): - self.detail = (detail or self.default_detail) % format - - -class MethodNotAllowed(APIException): - status_code = status.HTTP_405_METHOD_NOT_ALLOWED - default_detail = "Method '%s' not allowed." - - def __init__(self, method, detail=None): - self.detail = (detail or self.default_detail) % method - - -class NotAcceptable(APIException): - status_code = status.HTTP_406_NOT_ACCEPTABLE - default_detail = "Could not satisfy the request's Accept header" - - def __init__(self, detail=None, available_renderers=None): - self.detail = detail or self.default_detail - self.available_renderers = available_renderers - - -class UnsupportedMediaType(APIException): - status_code = status.HTTP_415_UNSUPPORTED_MEDIA_TYPE - default_detail = "Unsupported media type '%s' in request." - - def __init__(self, media_type, detail=None): - self.detail = (detail or self.default_detail) % media_type - - -class Throttled(APIException): - status_code = status.HTTP_429_TOO_MANY_REQUESTS - default_detail = "Request was throttled." - extra_detail = "Expected available in %d second%s." - - def __init__(self, wait=None, detail=None): - import math - self.wait = wait and math.ceil(wait) or None - if wait is not None: - format = detail or self.default_detail + self.extra_detail - self.detail = format % (self.wait, self.wait != 1 and 's' or '') - else: - self.detail = detail or self.default_detail -- cgit v1.2.3