def get(self): parsed = urlparse.urlparse(self.request.uri) course_mnemo = parsed.path.split("/")[3].rstrip(".ics") if is_course_mnemo_valid(course_mnemo): if is_status_down(): self._render_gehol_down_page(course_mnemo) else: try: cal = get_calendar(course_mnemo, conf.Q2_WEEKSPAN) except DownloadError,e: logging.error("Could not fetch page before deadline") render_deadline_exceeded_page(self) return if cal: ical_content = convert_course_calendar_to_ical(cal) self.response.headers['Content-Type'] = "text/calendar; charset=utf-8" self.response.headers['Content-disposition'] = "attachment; filename=%s.ics" % course_mnemo self.response.out.write(ical_content) else: self._render_not_found_page(course_mnemo)
def get(self): parsed = urlparse.urlparse(self.request.uri) course_mnemo = self._get_course_mnemo(parsed.path) if is_course_mnemo_valid(course_mnemo): if is_status_down(): self._render_gehol_down_page(course_mnemo) else: try: cal = get_calendar(course_mnemo, conf.Q2_WEEKSPAN) except DownloadError,e: logging.error("Could not fetch page before deadline") render_deadline_exceeded_page(self) cal = None if cal: self._render_calendar_summary(cal, course_mnemo) self._save_successful_request(course_mnemo) else: self._render_not_found_page(course_mnemo)