From c166faf9c14b377f7005d97abd4f0658b3bbc7ce Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sun, 1 Sep 2013 07:25:37 -0500 Subject: Update status and roadmap pages, and status page generator script. --- scripts/mkstatus.py | 64 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 51 insertions(+), 13 deletions(-) (limited to 'scripts') diff --git a/scripts/mkstatus.py b/scripts/mkstatus.py index ec225ed4..cb34d457 100755 --- a/scripts/mkstatus.py +++ b/scripts/mkstatus.py @@ -15,10 +15,14 @@ def readit(args): arr.extend(i) return ret,arr -stuff,blah=readit(["sed","-n", 's//\\1 /;t good;d;:good;h;:loop;n;s@@@;t out;H;b loop;:out;g;s/\\n/ /g;p', "www/roadmap.html", "www/status.html"]) +# Run sed on roadmap and status pages to get command lists, and run toybox too +# This gives us a dictionary of types, each with a list of commands +stuff,blah=readit(["sed","-n", 's//\\1 /;t good;d;:good;h;:loop;n;s@@@;t out;H;b loop;:out;g;s/\\n/ /g;p', "www/roadmap.html", "www/status.html"]) blah,toystuff=readit(["./toybox"]) +# Create reverse mappings: command is in which + reverse={} for i in stuff: for j in stuff[i]: @@ -39,21 +43,36 @@ print "all commands=%s" % len(reverse) outfile=open("www/status.gen", "w") outfile.write("

All commands

\n") +conv = [("posix", '%%s', "[%s]"), + ("lsb", '%%s', '<%s>'), + ("development", '%%s', '(%s)'), + ("toolbox", "", '{%s}'), ("klibc_cmd", "", '=%s='), + ("sash_cmd", "", '#%s#'), ("sbase_cmd", "", '@%s@'), + ("beastiebox_cmd", "", '*%s*'), + ("request", '%%s', '+%s+')] + + +def categorize(reverse, i, skippy=""): + linky = "%s" + out = i + + if skippy: types = filter(lambda a: a != skippy, reverse[i]) + else: types = reverse[i] + + for j in conv: + if j[0] in types: + if j[1]: linky = j[1] % i + out = j[2] % out + if not skippy: break + if (not skippy) and out == i: + sys.stderr.write("unknown %s %s\n" % (i,reverse[i])) + + return linky % out + blah=list(reverse) blah.sort() for i in blah: - out=i - if "posix" in reverse[i]: out='[%s]' % (i,out) - elif "lsb" in reverse[i]: out='<%s>' % (i,out) - elif "development" in reverse[i]: out='(%s)' % (i,out) - elif "toolbox" in reverse[i]: out='{%s}' % out - elif "klibc_cmd" in reverse[i]: out='=%s=' % out - elif "sash_cmd" in reverse[i]: out='#%s#' % out - elif "sbase_cmd" in reverse[i]: out='@%s@' % out - elif "beastiebox_cmd" in reverse[i]: out='*%s*' % out - elif "request" in reverse[i]: out='+%s+' % (i,out) - elif "ready" in reverse[i]: pass - else: sys.stderr.write("unknown %s %s\n" % (i, reverse[i])) + out=categorize(reverse, i) if "ready" in reverse[i] or "pending" in reverse[i]: done.append(out) out='%s' % out @@ -66,3 +85,22 @@ outfile.write("

\n") outfile.write("

TODO

%s

\n" % "\n".join(pending)) outfile.write("

Done

%s

\n" % "\n".join(done)) + +outfile.write("

Categories of remaining todo items

") + +for i in stuff: + todo = [] + + for j in stuff[i]: + if "ready" in reverse[j]: continue + else: todo.append(categorize(reverse,j,i)) + + if todo: + k = i + for j in conv: + if j[0] == i: + k = j[2] % i + + outfile.write("

%s

" % (i,i,k)) + outfile.write(" ".join(todo)) + outfile.write("

\n") -- cgit v1.2.3