#
import time
+import sys
class XHTMLWriter:
def __init__(self, planet):
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 += '</div>\n'
+ output += u'\n</div>\n'
+ if item.commentsURL:
+ output += u'<p class="comments"><a href="%s">Comments</a></p>' % item.commentsURL
+ output += u'</div>\n'
return output
def write(self):
output += '<title>Planet UCC</title>\n'
output += '<link rel="stylesheet" href="planet.css" type="text/css" media="screen" />\n'
output += '<link rel="icon" type="image/png" href="icon.png" />\n'
+ output += '<link rel="SHORTCUT ICON" type="image/png" href="icon.png" />\n'
+ output += '<link rel="alternate" type="application/rss+xml" title="RSS 1.0" href="rss1.xml" />\n'
+ output += '<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="rss2.xml" />\n'
output += '</head>\n'
output += '<body>\n'
output += '<div class="header">\n'
return output
def __blog_sort__(self, blog1, blog2):
- name1, name2 = blog1.blogName.split(' ')[-1], blog2.blogName.split(' ')[-1]
+ # name1, name2 = blog1.blogName.split(' ')[-1], blog2.blogName.split(' ')[-1]
+ name1, name2 = blog1.blogName, blog2.blogName
if name1 < name2: return -1
if name1 == name2: return 0
if name1 > name2: return 1