[TIC-CORE] change the license from apache 2.0 to flora 1.1
[archive/20170607/tools/tic-core.git] / tic / utils / error.py
1 #!/usr/bin/python
2 # Copyright (c) 2016 Samsung Electronics Co., Ltd
3 #
4 # Licensed under the Flora License, Version 1.1 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://floralicense.org/license/
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16 # Contributors:
17 # - S-Core Co., Ltd
18
19 class TICError(Exception):
20     """ Based class for all tic creator errors """
21     keyword = None
22
23     def __init__(self, msg):
24         Exception.__init__(self)
25         self.msg = msg
26
27     def __str__(self):
28         if isinstance(self.msg, unicode):
29             self.msg = self.msg.encode('utf-8', 'ignore')
30         else:
31             self.msg = str(self.msg)
32         return self.msg
33
34     def __repr__(self):
35         if not hasattr(self, 'keyword') or not self.keyword:
36             self.keyword = self.__class__.__name__
37         return "<%s> %s" % (self.keyword, str(self))