3 # Copyright (c) 2007 Red Hat, Inc.
4 # Copyright (c) 2011 Intel, Inc.
6 # This program is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by the Free
8 # Software Foundation; version 2 of the License
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 # You should have received a copy of the GNU General Public License along
16 # with this program; if not, write to the Free Software Foundation, Inc., 59
17 # Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 class CreatorError(Exception):
20 """An exception base class for all imgcreate errors."""
23 def __init__(self, msg):
27 if isinstance(self.msg, unicode):
28 self.msg = self.msg.encode('utf-8', 'ignore')
30 self.msg = str(self.msg)
31 return self.keyword + self.msg
33 class Usage(CreatorError):
37 if isinstance(self.msg, unicode):
38 self.msg = self.msg.encode('utf-8', 'ignore')
40 self.msg = str(self.msg)
41 return self.keyword + self.msg + ', please use "--help" for more info'
43 class Abort(CreatorError):
46 class ConfigError(CreatorError):
49 class KsError(CreatorError):
50 keyword = '<kickstart>'
52 class RepoError(CreatorError):
55 class RpmError(CreatorError):
58 class MountError(CreatorError):
61 class SnapshotError(CreatorError):
62 keyword = '<snapshot>'
64 class SquashfsError(CreatorError):
65 keyword = '<squashfs>'
67 class BootstrapError(CreatorError):
68 keyword = '<bootstrap>'
70 class RuntimeError(CreatorError):