blob: ec225ed4e11238b06d5bcf42331b10b9ac783e07 [file] [log] [blame]
Rob Landley37aa8212012-07-21 00:29:27 -05001#!/usr/bin/python
2
Rob Landley9a69a922013-02-23 18:32:08 -06003# Create status.html
4
Rob Landley37aa8212012-07-21 00:29:27 -05005import subprocess,sys
6
Rob Landley7a78d922012-12-23 00:37:42 -06007def readit(args):
8 ret={}
9 arr=[]
10 blob=subprocess.Popen(args, stdout=subprocess.PIPE, shell=False)
11 for i in blob.stdout.read().split("\n"):
12 if not i: continue
13 i=i.split()
14 ret[i[0]]=i[1:]
15 arr.extend(i)
16 return ret,arr
Rob Landley37aa8212012-07-21 00:29:27 -050017
Rob Landley7a78d922012-12-23 00:37:42 -060018stuff,blah=readit(["sed","-n", 's/<span id=\\([a-z_]*\\)>/\\1 /;t good;d;:good;h;:loop;n;s@</span>@@;t out;H;b loop;:out;g;s/\\n/ /g;p', "www/roadmap.html", "www/status.html"])
19
20blah,toystuff=readit(["./toybox"])
Rob Landley8f90d3a2012-07-21 23:58:40 -050021
Rob Landley37aa8212012-07-21 00:29:27 -050022reverse={}
23for i in stuff:
24 for j in stuff[i]:
Rob Landley7a78d922012-12-23 00:37:42 -060025 try: reverse[j].append(i)
26 except: reverse[j]=[i]
27
28for i in toystuff:
29 try:
30 if ("ready" in reverse[i]) or ("pending" in reverse[i]): continue
31 except: pass
32 print i
Rob Landley37aa8212012-07-21 00:29:27 -050033
34pending=[]
35done=[]
36
Rob Landley9a69a922013-02-23 18:32:08 -060037print "all commands=%s" % len(reverse)
38
Rob Landley37aa8212012-07-21 00:29:27 -050039outfile=open("www/status.gen", "w")
Rob Landleye0cc81e2012-12-01 18:27:37 -060040outfile.write("<a name=all><h2><a href=#all>All commands</a></h2><blockquote><p>\n")
Rob Landley37aa8212012-07-21 00:29:27 -050041
42blah=list(reverse)
43blah.sort()
44for i in blah:
45 out=i
Rob Landleye0cc81e2012-12-01 18:27:37 -060046 if "posix" in reverse[i]: out='[<a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/%s.html">%s</a>]' % (i,out)
Rob Landley37aa8212012-07-21 00:29:27 -050047 elif "lsb" in reverse[i]: out='&lt;<a href="http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/%s.html">%s</a>&gt;' % (i,out)
48 elif "development" in reverse[i]: out='(<a href="http://linux.die.net/man/1/%s">%s</a>)' % (i,out)
49 elif "toolbox" in reverse[i]: out='{%s}' % out
Rob Landley9a69a922013-02-23 18:32:08 -060050 elif "klibc_cmd" in reverse[i]: out='=%s=' % out
51 elif "sash_cmd" in reverse[i]: out='#%s#' % out
52 elif "sbase_cmd" in reverse[i]: out='@%s@' % out
53 elif "beastiebox_cmd" in reverse[i]: out='*%s*' % out
54 elif "request" in reverse[i]: out='+<a href="http://linux.die.net/man/1/%s">%s</a>+' % (i,out)
Rob Landley37aa8212012-07-21 00:29:27 -050055 elif "ready" in reverse[i]: pass
56 else: sys.stderr.write("unknown %s %s\n" % (i, reverse[i]))
Rob Landley37aa8212012-07-21 00:29:27 -050057 if "ready" in reverse[i] or "pending" in reverse[i]:
Rob Landley37aa8212012-07-21 00:29:27 -050058 done.append(out)
Rob Landley8f90d3a2012-07-21 23:58:40 -050059 out='<strike>%s</strike>' % out
Rob Landley37aa8212012-07-21 00:29:27 -050060 else: pending.append(out)
61
62 outfile.write(out+"\n")
63
Rob Landley9a69a922013-02-23 18:32:08 -060064print "done=%s" % len(done)
Rob Landley37aa8212012-07-21 00:29:27 -050065outfile.write("</p></blockquote>\n")
66
Rob Landleye0cc81e2012-12-01 18:27:37 -060067outfile.write("<a name=todo><h2><a href=#todo>TODO</a></h2><blockquote><p>%s</p></blockquote>\n" % "\n".join(pending))
68outfile.write("<a name=done><h2><a href=#done>Done</a></h2><blockquote><p>%s</p></blockquote>\n" % "\n".join(done))