diff options
-rw-r--r-- | writers.py | 30 |
1 files changed, 28 insertions, 2 deletions
@@ -235,6 +235,7 @@ class _BaseWriter(object): # ..., # ] + return repl @@ -247,11 +248,36 @@ class Template(_BaseWriter): # replacements object, for debugging purposes #from code import interact ; interact(local=locals()) + # let's make the data structure easier to use in the template + time = { 'start': repl['starttime'], 'end': repl['endtime'], 'timezone': repl['timeZone'] } + meeting = { 'title': repl['pageTitle'], 'owner': repl['owner'], 'logs': repl['fullLogsFullURL'] } + attendees = [ person for person in repl['PeoplePresent'] ] + agenda = [ { 'topic': item['topic'], 'notes': item['items'] } for item in repl['MeetingItems'] ] + actions = [ action for action in repl['ActionItems'] ] + actions_person = [ { 'nick': attendee['nick'], 'actions': attendee['items'] } for attendee in repl['ActionItemsPerson'] ] + meetbot = { 'version': repl['MeetBotVersion'], 'url': repl['MeetBotInfoURL'] } + + from genshi.template import MarkupTemplate + + # hardcoded path to the template file might not be the best thing to do :] + minutes_template = 'meeting-minutes-template.html' + + try: + f = open(minutes_template, 'r') - # Add all the genshi code here + tmpl = MarkupTemplate(f.read()) + stream = tmpl.generate(time=time, + meeting=meeting, + attendees=attendees, + agenda=agenda, + actions=actions, + actions_person=actions_person, + meetbot=meetbot) + finally: + f.close() - return '' # This should return the final string to write + return stream.render() |