summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Ulrich Niedermann <hun@n-dimensional.de>2008-06-21 13:19:05 +0200
committerHans Ulrich Niedermann <hun@n-dimensional.de>2008-06-21 13:19:05 +0200
commit57b3324eff49b79b246589d2d1e87f6413f924e3 (patch)
tree02c5a13ccf2ed9d879f8ad2e0d4ca4890c7da6ed
parent52c33ab1c088bd5bf1e812a5749a11588757be8f (diff)
downloadndim-git-utils-57b3324eff49b79b246589d2d1e87f6413f924e3.tar.gz
ndim-git-utils-57b3324eff49b79b246589d2d1e87f6413f924e3.tar.xz
ndim-git-utils-57b3324eff49b79b246589d2d1e87f6413f924e3.zip
New cmd option parsing
-rw-r--r--nbb/nbb_lib.in54
1 files changed, 33 insertions, 21 deletions
diff --git a/nbb/nbb_lib.in b/nbb/nbb_lib.in
index cedc1e5..45089ea 100644
--- a/nbb/nbb_lib.in
+++ b/nbb/nbb_lib.in
@@ -365,11 +365,20 @@ class AutomakeSourceTree(BSSourceTree):
########################################################################
-# Main program
+# Commands
########################################################################
-class NBB(object):
- def __init__(self, srcdir=None):
+class NBB_Command(object):
+ def __init__(self, cmd, cmdargs):
+ print "Command:", cmd
+ print "Cmd arg:", cmdargs
+ if cmd in ('help', ):
+ print "List of commands:"
+ raise NotImplementedError()
+ else:
+ print "Fatal: Unknown command '%s'" % cmd
+ raise NotImplementedError()
+ srcdir = None
if srcdir is None:
srcdir = os.getcwd()
absdir = os.path.abspath(srcdir)
@@ -388,6 +397,10 @@ class NBB(object):
print "Program aborted."
+########################################################################
+# Main program
+########################################################################
+
def main(argv):
prog = argv[0]
@@ -395,32 +408,31 @@ def main(argv):
if idx >= 0:
prog = prog[idx+1:]
-# print """\
-#WARNING: %(prog)s is very much a work in progress.
-# Large parts of %(prog)s are not implemented yet.
-#""" % locals()
-
# FIXME: Generate from plugin systems.
buildsystems = ', '.join(['automake', ])
vcssystems = ', '.join(['bzr', 'git', ])
- optlist, args = getopt.getopt(argv[1:], 'hV', ['help', 'version'])
- for opt, arg in optlist:
- if opt in ('-h', '--help'):
+ print "argv:", `argv`
+ verbosity = 0
+ i = 1
+ while i<len(argv):
+ if argv[i][0] != '-':
+ break
+ if argv[i] in ('-h', '--help'):
print __doc__ % locals()
return
- elif opt in ('-V', '--version'):
+ elif argv[i] in ('-V', '--version'):
print "%(prog)s (@PACKAGE_NAME@) @PACKAGE_VERSION@" % locals()
return
- else:
- raise NotImplementedError()
-
- if len(args) == 0:
- nbb = NBB()
- elif len(args) == 1:
- nbb = NBB(args[0])
- else:
- raise NotImplementedError()
+ elif argv[i] in ('-v', '--verbose'):
+ verbosity = verbosity + 1
+ elif argv[i] in ('-q', '--quiet'):
+ verbosity = verbosity - 1
+ print "", i, argv[i]
+ i = i + 1
+ cmd = argv[i]
+ cmdargs = argv[i+1:]
+ nbb = NBB_Command(cmd, cmdargs)
if __name__ == '__main__':