Source: haproxy
Version: 2.0.13-1
Severity: important

Dear Maintainer,

can you please move cgi method into the http one?

Line `2685' exceeds 80 columns
Parsing chapter ...
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/debian/dconv/haproxy-dconv.py", line 536, in <module>
    main()
  File "/<<PKGBUILDDIR>>/debian/dconv/haproxy-dconv.py", line 69, in main
    convert(option.infile, option.outfile, option.base)
  File "/<<PKGBUILDDIR>>/debian/dconv/haproxy-dconv.py", line 360, in convert
    content = cgi.escape(content, True)
AttributeError: module 'cgi' has no attribute 'escape'
make[1]: *** [debian/rules:61: override_dh_auto_build-indep] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'

In python 3.8 looks like cgi.escape has been removed.
https://launchpadlibrarian.net/465183911/buildlog_ubuntu-focal-amd64.haproxy_2.0.13-1ubuntu1_BUILDING.txt.gz

Fortunately html.escape seems to be a drop-in replacement for it, so the 
following patch fixes the issue:

http://launchpadlibrarian.net/465185230/haproxy_2.0.13-1ubuntu1_2.0.13-1ubuntu2.diff.gz

diff -Nru haproxy-2.0.13/debian/dconv/haproxy-dconv.py 
haproxy-2.0.13/debian/dconv/haproxy-dconv.py
--- haproxy-2.0.13/debian/dconv/haproxy-dconv.py        2020-02-15 
21:48:40.000000000 +0000
+++ haproxy-2.0.13/debian/dconv/haproxy-dconv.py        2020-02-16 
09:34:53.000000000 +0000
@@ -23,7 +23,7 @@
 import os
 import subprocess
 import sys
-import cgi
+import html
 import re
 import time
 import datetime
@@ -338,7 +338,7 @@
             documentAppend('<a class="anchor" id="%s" name="%s"></a>' % 
(details["chapter"], details["chapter"]))
             if level == 1:
                 documentAppend("<div class=\"page-header\">", False)
-            documentAppend('<h%d id="chapter-%s" data-target="%s"><small><a 
class="small" href="#%s">%s.</a></small> %s</h%d>' % (level, 
details["chapter"], details["chapter"], details["chapter"], details["chapter"], 
cgi.escape(title, True), level))
+            documentAppend('<h%d id="chapter-%s" data-target="%s"><small><a 
class="small" href="#%s">%s.</a></small> %s</h%d>' % (level, 
details["chapter"], details["chapter"], details["chapter"], details["chapter"], 
html.escape(title, True), level))
             if level == 1:
                 documentAppend("</div>", False)
 
@@ -353,7 +353,7 @@
                 if index < len(chapterIndexes) - 1:
                     documentAppend('<li class="next"><a 
href="#%s">Next</a></li>' % chapterIndexes[index + 1], False)
                 documentAppend('</ul>', False)
-            content = cgi.escape(content, True)
+            content = html.escape(content, True)
             content = re.sub(r'section ([0-9]+(.[0-9]+)*)', r'<a 
href="#\1">section \1</a>', content)
 
             pctxt.set_content(content)

Reply via email to