X-Git-Url: https://git.ucc.asn.au/?p=planet-ucc.git;a=blobdiff_plain;f=XMLWriter.py;h=27f4738363fbc9d224b6f24cb52c5823537121b2;hp=38904dcf3874d6e216ac760d3387d068af81dd29;hb=eeda5c0421f83e2c5061bfc58c12ef320ddd36b1;hpb=7ed1e1e5186df89118c69fb7d28fbc0b5b365c96 diff --git a/XMLWriter.py b/XMLWriter.py index 38904dc..27f4738 100644 --- a/XMLWriter.py +++ b/XMLWriter.py @@ -14,10 +14,12 @@ class PlanetItem: self.itemURL = item.itemURL self.itemDate = item.itemDate self.blogTitle = blog.blogTitle + self.blogName = blog.blogName self.blogURL = blog.blogURL self.imageURL = blog.imageURL self.imageLink = blog.imageLink self.contents = item.contents + self.commentsURL = item.commentsURL class PlanetDate: def __init__(self, date): @@ -71,100 +73,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