]> git.decadent.org.uk Git - dak.git/blobdiff - queue_rss.py
again, trailing whitespaces removed
[dak.git] / queue_rss.py
index 2f0ee1492b6407bbe325f1202136545dd885760e..6e5c240721e3fe73f84866861877fce4b7c2bb09 100755 (executable)
@@ -48,7 +48,7 @@ class Status:
 def utf2ascii(src):
     """ Return an ASCII encoded copy of the input UTF-8 string """
     try:
-        res = unicode(src, 'utf-8').encode('ascii', 'replace') 
+        res = unicode(src, 'utf-8').encode('ascii', 'replace')
     except UnicodeDecodeError:
         res = None
     return res
@@ -57,7 +57,7 @@ def purge_old_items(feed, max):
     """ Purge RSSItem from feed, no more than max. """
     if feed.items is None or len(feed.items) == 0:
         return False
-    
+
     feed.items = feed.items[:max]
     return True
 
@@ -115,7 +115,7 @@ def add_rss_item(status, msg, direction):
 
     feed.items.insert(0,
         PyRSS2Gen.RSSItem(
-            title, 
+            title,
             pubDate = msg['Date'],
 #            pubDate = now(),
             description = description,
@@ -147,10 +147,12 @@ if __name__ == "__main__":
 
     if not os.path.exists(settings.outdir):
         sys.stderr.write("Outdir '%s' does not exists\n" % settings.outdir)
+        parser.print_help()
         sys.exit(1)
 
     if not os.path.exists(settings.datadir):
         sys.stderr.write("Datadir '%s' does not exists\n" % settings.datadir)
+        parser.print_help()
         sys.exit(1)
 
     status_db = os.path.join(settings.datadir, db_filename)
@@ -174,11 +176,19 @@ if __name__ == "__main__":
     feed_in_file = os.path.join(settings.outdir, inrss_filename)
     feed_out_file = os.path.join(settings.outdir, outrss_filename)
 
-    status.feed_in.write_xml(file(feed_in_file, "w+"), "utf-8")
-    status.feed_out.write_xml(file(feed_out_file, "w+"), "utf-8")
+    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:
+        sys.stderr.write("Unable to write feeds: %s\n", why)
+        sys.exit(1)
 
     status.queue = current_queue
 
-    cPickle.dump(status, open(status_db, "w+"))
+    try:
+        cPickle.dump(status, open(status_db, "w+"))
+    except IOError, why:
+        sys.stderr.write("Unable to save status: %s\n", why)
+        sys.exit(1)
 
 # vim:et:ts=4