]> git.decadent.org.uk Git - dak.git/blobdiff - tools/queue_rss.py
Keep track of when a package was last added to a suite
[dak.git] / tools / queue_rss.py
index 4e8c7ca25e8282497c0dc6eb99e8f6864cd006ab..fd49c0dfe1f0173a7c0fd343e7ed37a1af5cd9bc 100755 (executable)
@@ -14,6 +14,7 @@ import sys
 import time
 from optparse import OptionParser
 from datetime import datetime
+from email.utils import parseaddr
 
 import PyRSS2Gen
 
@@ -42,12 +43,12 @@ class Status:
     def __init__(self):
         self.feed_in = PyRSS2Gen.RSS2(
                        title = "Packages entering NEW",
-                       link = "http://ftp-master.debian.org/new.html",
+                       link = "https://ftp-master.debian.org/new.html",
                        description = "Debian packages entering the NEW queue" )
 
         self.feed_out = PyRSS2Gen.RSS2(
                        title = "Packages leaving NEW",
-                       link = "http://ftp-master.debian.org/new.html",
+                       link = "https://ftp-master.debian.org/new.html",
                        description = "Debian packages leaving the NEW queue" )
 
         self.queue = {}
@@ -103,7 +104,7 @@ def parse_leave_reason(fname):
 
     try:
         f = open(fname)
-    except IOError, e:
+    except IOError as e:
         sys.stderr.write("Can't open %s: %s\n" % (fname, e))
         return {}
 
@@ -138,15 +139,18 @@ def add_rss_item(status, msg, direction):
             (cgi.escape(msg['Description']),
              cgi.escape(msg['Changes']))
 
-    link = "http://ftp-master.debian.org/new/%s_%s.html" % \
+    link = "https://ftp-master.debian.org/new/%s_%s.html" % \
             (msg['Source'], msg['Version'])
 
+    maintainer = parseaddr(msg['Maintainer'])
+    author = "%s (%s)" % (maintainer[1], maintainer[0])
+
     feed.items.insert(0,
         PyRSS2Gen.RSSItem(
             title,
             pubDate = pubdate,
             description = description,
-            author = cgi.escape(msg['Maintainer']),
+            author = cgi.escape(author),
             link = link,
             guid = link
         )
@@ -210,7 +214,7 @@ if __name__ == "__main__":
     try:
         status.feed_in.write_xml(file(feed_in_file, "w+"), "utf-8")
         status.feed_out.write_xml(file(feed_out_file, "w+"), "utf-8")
-    except IOError, why:
+    except IOError as why:
         sys.stderr.write("Unable to write feeds: %s\n", why)
         sys.exit(1)
 
@@ -218,7 +222,7 @@ if __name__ == "__main__":
 
     try:
         cPickle.dump(status, open(status_db, "w+"))
-    except IOError, why:
+    except IOError as why:
         sys.stderr.write("Unable to save status: %s\n", why)
         sys.exit(1)