#
+# standard python modules
import sys, codecs
+# planetUCC modules
import XMLParse2 as XMLParse, XMLWriter, CacheHandler
-import XHTMLWriter, RSS2Writer
+# planetUCC output plugins
+import XHTMLWriter, RSS2Writer, RSS1Writer, FOAFWriter, OPMLWriter
# step 1: read in the config and check each object from cache
cache = CacheHandler.CacheHandler()
sys.stderr.write('DEBUG: update-planet: something went wrong retrieving feed\n')
# step 2: process each feed
+tainted = False
blogs = []
for feed in feeds:
# XMLParse2 takes two paramaters, a URL and a CacheObject
blog = XMLParse.XMLParse(feed[1], feed[2]).parse()
if blog:
- blog.blogTitle = feed[0]
+ blog.blogName = feed[0]
blog.feedURL = feed[1]
blogs.append(blog)
+ # check the old copy of the cache, vs the new copy
+ if not feed[2] or not feed[2].cache or not blog or not blog.cache or feed[2].cache != blog.cache:
+ tainted = True
# write the cache back down to disk
cache.storeBlog(blog)
else:
pass
+if not tainted:
+ sys.stdout.write('PlanetUCC: no objects have changed in the cache, not updating\n')
+ sys.exit(1)
+
# step 3: sift the feeds
xmlwriter = XMLWriter.XMLWriter(blogs)
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')
- raise
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')
+
+try:
+ codecs.open('foaf.xml', 'wb', 'utf-8').write(xmlwriter.write(FOAFWriter.FOAFWriter))
+except:
+ sys.stderr.write('DEBUG: update-planet: could not write foaf.xml, aborting\n')
+
+try:
+ codecs.open('opml.xml', 'wb', 'utf-8').write(xmlwriter.write(OPMLWriter.OPMLWriter))
+except:
+ sys.stderr.write('DEBUG: update-planet: could not write opml.xml, aborting\n')
raise