Пример #1
0
    def get(self, year=None, month=None, day=None, segment_num=None, slug=None):
        logging.info("Segment View")

        year = helper.parse_int(year)
        month = helper.parse_int(month)
        day = helper.parse_int(day)
        segment_num = helper.parse_int(segment_num)

        if not (year and month and day and segment_num is not None):
            self.error(404)

        else:
            segment_date = datetime.date(year, month, day)
            segment_key = Segment.calc_key_name(segment_date, segment_num)
            segment = Segment.lookup(segment_date, segment_num)

            if not segment:
                self.error(404)

            else:
                if not slug:
                    slug = slugify(segment.description)

                    path = self.request.path
                    if not path.endswith('/'):
                        path = "%s/" % path
                    self.redirect("%s%s" % (path, slug))

                else:
                    params = {'segment': segment, 'disqus_id': segment_key, 'disqus_permalink': self.request.path}
                    template_values = helper.init_template_values(params)
                    self.response.out.write(template.render(helper.get_template_path("segment"),
                                            template_values))