diff options
-rw-r--r-- | scripts/lib/wic/utils/errors.py | 34 | ||||
-rwxr-xr-x | scripts/wic | 11 |
2 files changed, 13 insertions, 32 deletions
diff --git a/scripts/lib/wic/utils/errors.py b/scripts/lib/wic/utils/errors.py index 9410311875..d1b514dd9d 100644 --- a/scripts/lib/wic/utils/errors.py +++ b/scripts/lib/wic/utils/errors.py | |||
@@ -16,32 +16,14 @@ | |||
16 | # with this program; if not, write to the Free Software Foundation, Inc., 59 | 16 | # with this program; if not, write to the Free Software Foundation, Inc., 59 |
17 | # Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | # Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | class CreatorError(Exception): | 19 | class WicError(Exception): |
20 | """An exception base class for all imgcreate errors.""" | 20 | pass |
21 | keyword = '<creator>' | ||
22 | 21 | ||
23 | def __init__(self, msg): | 22 | class CreatorError(WicError): |
24 | self.msg = msg | 23 | pass |
25 | 24 | ||
26 | def __str__(self): | 25 | class Usage(WicError): |
27 | if isinstance(self.msg, unicode): | 26 | pass |
28 | self.msg = self.msg.encode('utf-8', 'ignore') | ||
29 | else: | ||
30 | self.msg = str(self.msg) | ||
31 | return self.keyword + self.msg | ||
32 | 27 | ||
33 | class Usage(CreatorError): | 28 | class ImageError(WicError): |
34 | keyword = '<usage>' | 29 | pass |
35 | |||
36 | def __str__(self): | ||
37 | if isinstance(self.msg, unicode): | ||
38 | self.msg = self.msg.encode('utf-8', 'ignore') | ||
39 | else: | ||
40 | self.msg = str(self.msg) | ||
41 | return self.keyword + self.msg + ', please use "--help" for more info' | ||
42 | |||
43 | class KsError(CreatorError): | ||
44 | keyword = '<kickstart>' | ||
45 | |||
46 | class ImageError(CreatorError): | ||
47 | keyword = '<mount>' | ||
diff --git a/scripts/wic b/scripts/wic index 90b36c68ac..cf968591e2 100755 --- a/scripts/wic +++ b/scripts/wic | |||
@@ -53,6 +53,7 @@ else: | |||
53 | bitbake_main = None | 53 | bitbake_main = None |
54 | 54 | ||
55 | from wic.utils.oe.misc import find_bitbake_env_lines, set_bitbake_env_lines | 55 | from wic.utils.oe.misc import find_bitbake_env_lines, set_bitbake_env_lines |
56 | from wic.utils.errors import WicError | ||
56 | from image import engine | 57 | from image import engine |
57 | from image import help as hlp | 58 | from image import help as hlp |
58 | 59 | ||
@@ -309,10 +310,8 @@ def main(argv): | |||
309 | 310 | ||
310 | if __name__ == "__main__": | 311 | if __name__ == "__main__": |
311 | try: | 312 | try: |
312 | ret = main(sys.argv[1:]) | 313 | sys.exit(main(sys.argv[1:])) |
313 | except Exception: | 314 | except WicError as err: |
314 | ret = 1 | 315 | print >> sys.stderr, "ERROR:", err |
315 | import traceback | 316 | sys.exit(1) |
316 | traceback.print_exc() | ||
317 | sys.exit(ret) | ||
318 | 317 | ||