Example #1
0
    def get(self, date=None, num=None):
        self.response.headers['Content-Type'] = 'text/plain'

        if date and num:
            key_name = "%s_%s" % (date, num)
            logging.info("Listened to segment %s." % key_name)

            next_url = None
            if key_name:
                try:
                    segment = Segment.get_by_key_name(key_name)
                except:
                    segment = None
                    self.error(500)

                if segment:
                    try:
                        segment.listened()
                    except:
                        logging.error("Error while calling segment.listened() for segment %s.", key_name)

                    try:
                        next_url = segment.url
                    except:
                        pass
                else:
                    self.error(404)

            if next_url:
                self.redirect(next_url, permanent=True)
            else:
                self.error(404)

        else:
            self.error(404)