[Python-checkins] python/dist/src/Lib SimpleHTTPServer.py, 1.21, 1.22

jlgijsbers at users.sourceforge.net jlgijsbers at users.sourceforge.net
Sat Aug 21 12:43:32 CEST 2004


Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17182

Modified Files:
	SimpleHTTPServer.py 
Log Message:
Patch #1011123: Use urllib.quote() instead of cgi.escape() for encoding the
href attribute in list_directory(). This fixes the links for legal Unix
filenames such as 'a"b'.


Index: SimpleHTTPServer.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/SimpleHTTPServer.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- SimpleHTTPServer.py	7 Aug 2004 19:02:19 -0000	1.21
+++ SimpleHTTPServer.py	21 Aug 2004 10:43:29 -0000	1.22
@@ -105,7 +105,7 @@
         f.write("<hr>\n<ul>\n")
         for name in list:
             fullname = os.path.join(path, name)
-            displayname = linkname = name = cgi.escape(name)
+            displayname = linkname = name
             # Append / for directories or @ for symbolic links
             if os.path.isdir(fullname):
                 displayname = name + "/"
@@ -113,7 +113,8 @@
             if os.path.islink(fullname):
                 displayname = name + "@"
                 # Note: a link to a directory displays with @ and links with /
-            f.write('<li><a href="%s">%s</a>\n' % (linkname, displayname))
+            f.write('<li><a href="%s">%s</a>\n'
+                    % (urllib.quote(linkname), cgi.escape(displayname)))
         f.write("</ul>\n<hr>\n")
         length = f.tell()
         f.seek(0)



More information about the Python-checkins mailing list