src/modules/server/api_errors.py
author Rich Burridge <rich.burridge@sun.com>
Mon, 30 Nov 2009 13:01:40 -0800
changeset 1516 8c950a3b4171
parent 759 38cd83f208a8
child 1540 de040c9fd0c0
permissions -rw-r--r--
10485 move pkg(5) to Python 2.6 10482 upgrade to cherrypy 3.1.2 11836 shebang line for python modules should be python version-agnostic 11950 ldtp used by pkg build process not setup to easily use Python 2.6 11989 pkg python dependency analysis tests fail
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 759
diff changeset
     1
#!/usr/bin/python
742
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
     2
#
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
     3
# CDDL HEADER START
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
     4
#
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
     5
# The contents of this file are subject to the terms of the
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
     6
# Common Development and Distribution License (the "License").
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
     7
# You may not use this file except in compliance with the License.
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
     8
#
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
     9
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    10
# or http://www.opensolaris.org/os/licensing.
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    11
# See the License for the specific language governing permissions
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    12
# and limitations under the License.
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    13
#
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    14
# When distributing Covered Code, include this CDDL HEADER in each
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    15
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    16
# If applicable, add the following below this CDDL HEADER, with the
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    17
# fields enclosed by brackets "[]" replaced with your own identifying
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    18
# information: Portions Copyright [yyyy] [name of copyright owner]
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    19
#
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    20
# CDDL HEADER END
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    21
#
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    22
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    23
# Use is subject to license terms.
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    24
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    25
class ApiException(Exception):
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    26
        """Base exception class for all server.api exceptions."""
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    27
        def __init__(self, *args):
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    28
                Exception.__init__(self, *args)
759
38cd83f208a8 5629 depot web search needs to limit result set size
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 742
diff changeset
    29
                if args:
38cd83f208a8 5629 depot web search needs to limit result set size
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 742
diff changeset
    30
                        self.data = args[0]
742
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    31
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    32
        def __str__(self):
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    33
                return str(self.data)
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    34
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    35
class VersionException(ApiException):
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    36
        """Exception used to indicate that the client's requested api version
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    37
        is not supported.
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    38
        """
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    39
        def __init__(self, expected_version, received_version):
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    40
                ApiException.__init__(self)
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    41
                self.expected_version = expected_version
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    42
                self.received_version = received_version
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    43
759
38cd83f208a8 5629 depot web search needs to limit result set size
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 742
diff changeset
    44
        def __str__(self):
38cd83f208a8 5629 depot web search needs to limit result set size
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 742
diff changeset
    45
                return "Incompatible API version '%s' specified; " \
38cd83f208a8 5629 depot web search needs to limit result set size
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 742
diff changeset
    46
                    "expected: '%s'." % (self.received_version,
38cd83f208a8 5629 depot web search needs to limit result set size
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 742
diff changeset
    47
                    self.expected_version)
38cd83f208a8 5629 depot web search needs to limit result set size
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 742
diff changeset
    48
742
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    49
class RedirectException(ApiException):
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    50
        """Used to indicate that the client should be redirected to a new
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    51
        URI.
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    52
        """
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    53
        pass
909b912fa942 3011 new depot index page desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents:
diff changeset
    54