]> git.decadent.org.uk Git - dak.git/blobdiff - tools/queue_rss.py
backports queued: forward uploads to ftp-master
[dak.git] / tools / queue_rss.py
index 8eb81f17da99df7b755e3e7209531c99293a3936..fc1ad3deb0f1c57d7bc02d4db6b6b375f474a807 100755 (executable)
@@ -12,13 +12,12 @@ import cPickle
 import re
 import sys
 import time
-import encodings.ascii
 from optparse import OptionParser
 from datetime import datetime
 
 import PyRSS2Gen
 
-from debian_bundle.deb822 import Changes
+from debian.deb822 import Changes
 
 inrss_filename = "NEW_in.rss"
 outrss_filename = "NEW_out.rss"
@@ -53,14 +52,6 @@ class Status:
 
         self.queue = {}
 
-def utf2ascii(src):
-    """ Return an ASCII encoded copy of the input UTF-8 string """
-    try:
-        res = unicode(src, 'utf-8').encode('ascii', 'replace')
-    except UnicodeDecodeError:
-        res = None
-    return res
-
 def purge_old_items(feed, max):
     """ Purge RSSItem from feed, no more than max. """
     if feed.items is None or len(feed.items) == 0:
@@ -112,7 +103,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 {}
 
@@ -144,8 +135,8 @@ def add_rss_item(status, msg, direction):
         return False
 
     description = "<pre>Description: %s\nChanges: %s\n</pre>" % \
-            (utf2ascii(cgi.escape(msg['Description'])),
-             utf2ascii(cgi.escape(msg['Changes'])))
+            (cgi.escape(msg['Description']),
+             cgi.escape(msg['Changes']))
 
     link = "http://ftp-master.debian.org/new/%s_%s.html" % \
             (msg['Source'], msg['Version'])
@@ -155,7 +146,7 @@ def add_rss_item(status, msg, direction):
             title,
             pubDate = pubdate,
             description = description,
-            author = utf2ascii(cgi.escape(msg['Maintainer'])),
+            author = cgi.escape(msg['Maintainer']),
             link = link,
             guid = link
         )
@@ -207,10 +198,6 @@ if __name__ == "__main__":
         status = Status()
 
     current_queue = parse_queuedir(settings.queuedir)
-    if not current_queue:
-        sys.stderr.write("Unable to scan queuedir '%s'\n" % settings.queuedir)
-        parser.print_help()
-        sys.exit(1)
 
     update_feeds(current_queue, status, settings)
 
@@ -223,7 +210,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)
 
@@ -231,7 +218,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)