Don't require python2.4 for "be".
[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 from libbe.cmdutil import *
21 from libbe.bugdir import tree_root, create_bug_dir
22 from libbe import names, plugin, cmdutil
23 import sys
24 import os
25 import becommands.severity
26 import becommands.list
27 import becommands.show
28 import becommands.set_root
29 import becommands.new
30 import becommands.close
31 import becommands.open
32 import becommands.inprogress
33 __doc__ = """Bugs Everywhere - Distributed bug tracking
34
35 Supported becommands
36  set-root: assign the root directory for bug tracking
37       new: Create a new bug
38      list: list bugs
39      show: show a particular bug
40     close: close a bug
41      open: re-open a bug
42  severity: %s
43
44 Unimplemented becommands
45   comment: append a comment to a bug
46 """ % becommands.severity.__desc__
47
48
49
50 if len(sys.argv) == 1 or sys.argv[1] in ('--help', '-h'):
51     cmdutil.print_command_list()
52 else:
53     try:
54         try:
55             sys.exit(execute(sys.argv[1], sys.argv[2:]))
56         except KeyError, e:
57             raise UserError("Unknown command \"%s\"" % e.args[0])
58         except cmdutil.GetHelp:
59             print cmdutil.help(sys.argv[1])
60             sys.exit(0)
61         except cmdutil.UsageError:
62             print cmdutil.help(sys.argv[1])
63             sys.exit(1)
64     except UserError, e:
65         print e
66         sys.exit(1)