Add content-type header to ftp URLs (SF patch #454553)
Modify rfc822.formatdate() to always generate English names,
regardless of locale. This is required by RFC 1123.
In open_local_file() of urllib and urllib2, use new formatdate() from
rfc822.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index a255956..8c1852e 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -406,18 +406,12 @@
def open_local_file(self, url):
"""Use local file."""
- import mimetypes, mimetools, StringIO
+ import mimetypes, mimetools, rfc822, StringIO
host, file = splithost(url)
localname = url2pathname(file)
stats = os.stat(localname)
size = stats[stat.ST_SIZE]
- modified = time.gmtime(stats[stat.ST_MTIME])
- modified = "%s, %02d %s %04d %02d:%02d:%02d GMT" % (
- ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"][modified[6]],
- modified[2],
- ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][modified[1]-1],
- modified[0], modified[3], modified[4], modified[5])
+ modified = rfc822.formatdate(stats[stat.ST_MTIME])
mtype = mimetypes.guess_type(url)[0]
headers = mimetools.Message(StringIO.StringIO(
'Content-Type: %s\nContent-Length: %d\nLast-modified: %s\n' %