X-Git-Url: https://git.ucc.asn.au/?p=planet-ucc.git;a=blobdiff_plain;f=update-planet;h=4e23e5b98e8ce8bd761fa69bbf71ef3fddba45ab;hp=91cd8995e314e45a4dc532b48aec4b78e5855f7c;hb=dc7db379d1b11f9de8894865689f1c626d62a523;hpb=7c1189be656d2ab9f484d9d0f1ab1b8f287de4c8 diff --git a/update-planet b/update-planet index 91cd899..4e23e5b 100755 --- a/update-planet +++ b/update-planet @@ -12,7 +12,7 @@ import sys, codecs # planetUCC modules import XMLParse2 as XMLParse, XMLWriter, CacheHandler # planetUCC output plugins -import XHTMLWriter, RSS2Writer, RSS1Writer +import XHTMLWriter, RSS2Writer, RSS1Writer, FOAFWriter, OPMLWriter # step 1: read in the config and check each object from cache cache = CacheHandler.CacheHandler() @@ -28,19 +28,27 @@ for feed in open('feedlist').readlines(): 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) @@ -59,4 +67,14 @@ 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