public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] doc: Various fixes to makedocbook for python3.8
@ 2020-08-24 16:36 Jon TURNEY
  0 siblings, 0 replies; only message in thread
From: Jon TURNEY @ 2020-08-24 16:36 UTC (permalink / raw)
  To: newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c2d6e6f7f6e4cee5db023fa299d5c39d348805ca

commit c2d6e6f7f6e4cee5db023fa299d5c39d348805ca
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sat Aug 22 17:15:24 2020 +0100

    doc: Various fixes to makedocbook for python3.8
    
    Also update shebang to explicitly use python3, since python2 is EOL and
    (per PEP 0394) 'python' may not exist at all.

Diff:
---
 newlib/doc/makedocbook.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/newlib/doc/makedocbook.py b/newlib/doc/makedocbook.py
index 92d0f279d..66481a672 100755
--- a/newlib/doc/makedocbook.py
+++ b/newlib/doc/makedocbook.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 #
 # python script to process makedoc instructions in a source file and produce
 # DocBook XML output
@@ -199,6 +199,8 @@ def function(c, l):
     namelist = map(lambda v: re.sub('^and ', '', v.strip(), 1), namelist)
     # strip off << >> surrounding name
     namelist = map(lambda v: v.strip().lstrip('<').rstrip('>'), namelist)
+    # instantiate list to make it subscriptable
+    namelist = list(namelist)
 
     if verbose:
         print(namelist, file=sys.stderr)
@@ -262,7 +264,7 @@ def index(c, l):
     primary.text = l
 
     # to validate, it seems we need to maintain refentry elements in a certain order
-    refentry[:] = sorted(refentry, key = lambda x: x.tag)
+    refentry[:] = sorted(refentry, key = lambda x: x.tag if isinstance(x.tag, str) else '')
 
     # adds another alternate refname
     refnamediv = refentry.find('refnamediv')
@@ -807,7 +809,7 @@ def main(file):
     perform(processed)
 
     # output the XML tree
-    s = lxml.etree.tostring(rootelement, pretty_print=True)
+    s = lxml.etree.tostring(rootelement, pretty_print=True, encoding='unicode')
 
     if not s:
         print('No output produced (perhaps the input has no makedoc markup?)', file=sys.stderr)
@@ -826,7 +828,7 @@ def main(file):
 
 if __name__ == '__main__' :
     options = OptionParser()
-    options.add_option('-v', '--verbose', action='count', dest = 'verbose')
+    options.add_option('-v', '--verbose', action='count', dest = 'verbose', default = 0)
     options.add_option('-c', '--cache', action='store_true', dest = 'cache', help="just ensure PLY cache is up to date")
     (opts, args) = options.parse_args()


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-08-24 16:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-24 16:36 [newlib-cygwin] doc: Various fixes to makedocbook for python3.8 Jon TURNEY

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).