diff --git a/calendar/teachingdates/calendars/basecalendar.py b/calendar/teachingdates/calendars/basecalendar.py index d000739..fa8f77b 100644 --- a/calendar/teachingdates/calendars/basecalendar.py +++ b/calendar/teachingdates/calendars/basecalendar.py @@ -141,7 +141,7 @@ lecture_num += 1 return dates - def render_latex(self): + def render_latex(self, weeks): env = jinja2.Environment( block_start_string="\\BLOCK{", block_end_string="}", @@ -157,42 +157,26 @@ env.filters.update(filters) template = env.get_template( "{style}.tex.j2".format(style=self.config.style)) - if self.config.style == "lecture": - return template.render( - weeks=self.lecture_dates(), - paper=self.config.paper, - period=self.config.period, - year=self.config.year, - eow_offset=datetime.timedelta(self.config.end_of_week)) - else: - return template.render( - weeks=self.calendars[self.config.period], - paper=self.config.paper, - period=self.config.period, - year=self.config.year, - eow_offset=datetime.timedelta(self.config.end_of_week)) + return template.render( + weeks=weeks, + paper=self.config.paper, + period=self.config.period, + year=self.config.year, + eow_offset=datetime.timedelta(self.config.end_of_week)) - def render_text(self): + def render_text(self, weeks): env = jinja2.Environment( loader=jinja2.PackageLoader("teachingdates", "templates"), autoescape=False) env.filters.update(filters) template = env.get_template( "{style}.txt.j2".format(style=self.config.style)) - if self.config.style == "lecture": - return template.render( - weeks=self.lecture_dates(), - paper=self.config.paper, - period=self.config.period, - year=self.config.year, - eow_offset=datetime.timedelta(self.config.end_of_week)) - else: - return template.render( - weeks=self.calendars[self.config.period], - paper=self.config.paper, - period=self.config.period, - year=self.config.year, - eow_offset=datetime.timedelta(self.config.end_of_week)) + return template.render( + weeks=weeks, + paper=self.config.paper, + period=self.config.period, + year=self.config.year, + eow_offset=datetime.timedelta(self.config.end_of_week)) def render_xml(self): env = jinja2.Environment( @@ -205,10 +189,15 @@ eow_offset=datetime.timedelta(self.config.end_of_week)) def render(self, style, fmt): + if self.config.style == "lecture": + weeks = self.lecture_dates() + else: + weeks = self.calendars[self.config.period] + if fmt == "latex": - return(self.render_latex()) + return(self.render_latex(weeks)) elif fmt == "text": - return(self.render_text()) + return(self.render_text(weeks)) elif fmt == "xml": return(self.render_xml()) else: