[PATCH] Documentation: use command groups

Jan Luebbe jlu at pengutronix.de
Fri Jul 11 11:51:58 PDT 2014


The help definition already contained a group declaration.
This is now reused for the HTML documentation.

Signed-off-by: Jan Luebbe <jlu at pengutronix.de>
---
 Documentation/commands.rst    | 86 ++++++++++++++++++++++++++++++++++++++++++-
 Documentation/gen_commands.py | 13 ++++++-
 2 files changed, 95 insertions(+), 4 deletions(-)

diff --git a/Documentation/commands.rst b/Documentation/commands.rst
index 55b04f6..0dc9e1b 100644
--- a/Documentation/commands.rst
+++ b/Documentation/commands.rst
@@ -1,9 +1,91 @@
 Command reference
 =================
 
+Information
+-----------
 .. toctree::
+   :titlesonly:
    :glob:
-   :maxdepth: 1
 
-   commands/*
+   commands/info/*
+
+Booting
+-------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/boot/*
+
+Partitions and Filesystems
+--------------------------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/part/*
+
+Environment
+-----------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/env/*
+
+Files
+-----
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/file/*
+
+Shell Scripting
+---------------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/script/*
+
+Console and Framebuffer
+-----------------------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/console/*
+
+Memory
+------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/mem/*
+
+Hardware Manipulation
+---------------------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/hwmanip/*
+
+Miscelleanous
+-------------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/misc/*
+
+Networking
+----------
+.. toctree::
+   :titlesonly:
+   :glob:
+
+   commands/net/*
 
diff --git a/Documentation/gen_commands.py b/Documentation/gen_commands.py
index 4e33cca..d3db350 100755
--- a/Documentation/gen_commands.py
+++ b/Documentation/gen_commands.py
@@ -1,5 +1,6 @@
 #!/usr/bin/python
 
+import errno
 import os
 import re
 import sys
@@ -76,7 +77,7 @@ def parse_c(name):
     x = CMD_GROUP.match(line)
     if x:
       last = cmd['c_group']
-      last.append(x.group(1).decode("string_escape"))
+      last.append(x.group(1).split('_')[-1].lower())
       continue
     x = CONT.match(line)
     if x:
@@ -159,6 +160,14 @@ for name in CMDS.keys():
 for name, cmd in CMDS.items():
   #pprint({name: cmd})
   rst = gen_rst(name, cmd)
-  target = os.path.join(sys.argv[2], name+'.rst')
+  subdir = os.path.join(sys.argv[2], cmd['c_group'][0])
+  try:
+    os.makedirs(subdir)
+  except OSError as e:
+    if e.errno == errno.EEXIST and os.path.isdir(subdir):
+      pass
+    else:
+      raise
+  target = os.path.join(subdir, name+'.rst')
   file(target, 'w').write(rst)
 
-- 
1.9.1




More information about the barebox mailing list