Updated list
[planet-ucc.git] / update-planet
index 6122579..86fc4a8 100755 (executable)
@@ -7,8 +7,12 @@
 # (c) 2004, Davyd Madeley <[email protected]>
 #
 
+# standard python modules
 import sys, codecs
+# planetUCC modules
 import XMLParse2 as XMLParse, XMLWriter, CacheHandler
+# planetUCC output plugins
+import XHTMLWriter, RSS2Writer, RSS1Writer
 
 # step 1: read in the config and check each object from cache
 cache  = CacheHandler.CacheHandler()
@@ -20,24 +24,38 @@ for feed in open('feedlist').readlines():
                name, feed      = storage[0], storage[-1]
                try:
                        feeds.append((name, feed, cache.getBlog(name, feed)))
-#                      # XXX: might want to consider some good caching code in here
-#                      feeds.append((name, feed, urllib2.urlopen(feed).read()))
                except:
-                       raise
+                       sys.stderr.write('DEBUG: update-planet: something went wrong retrieving feed\n')
 
 # step 2: process each feed
 blogs  = []
 for feed in feeds:
        # XMLParse2 takes two paramaters, a URL and a CacheObject
        blog    = XMLParse.XMLParse(feed[1], feed[2]).parse()
-       blog.blogTitle  = feed[0]
-       blog.feedURL    = feed[1]
-       blogs.append(blog)
-       # write the cache back down to disk
-       cache.storeBlog(blog)
+       if blog:
+               blog.blogTitle  = feed[0]
+               blog.feedURL    = feed[1]
+               blogs.append(blog)
+               # write the cache back down to disk
+               cache.storeBlog(blog)
+       else:
+               pass
 
-# step 3: write feed to disk
+# step 3: sift the feeds
+xmlwriter      = XMLWriter.XMLWriter(blogs)
+
+# step 4: write feed to disk
 try:
-       codecs.open('planet.html', 'wb', 'utf-8').write(XMLWriter.XMLWriter(XMLWriter.XHTMLWriter, blogs).write())
+       codecs.open('planet.html', 'wb', 'utf-8').write(xmlwriter.write(XHTMLWriter.XHTMLWriter))
 except:
        sys.stderr.write('DEBUG: update-planet: could not write planet.html, aborting\n')
+
+try:
+       codecs.open('rss2.xml', 'wb', 'utf-8').write(xmlwriter.write(RSS2Writer.RSS2Writer))
+except:
+       sys.stderr.write('DEBUG: update-planet: could not write rss2.xml, aborting\n')
+
+try:
+       codecs.open('rss1.xml', 'wb', 'utf-8').write(xmlwriter.write(RSS1Writer.RSS1Writer))
+except:
+       sys.stderr.write('DEBUG: update-planet: could not write rss1.xml, aborting\n')

UCC git Repository :: git.ucc.asn.au