X-Git-Url: https://git.ucc.asn.au/?p=planet-ucc.git;a=blobdiff_plain;f=XMLWriter.py;fp=XMLWriter.py;h=7f60c4e9d5385170d4dadac737ef07c43d6bd331;hp=38904dcf3874d6e216ac760d3387d068af81dd29;hb=5978ce5ae181d88a687a1eae36bde3513e2d06dd;hpb=8afc0d268787b7b3cb06dcc50e06707d31a5af68 diff --git a/XMLWriter.py b/XMLWriter.py index 38904dc..7f60c4e 100644 --- a/XMLWriter.py +++ b/XMLWriter.py @@ -71,100 +71,15 @@ class Planet: class XMLWriter: - def __init__(self, doctype, bloglist): + def __init__(self, bloglist): self.blogs = bloglist self.planet = Planet(bloglist) self.items = self.planet.sort() - # doctype should be something like XMLWriter.XHTMLWriter - self.writer = doctype(self.items) - self.writer.parent = self - def write(self): - output = self.writer.write() + def write(self, doctype): + # doctype should be something like XHTMLWriter.XHTMLWriter + writer = doctype(self.items) + writer.parent = self + output = writer.write() return output -class XHTMLWriter: - def __init__(self, planet): - self.planet = planet - self.maxitems = 50 - self.parent = None - - def __write_item__(self, item): - output = '' - output += '
\n' - output += '

%s: %s

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

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

\n' - output += '

\n' - output += item.contents - output += '\n

\n' - output += '
\n' - return output - - def write(self): - itemcount = 0 - output = '' - output += '\n' - output += '\n' - output += '\n' - output += '\n' - output += 'Planet UCC\n' - output += '\n' - output += '\n' - output += '\n' - output += '\n' - output += '
\n' - try: - output += open('header.html').read() - except: - pass - 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 += '\n' - output += '\n' - output += '' - return output - - def __blog_sort__(self, blog1, blog2): - name1, name2 = blog1.blogTitle.split(' ')[-1], blog2.blogTitle.split(' ')[-1] - if name1 < name2: return -1 - if name1 == name2: return 0 - if name1 > name2: return 1