X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=blobdiff_plain;f=tools%2Ftinyos%2Fncc%2Fnesdoc-py%2Farchive.py;h=88fba77e2fd5251285eef8f7fd1337c48a24c346;hp=4fcc05b11a0ccf8a313269103b6e06d08f9f6c4b;hb=e9bfab607e051bae6afb47b44892ce37541d1b44;hpb=adf1de6c009d13b7b52e68535c63b28f59c97400 diff --git a/tools/tinyos/ncc/nesdoc-py/archive.py b/tools/tinyos/ncc/nesdoc-py/archive.py index 4fcc05b1..88fba77e 100644 --- a/tools/tinyos/ncc/nesdoc-py/archive.py +++ b/tools/tinyos/ncc/nesdoc-py/archive.py @@ -70,7 +70,7 @@ def packagename(elem): loc = elem.getAttribute("loc") colon = index(loc, ":") filename = canonicalise(loc[colon + 1:]) - for dir in topdirs: + for dir in topdir: dirlen = len(dir) if filename[0:dirlen] == dir: filename = filename[dirlen:] @@ -104,14 +104,32 @@ def canonicalisedir(dirname): return dirname # option processing. See usage string for details. -(opts, args) = getopt(argv[1:], "t:", [ "topdir=", "preserve", "app", "quiet" ]) -topopts = filter(lambda (x): x[0] != "--preserve" and x[0] != "--app" and x[0] != "--quiet", opts) -preserve = filter(lambda(x): x[0] == "--preserve", opts) != [] -app = filter(lambda(x): x[0] == "--app", opts) != [] -quiet = filter(lambda(x): x[0] == "--quiet", opts) != [] -topdirs = map(lambda (x): canonicalisedir(x[1]), topopts) +def process_opts(argv): + options = { + "topdir": (True, lambda (x): topdir + [canonicalisedir(x)]), + "preserve": (False, lambda x: True), + "app": (False, lambda x: True), + "quiet": (False, lambda x: True), + } + getopt_args = [] + for p in options: + globals()[p] = False + opt = p + if options[p][0]: + opt += "=" + getopt_args += [ opt ] + (opts, args) = getopt(argv, "", getopt_args) + topdir = [] + highlight = "" + for o, a in opts: + opt = o[2:] + globals()[opt] = options[opt][1](a) + return args + +args = process_opts(argv[1:]) if len(args) != 1: usage() + exit(2) repository = args[0] try: