Skip to content

Convert get_feat to Python

Mauro Carvalho Chehab linux-doc lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest3 patches 2 repliesIn review
  2. v13 patches 4 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3tools/docs/get_feat.py: convert get_feat.pl to PythonDocumentation/sphinx/kernel_feat.py tools/docs/get_feat.py tools/lib/python/feat/parse_features.py+724 -00 replies
2/3Documentation/sphinx/kernel_feat.py: use class directlyDocumentation/sphinx/kernel_feat.py+10 -130 replies
3/3get_feat.pl: remove it, as it got replaced by get_feat.pytools/docs/get_feat.pl+0 -6410 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/3] Convert get_feat to Python

Hi Jon,

That's the final series to complete the migration of documentation
build: it converts get_feat from Perl to Python.

V2 is technically identical to v1: the only difference is that it now uses tools/lib/python/feat to store the library logic.

With that, no Sphinx in-kernel extensions use fork anymore to call ancillary scripts: everything is now importing Python methods directly from the libraries.

As we don't have a definition yet for the location of the Python libraries yet, I opted to place the parse features library inside tools/docs/lib. It shouldn't be hard to move it elsewhere once we define a better place for them.

There's nothing special on this conversion: it is a direct translation, almost bug-compatible with the original version (*).

(*) I did solve two or three caveats on patch 1.

Most of the complexity of the script relies at the logic to produce ReST tables. I do have here on my internal scripts a (somewhat) generic formatter for ReST tables in Python. I was tempted to convert the logic to use it, but, as this could cause regressions, I opted to not do it right now, mainly because the matrix table logic is complex. Also, I'm tempted to modify a little bit the output there, but extra tests are required to see if PDF output would work with complex tables (I remember I had a problem with that in the past). So, I'm postponing such extra cleanup.

Mauro Carvalho Chehab (3):
tools/docs/get_feat.py: convert get_feat.pl to Python Documentation/sphinx/kernel_feat.py: use class directly get_feat.pl: remove it, as it got replaced by get_feat.py

 Documentation/sphinx/kernel_feat.py     |  24 +-
 tools/docs/get_feat.pl                  | 641 ------------------------
 tools/docs/get_feat.py                  | 225 +++++++++
 tools/lib/python/feat/parse_features.py | 494 ++++++++++++++++++
 4 files changed, 732 insertions(+), 652 deletions(-)
 delete mode 100755 tools/docs/get_feat.pl
 create mode 100755 tools/docs/get_feat.py
 create mode 100755 tools/lib/python/feat/parse_features.py
Signature · 1 line
2.51.1