feedlist: add new blogs
[planet-ucc.git] / XHTMLWriter.py
index caa01f3..838aae8 100644 (file)
@@ -7,6 +7,7 @@
 #
 
 import time
+import sys
 
 class XHTMLWriter:
        def __init__(self, planet):
@@ -15,21 +16,27 @@ class XHTMLWriter:
                self.parent     = None
        
        def __write_item__(self, item):
-               output  =       ''
-               output  +=      '<div class="item">\n'
-               output  +=      '<h2><a href="%s" title="%s">%s</a>: <a href="%s">%s</a></h2>\n' % (item.blogURL, item.blogTitle, item.blogName,
-                                                                                                       item.itemURL, item.itemTitle)
-               output  +=      '<p class="time">\n'
+               try:
+                       blogTitle, blogName, itemTitle = map(unicode, [item.blogTitle, item.blogName, item.itemTitle])
+               except UnicodeDecodeError, e:
+                       print >> sys.stderr, "Unicode error in %s" % item.itemURL
+                       print >> sys.stderr, e
+                       return ''
+
+               output  =       u''
+               output  +=      u'<div class="item">\n'
+               output  +=      u'<h2><a href="%s" title="%s">%s</a>: <a href="%s">%s</a></h2>\n' % (item.blogURL, blogTitle, blogName, item.itemURL, itemTitle)
+               output  +=      u'<p class="time">\n'
                if item.imageURL:
-                       output += '<a class="image" href="%s"><img class="image" src="%s" alt="%s" /></a>\n' % (item.imageLink, item.imageURL, item.blogName)
-               output  +=      '(<a href="%s">%s</a>)\n' % (item.itemURL ,time.strftime('posted on %A %B %d, %Y at %H:%M AWST', time.localtime(item.itemDate)))
-               output  +=      '</p>\n'
-               output  +=      '<div class="itembody">\n'
+                       output += u'<a class="image" href="%s"><img class="image" src="%s" alt="%s" /></a>\n' % (item.imageLink, item.imageURL, item.blogName)
+               output  +=      u'(<a href="%s">%s</a>)\n' % (item.itemURL ,time.strftime('posted on %A %B %d, %Y at %H:%M AWST', time.localtime(item.itemDate)))
+               output  +=      u'</p>\n'
+               output  +=      u'<div class="itembody">\n'
                output  +=      item.contents
-               output  +=      '\n</div>\n'
+               output  +=      u'\n</div>\n'
                if item.commentsURL:
-                       output += '<p class="comments"><a href="%s">Comments</a></p>' % item.commentsURL
-               output  +=      '</div>\n'
+                       output += u'<p class="comments"><a href="%s">Comments</a></p>' % item.commentsURL
+               output  +=      u'</div>\n'
                return output
        
        def write(self):

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