2015-04-15 21:13:14 +02:00
# -*- coding: utf-8 -*-
# vim:set expandtab tabstop=4 shiftwidth=4:
#
# The MIT License (MIT)
# LdapCherry
# Copyright (c) 2014 Carpentier Pierre-Francois
2015-05-26 22:51:57 +02:00
import string
2015-04-15 23:10:01 +02:00
class MissingParameter ( Exception ) :
def __init__ ( self , section , key ) :
self . section = section
self . key = key
2015-05-12 11:34:28 +02:00
self . log = " missing parameter < %(key)s > in section < %(section)s > " % { ' key ' : key , ' section ' : section }
2015-05-12 01:24:16 +02:00
class MissingKey ( Exception ) :
2015-05-14 22:10:26 +02:00
def __init__ ( self , key , section , ymlfile ) :
2015-05-12 01:24:16 +02:00
self . key = key
2015-05-14 22:10:26 +02:00
self . section = section
self . ymlfile = ymlfile
self . log = " missing key < %(key)s > in section < %(section)s > inside file < %(ymlfile)s > " % { ' key ' : key , ' section ' : section , ' ymlfile ' : ymlfile }
2015-05-12 01:24:16 +02:00
class DumplicateRoleKey ( Exception ) :
def __init__ ( self , role ) :
self . role = role
2015-05-12 11:34:28 +02:00
self . log = " duplicate role key < %(role)s > in role file " % { ' role ' : role }
2015-05-12 01:24:16 +02:00
2015-05-16 23:52:59 +02:00
class MissingRole ( Exception ) :
def __init__ ( self , role ) :
self . role = role
self . log = " role < %(role)s > does not exist in role file " % { ' role ' : role }
2015-05-19 17:53:14 +02:00
class MissingBackend ( Exception ) :
def __init__ ( self , backend ) :
self . backend = backend
self . log = " backend < %(backend)s > does not exist in main config file " % { ' backend ' : backend }
2015-05-22 09:50:44 +02:00
class WrongBackend ( Exception ) :
def __init__ ( self , backend ) :
self . backend = backend
self . log = " backend < %(backend)s > does not exist " % { ' backend ' : backend }
2015-05-12 01:24:16 +02:00
class DumplicateRoleContent ( Exception ) :
def __init__ ( self , role1 , role2 ) :
self . role1 = role1
self . role2 = role2
2015-05-12 11:34:28 +02:00
self . log = " role < %(role1)s > and < %(role2)s > are identical " % { ' role1 ' : role1 , ' role2 ' : role2 }
class MissingRolesFile ( Exception ) :
def __init__ ( self , rolefile ) :
self . rolefile = rolefile
self . log = " fail to open role file < %(rolefile)s > " % { ' rolefile ' : rolefile }
2015-05-17 12:24:29 +02:00
2015-05-18 19:56:44 +02:00
class MissingMainFile ( Exception ) :
def __init__ ( self , config ) :
self . rolefile = rolefile
self . log = " fail to open main file < %(config)s > " % { ' rolefile ' : rolefile }
2015-05-17 12:24:29 +02:00
class MissingAttributesFile ( Exception ) :
def __init__ ( self , attributesfile ) :
self . attributesfile = attributesfile
self . log = " fail to open attributes file < %(attributesfile)s > " % { ' attributesfile ' : attributesfile }
2015-05-17 19:49:13 +02:00
2015-05-20 14:21:43 +02:00
class BackendModuleLoadingFail ( Exception ) :
def __init__ ( self , module ) :
self . module = module
2015-05-20 15:16:01 +02:00
self . log = " module < %(module)s > not in python path " % { ' module ' : module }
2015-05-20 14:21:43 +02:00
class BackendModuleInitFail ( Exception ) :
def __init__ ( self , module ) :
self . module = module
self . log = " fail to init module < %(module)s > " % { ' module ' : module }
2015-05-26 22:51:57 +02:00
class WrongParamValue ( Exception ) :
def __init__ ( self , param , section , possible_values ) :
self . possible_values = possible_values
self . section = section
self . param = param
possible_values_str = string . join ( possible_values , ' , ' )
self . log = " wrong value for param < %(param)s > in section < %(section)s >, possible values are [ %(values)s ] " % { ' param ' : param , ' section ' : section , ' values ' : possible_values_str }
2015-05-17 19:49:13 +02:00
class WrongAttributeType ( Exception ) :
def __init__ ( self , key , section , ymlfile ) :
self . key = key
self . section = section
self . ymlfile = ymlfile
self . log = " wrong attribute type < %(key)s > in section < %(section)s > inside file < %(ymlfile)s > " % { ' key ' : key , ' section ' : section , ' ymlfile ' : ymlfile }