docs/shell.rst: Auto-generate shell command reference
We use a slightly modified version of sphinx-argparse
(with patch https://github.com/alex-rudakov/sphinx-argparse/pull/136 applied)
in order to generate the command reference for each shell command in the
manual.
As the upstream repository seems unmaintained for ~2 years, let's use
the osmocom 'fork' with that above-mentioned patch applied.
Change-Id: I134f267cf53c7ecbc8cbfb33a8766d63bf4a8582
diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index efb913e..60061e3 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -21,6 +21,7 @@
# attempt to build documentation
pip install sphinx
pip install sphinxcontrib-napoleon
+pip3 install -e 'git+https://github.com/osmocom/sphinx-argparse@master#egg=sphinx-argparse'
(cd docs && make html)
# run the test with physical cards
diff --git a/docs/conf.py b/docs/conf.py
index add26d8..2117172 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -29,6 +29,7 @@
# ones.
extensions = [
"sphinx.ext.autodoc",
+ "sphinxarg.ext",
"sphinx.ext.autosectionlabel",
"sphinx.ext.napoleon"
]
diff --git a/docs/shell.rst b/docs/shell.rst
index ddb21d5..2edebbf 100644
--- a/docs/shell.rst
+++ b/docs/shell.rst
@@ -85,32 +85,41 @@
change_chv
~~~~~~~~~~
-
-This command allows you to change a CHV (PIN).
+.. argparse::
+ :module: pySim-shell
+ :func: Iso7816Commands.change_chv_parser
disable_chv
~~~~~~~~~~~
+.. argparse::
+ :module: pySim-shell
+ :func: Iso7816Commands.disable_chv_parser
-This command allows you to disable a CHV (PIN).
enable_chv
~~~~~~~~~~
-
-This command allows you to enable a CHV (PIN).
+.. argparse::
+ :module: pySim-shell
+ :func: Iso7816Commands.enable_chv_parser
unblock_chv
~~~~~~~~~~~
+.. argparse::
+ :module: pySim-shell
+ :func: Iso7816Commands.unblock_chv_parser
-This command allows you to unblock a CHV (PIN) using the PUK.
verify_chv
~~~~~~~~~~
-
This command allows you to verify a CHV (PIN), which is how the specifications call
it if you authenticate yourself with the said CHV/PIN.
+.. argparse::
+ :module: pySim-shell
+ :func: Iso7816Commands.verify_chv_parser
+
pySim commands
@@ -128,30 +137,26 @@
dir
~~~
-
-::
-
- usage: dir [-h] [--fids] [--names] [--apps] [--all]
-
- Show a listing of files available in currently selected DF or MF
-
- optional arguments:
- -h, --help show this help message and exit
- --fids Show file identifiers
- --names Show file names
- --apps Show applications
- --all Show all selectable identifiers and names
+.. argparse::
+ :module: pySim-shell
+ :func: PySimCommands.dir_parser
export
~~~~~~
+.. argparse::
+ :module: pySim-shell
+ :func: PySimCommands.export_parser
+
tree
~~~~
+FIXME
+
verify_adm
~~~~~~~~~~
-
+FIXME
Linear Fixed EF commands
@@ -161,15 +166,30 @@
read_record
~~~~~~~~~~~
+.. argparse::
+ :module: pySim.filesystem
+ :func: LinFixedEF.ShellCommands.read_rec_parser
+
read_record_decoded
~~~~~~~~~~~~~~~~~~~
+.. argparse::
+ :module: pySim.filesystem
+ :func: LinFixedEF.ShellCommands.read_rec_dec_parser
+
update_record
~~~~~~~~~~~~~
+.. argparse::
+ :module: pySim.filesystem
+ :func: LinFixedEF.ShellCommands.upd_rec_parser
+
update_record_decoded
~~~~~~~~~~~~~~~~~~~~~
+.. argparse::
+ :module: pySim.filesystem
+ :func: LinFixedEF.ShellCommands.upd_rec_dec_parser
@@ -181,15 +201,30 @@
read_binary
~~~~~~~~~~~
+.. argparse::
+ :module: pySim.filesystem
+ :func: TransparentEF.ShellCommands.read_bin_parser
+
read_binary_decoded
~~~~~~~~~~~~~~~~~~~
+.. argparse::
+ :module: pySim.filesystem
+ :func: TransparentEF.ShellCommands.read_bin_dec_parser
+
update_binary
~~~~~~~~~~~~~
+.. argparse::
+ :module: pySim.filesystem
+ :func: TransparentEF.ShellCommands.upd_bin_parser
+
update_binary_decoded
~~~~~~~~~~~~~~~~~~~~~
+.. argparse::
+ :module: pySim.filesystem
+ :func: TransparentEF.ShellCommands.upd_bin_dec_parser