Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / api / backends / errors.py @ 3b01f38b

History | View | Annotate | Download (2.3 kB)

1 820b18e0 Sofia Papagiannaki
# Copyright 2011-2012 GRNET S.A. All rights reserved.
2 820b18e0 Sofia Papagiannaki
#
3 820b18e0 Sofia Papagiannaki
# Redistribution and use in source and binary forms, with or
4 820b18e0 Sofia Papagiannaki
# without modification, are permitted provided that the following
5 820b18e0 Sofia Papagiannaki
# conditions are met:
6 820b18e0 Sofia Papagiannaki
#
7 820b18e0 Sofia Papagiannaki
#   1. Redistributions of source code must retain the above
8 820b18e0 Sofia Papagiannaki
#      copyright notice, this list of conditions and the following
9 820b18e0 Sofia Papagiannaki
#      disclaimer.
10 820b18e0 Sofia Papagiannaki
#
11 820b18e0 Sofia Papagiannaki
#   2. Redistributions in binary form must reproduce the above
12 820b18e0 Sofia Papagiannaki
#      copyright notice, this list of conditions and the following
13 820b18e0 Sofia Papagiannaki
#      disclaimer in the documentation and/or other materials
14 820b18e0 Sofia Papagiannaki
#      provided with the distribution.
15 820b18e0 Sofia Papagiannaki
#
16 820b18e0 Sofia Papagiannaki
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17 820b18e0 Sofia Papagiannaki
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 820b18e0 Sofia Papagiannaki
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 820b18e0 Sofia Papagiannaki
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20 820b18e0 Sofia Papagiannaki
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 820b18e0 Sofia Papagiannaki
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 820b18e0 Sofia Papagiannaki
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23 820b18e0 Sofia Papagiannaki
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24 820b18e0 Sofia Papagiannaki
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 820b18e0 Sofia Papagiannaki
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26 820b18e0 Sofia Papagiannaki
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 820b18e0 Sofia Papagiannaki
# POSSIBILITY OF SUCH DAMAGE.
28 820b18e0 Sofia Papagiannaki
#
29 820b18e0 Sofia Papagiannaki
# The views and conclusions contained in the software and
30 820b18e0 Sofia Papagiannaki
# documentation are those of the authors and should not be
31 820b18e0 Sofia Papagiannaki
# interpreted as representing official policies, either expressed
32 820b18e0 Sofia Papagiannaki
# or implied, of GRNET S.A.
33 820b18e0 Sofia Papagiannaki
34 820b18e0 Sofia Papagiannaki
class ItemNotExists(ValueError):
35 820b18e0 Sofia Papagiannaki
    def __init__(self, type, **kwargs):
36 820b18e0 Sofia Papagiannaki
        fields = " and ".join('%s=%s' % (k,v) for k,v in kwargs.iteritems())
37 820b18e0 Sofia Papagiannaki
        msg = "%(type)s with %(fields)s does not exist."
38 820b18e0 Sofia Papagiannaki
        super(ItemNotExists, self).__init__(msg % locals())
39 820b18e0 Sofia Papagiannaki
40 820b18e0 Sofia Papagiannaki
class ItemExists(ValueError):
41 820b18e0 Sofia Papagiannaki
    def __init__(self, type, **kwargs):
42 820b18e0 Sofia Papagiannaki
        fields = " and ".join('%s=%s' % (k,v) for k,v in kwargs.iteritems())
43 820b18e0 Sofia Papagiannaki
        msg = "%(type)s with %(fields)s already exists."
44 820b18e0 Sofia Papagiannaki
        super(ItemExists, self).__init__(msg % locals())
45 820b18e0 Sofia Papagiannaki
46 820b18e0 Sofia Papagiannaki
class MultipleItemsExist(ValueError):
47 820b18e0 Sofia Papagiannaki
    def __init__(self, type, **kwargs):
48 820b18e0 Sofia Papagiannaki
        fields = " and ".join('%s=%s' % (k,v) for k,v in kwargs.iteritems())
49 820b18e0 Sofia Papagiannaki
        msg = "There are mulptiple %(type)s with %(fields)s."
50 820b18e0 Sofia Papagiannaki
        super(MultipleItemsExist, self).__init__(msg % locals())
51 820b18e0 Sofia Papagiannaki
52 820b18e0 Sofia Papagiannaki
class MissingIdentifier(IOError):
53 820b18e0 Sofia Papagiannaki
    pass