예제 #1
0
파일: main.py 프로젝트: cmds4410/WBOR
    def get(self):
        import csv

        shows = models.getPrograms()
        slug = self.request.get("show")
        datestring = self.request.get("programdate")
        selected_date = None

        if datestring:
            try:
                selected_date = datetime.datetime.strptime(datestring, "%m/%d/%Y")
                selected_date = selected_date + datetime.timedelta(hours=12)
                print selected_date.isoformat(" ")
            except:
                self.session.add_flash("The date provided could not be parsed.")
                self.redirect("/")
                return

        if slug:
            selected_program = models.getProgramBySlug(slug)
            if not selected_program:
                self.session.add_flash("There is no program for slug %s." % slug)
                self.redirect("/")
                return
            if selected_date:
                plays = models.getPlaysBetween(
                    program=selected_program,
                    after=(selected_date - datetime.timedelta(hours=24)),
                    before=(selected_date + datetime.timedelta(hours=24)),
                )
            else:
                lastplay = models.getLastPlays(program=selected_program, num=1)
                if lastplay:
                    lastplay = lastplay[0]
                    last_date = lastplay.play_date
                    plays = models.getPlaysBetween(
                        program=selected_program, after=(last_date - datetime.timedelta(days=1))
                    )
                else:
                    plays = []
        else:
            if selected_date is None:
                lastplay = cache.getLastPlay()
                if lastplay:
                    selected_date = lastplay.play_date

            if selected_date:
                print "doop"
                print selected_date.isoformat(" ")
                plays = models.getRetardedNumberOfPlaysForDate(selected_date)
            else:
                plays = cache.getLastPlays(60)

        csv_sep = "\t"
        out_data = [("Date", "Time", "Title", "Artist")]
        for p in plays:
            s = cache.getSong(p.song_key)
            out_data.append((p.play_date.isoformat(csv_sep), s.title, s.artist))

        self.response.out.write("\n".join([csv_sep.join(row) for row in out_data]))
예제 #2
0
파일: main.py 프로젝트: cmds4410/WBOR
    def get(self):
        shows = models.getPrograms()
        slug = self.request.get("show")
        datestring = self.request.get("programdate")
        selected_date = None

        if datestring:
            try:
                selected_date = datetime.datetime.strptime(
                    datestring, "%m/%d/%Y")
                selected_date = selected_date + datetime.timedelta(hours=12)
            except:
                self.session.add_flash(
                    "The date provided could not be parsed.")
                self.redirect("/")
                return

        if slug:
            selected_program = models.getProgramBySlug(slug)
            if not selected_program:
                self.session.add_flash("There is no program for slug %s." %
                                       slug)
                self.redirect("/")
                return
            if selected_date:
                plays = models.getPlaysBetween(
                    program=selected_program,
                    after=(selected_date - datetime.timedelta(hours=24)),
                    before=(selected_date + datetime.timedelta(hours=24)))
            else:
                lastplay = models.getLastPlays(program=selected_program, num=1)
                if lastplay:
                    lastplay = lastplay[0]
                    last_date = lastplay.play_date
                    plays = models.getPlaysBetween(
                        program=selected_program,
                        after=(last_date - datetime.timedelta(days=1)))
                else:
                    plays = []
        else:
            if not selected_date:
                lastplay = cache.getLastPlay()
                if lastplay:
                    selected_date = lastplay.play_date

            if selected_date:
                plays = models.getPlaysForDate(selected_date)
            else:
                plays = cache.getLastPlays(60)

        template_values = {
            'plays': plays,
            'shows': shows,
        }
        self.response.out.write(
            template.render(getPath("playlist.html"), template_values))
예제 #3
0
파일: main.py 프로젝트: cmds4410/WBOR
    def get(self):
        shows = models.getPrograms()
        slug = self.request.get("show")
        datestring = self.request.get("programdate")
        selected_date = None

        if datestring:
            try:
                selected_date = datetime.datetime.strptime(datestring, "%m/%d/%Y")
                selected_date = selected_date + datetime.timedelta(hours=12)
            except:
                self.session.add_flash("The date provided could not be parsed.")
                self.redirect("/")
                return

        if slug:
            selected_program = models.getProgramBySlug(slug)
            if not selected_program:
                self.session.add_flash("There is no program for slug %s." % slug)
                self.redirect("/")
                return
            if selected_date:
                plays = models.getPlaysBetween(
                    program=selected_program,
                    after=(selected_date - datetime.timedelta(hours=24)),
                    before=(selected_date + datetime.timedelta(hours=24)),
                )
            else:
                lastplay = models.getLastPlays(program=selected_program, num=1)
                if lastplay:
                    lastplay = lastplay[0]
                    last_date = lastplay.play_date
                    plays = models.getPlaysBetween(
                        program=selected_program, after=(last_date - datetime.timedelta(days=1))
                    )
                else:
                    plays = []
        else:
            if not selected_date:
                lastplay = cache.getLastPlay()
                if lastplay:
                    selected_date = lastplay.play_date

            if selected_date:
                plays = models.getPlaysForDate(selected_date)
            else:
                plays = cache.getLastPlays(60)

        template_values = {"plays": plays, "shows": shows}
        self.response.out.write(template.render(getPath("playlist.html"), template_values))
예제 #4
0
파일: main.py 프로젝트: cmds4410/WBOR
 def get(self, slug):
     program = models.getProgramBySlug(slug)
     posts = models.getLastPosts(1)
     if not program:
         self.session.add_flash("Invalid program slug specified.")
         self.redirect("/")
         return
     template_values = {
         "session": self.session,
         "flash": self.flash,
         "program": program,
         "djs": (tuple(models.Dj.get(dj) for dj in program.dj_list) if program.dj_list else None),
         "posts": posts,
     }
     self.response.out.write(template.render(getPath("show.html"), template_values))
예제 #5
0
파일: main.py 프로젝트: cmds4410/WBOR
 def get(self, slug):
     program = models.getProgramBySlug(slug)
     posts = models.getLastPosts(1)
     if not program:
         self.session.add_flash("Invalid program slug specified.")
         self.redirect("/")
         return
     template_values = {
         'session':
         self.session,
         'flash':
         self.flash,
         'program':
         program,
         'djs':
         (tuple(models.Dj.get(dj)
                for dj in program.dj_list) if program.dj_list else None),
         'posts':
         posts,
     }
     self.response.out.write(
         template.render(getPath("show.html"), template_values))
예제 #6
0
파일: main.py 프로젝트: cmds4410/WBOR
    def get(self):
        import csv
        shows = models.getPrograms()
        slug = self.request.get("show")
        datestring = self.request.get("programdate")
        selected_date = None

        if datestring:
            try:
                selected_date = datetime.datetime.strptime(
                    datestring, "%m/%d/%Y")
                selected_date = selected_date + datetime.timedelta(hours=12)
                print selected_date.isoformat(" ")
            except:
                self.session.add_flash(
                    "The date provided could not be parsed.")
                self.redirect("/")
                return

        if slug:
            selected_program = models.getProgramBySlug(slug)
            if not selected_program:
                self.session.add_flash("There is no program for slug %s." %
                                       slug)
                self.redirect("/")
                return
            if selected_date:
                plays = models.getPlaysBetween(
                    program=selected_program,
                    after=(selected_date - datetime.timedelta(hours=24)),
                    before=(selected_date + datetime.timedelta(hours=24)))
            else:
                lastplay = models.getLastPlays(program=selected_program, num=1)
                if lastplay:
                    lastplay = lastplay[0]
                    last_date = lastplay.play_date
                    plays = models.getPlaysBetween(
                        program=selected_program,
                        after=(last_date - datetime.timedelta(days=1)))
                else:
                    plays = []
        else:
            if selected_date is None:
                lastplay = cache.getLastPlay()
                if lastplay:
                    selected_date = lastplay.play_date

            if selected_date:
                print "doop"
                print selected_date.isoformat(" ")
                plays = models.getRetardedNumberOfPlaysForDate(selected_date)
            else:
                plays = cache.getLastPlays(60)

        csv_sep = "\t"
        out_data = [("Date", "Time", "Title", "Artist")]
        for p in plays:
            s = cache.getSong(p.song_key)
            out_data.append(
                (p.play_date.isoformat(csv_sep), s.title, s.artist))

        self.response.out.write("\n".join(
            [csv_sep.join(row) for row in out_data]))