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