Added a usegmt flag to email.Utils.formatdate - this allows it to be
used to replace rfc822.formatdate for protocols like HTTP (where 'GMT' must
be the timezone string).
diff --git a/Lib/email/Utils.py b/Lib/email/Utils.py
index e786d26..f210eec 100644
--- a/Lib/email/Utils.py
+++ b/Lib/email/Utils.py
@@ -103,7 +103,7 @@
 
 
 
-def formatdate(timeval=None, localtime=False):
+def formatdate(timeval=None, localtime=False, usegmt=False):
     """Returns a date string as specified by RFC 2822, e.g.:
 
     Fri, 09 Nov 2001 01:08:47 -0000
@@ -114,6 +114,10 @@
     Optional localtime is a flag that when True, interprets timeval, and
     returns a date relative to the local timezone instead of UTC, properly
     taking daylight savings time into account.
+
+    Optional argument usegmt means that the timezone is written out as 
+    an ascii string, not numeric one (so "GMT" instead of "+0000"). This
+    is needed for HTTP, and is only used when localtime==False.
     """
     # Note: we cannot use strftime() because that honors the locale and RFC
     # 2822 requires that day and month names be the English abbreviations.
@@ -138,7 +142,10 @@
     else:
         now = time.gmtime(timeval)
         # Timezone offset is always -0000
-        zone = '-0000'
+        if usegmt:
+            zone = 'GMT'
+        else:
+            zone = '-0000'
     return '%s, %02d %s %04d %02d:%02d:%02d %s' % (
         ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'][now[6]],
         now[2],