Merge from W. Trevor King's tree.
[be.git] / be
1 #!/usr/bin/env python
2 # Copyright (C) 2005 Aaron Bentley and Panometrics, Inc.
3 # <abentley@panoramicfeedback.com>
4 #
5 #    This program is free software; you can redistribute it and/or modify
6 #    it under the terms of the GNU General Public License as published by
7 #    the Free Software Foundation; either version 2 of the License, or
8 #    (at your option) any later version.
9 #
10 #    This program is distributed in the hope that it will be useful,
11 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #    GNU General Public License for more details.
14 #
15 #    You should have received a copy of the GNU General Public License
16 #    along with this program; if not, write to the Free Software
17 #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
19
20 import sys
21 from libbe import cmdutil
22
23 __doc__ == cmdutil.help()
24
25 if len(sys.argv) == 1 or sys.argv[1] in ('--help', '-h'):
26     print cmdutil.help()
27 else:
28     try:
29         try:
30             sys.exit(cmdutil.execute(sys.argv[1], sys.argv[2:]))
31         except KeyError, e:
32             raise cmdutil.UserError("Unknown command \"%s\"" % e.args[0])
33         except cmdutil.GetHelp:
34             print cmdutil.help(sys.argv[1])
35             sys.exit(0)
36         except cmdutil.UsageError:
37             print cmdutil.help(sys.argv[1])
38             sys.exit(1)
39     except cmdutil.UserError, e:
40         print e
41         sys.exit(1)