X-Git-Url: https://git.ucc.asn.au/?p=planet-ucc.git;a=blobdiff_plain;f=XHTMLWriter.py;h=838aae85b3b913ff7c3fcea529b287f4d0b346be;hp=b9cfcba0273200f1428e4f9242d698276d7e8e40;hb=ed2290e7118906f06e95e9f287257b71b78d8155;hpb=c0da12e3d57fa8ec00cf4e403c463e2ea7c028a8 diff --git a/XHTMLWriter.py b/XHTMLWriter.py index b9cfcba..838aae8 100644 --- a/XHTMLWriter.py +++ b/XHTMLWriter.py @@ -7,6 +7,7 @@ # import time +import sys class XHTMLWriter: def __init__(self, planet): @@ -15,19 +16,27 @@ class XHTMLWriter: self.parent = None def __write_item__(self, item): - output = '' - output += '
\n' - output += '

%s: %s

\n' % (item.blogURL, item.blogTitle, item.blogName, - item.itemURL, item.itemTitle) - output += '

\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'

\n' + output += u'

%s: %s

\n' % (item.blogURL, blogTitle, blogName, item.itemURL, itemTitle) + output += u'

\n' if item.imageURL: - output += '%s\n' % (item.imageLink, item.imageURL, item.blogName) - output += '(%s)\n' % (item.itemURL ,time.strftime('posted on %A %B %d, %Y at %H:%M AWST', time.localtime(item.itemDate))) - output += '

\n' - output += '
\n' + output += u'%s\n' % (item.imageLink, item.imageURL, item.blogName) + output += u'(%s)\n' % (item.itemURL ,time.strftime('posted on %A %B %d, %Y at %H:%M AWST', time.localtime(item.itemDate))) + output += u'

\n' + output += u'
\n' output += item.contents - output += '\n
\n' - output += '
\n' + output += u'\n
\n' + if item.commentsURL: + output += u'

Comments

' % item.commentsURL + output += u'
\n' return output def write(self): @@ -40,6 +49,9 @@ class XHTMLWriter: output += 'Planet UCC\n' output += '\n' output += '\n' + output += '\n' + output += '\n' + output += '\n' output += '\n' output += '\n' output += '
\n' @@ -48,6 +60,19 @@ class XHTMLWriter: except: pass output += '
\n' + output += '
\n' + for date in self.planet: + output += '

%s

\n' % time.strftime('%A %B %d, %Y', time.localtime(date.planetDate)) + for item in date.items: + output += self.__write_item__(item) + # see how many items we've written + itemcount += 1 + if itemcount >= self.maxitems: + break + # again, check to see if we've written the maximum number of items + if itemcount >= self.maxitems: + break + output += '
\n' output += '\n' - output += '
\n' - for date in self.planet: - output += '

%s

\n' % time.strftime('%A %B %d, %Y', time.localtime(date.planetDate)) - for item in date.items: - output += self.__write_item__(item) - # see how many items we've written - itemcount += 1 - if itemcount >= self.maxitems: - break - # again, check to see if we've written the maximum number of items - if itemcount >= self.maxitems: - break - output += '
\n' output += '