[Mesa-dev] [PATCH v2 02/15] docs: Add python script that converts html to rst.

Laura Ekstrand laura at jlekstrand.net
Wed May 30 22:53:14 UTC 2018


Use Beautiful Soup to fix bad html, then use pandoc for converting to
rst.
---
 docs/rstConverter.py | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100755 docs/rstConverter.py

diff --git a/docs/rstConverter.py b/docs/rstConverter.py
new file mode 100755
index 0000000000..5321fdde8b
--- /dev/null
+++ b/docs/rstConverter.py
@@ -0,0 +1,23 @@
+#!/usr/bin/python3
+import glob
+import subprocess
+from bs4 import BeautifulSoup
+
+pages = glob.glob("*.html")
+pages += glob.glob("relnotes/*.html")
+for filename in pages:
+    # Fix some annoyingly bad html.
+    with open(filename) as f:
+        soup = BeautifulSoup(f, 'html5lib')
+    soup.find("div", "header").extract() # Get rid of old header
+    soup.iframe.extract() # Get rid of old contents bar.
+    soup.find("div", "content").unwrap() # Strip the content div.
+
+    # Write out the better html.
+    with open(filename, 'wt') as f:
+        f.write(str(soup))
+
+    # Convert to rst with pandoc.
+    name = filename.split(".html")[0]
+    bashCmd = "pandoc " + filename + " -o " + name + ".rst"
+    subprocess.run(bashCmd.split())
-- 
2.14.3



More information about the mesa-dev mailing list