pytask/helpers/exceptions.py
author Madhusudan.C.S <madhusudancs@gmail.com>
Tue, 01 Feb 2011 02:14:49 +0530
changeset 539 59e032315ab9
child 541 a1007eb3fff9
permissions -rwxr-xr-x
Add exception middleware and related files.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
539
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     1
"""Module containing the exceptions that can be raised.
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     2
"""
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     3
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     4
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     5
__authors__ = [
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     6
    '"Madhusudan.C.S" <madhusudancs@fossee.in>',
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     7
    ]
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     8
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     9
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    10
from django.utils.translation import ugettext
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    11
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    12
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    13
DEFAULT_LOGIN_MESSAGE = ugettext(
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    14
  "You have to login to view this page.")
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    15
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    16
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    17
class UnauthorizedAccess(Exception):
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    18
    """Exception that is raised when some one tries to access a view
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    19
    without the right priviliges.
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    20
    """
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    21
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    22
    def __init__(self, message=None, **response_args):
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    23
        """Constructor specifying the exception specific attributes
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    24
        """
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    25
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    26
        if not message:
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    27
            message = DEFAULT_LOGIN_MESSAGE
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    28
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    29
        self.message = message
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    30
        self.response_args = response_args
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    31
        self.response_args['status'] = 401
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    32
59e032315ab9 Add exception middleware and related files.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    33
        super(UnauthorizedAccess, self).__init__()