def get(self, slug): program = Program.get_by_slug(slug) if not program: self.session.add_flash("Invalid program slug specified.") self.redirect("/") return template_values = { 'session': self.session, 'flash': self.flashes, 'program': program, 'djs' : tuple(Dj.get(program.dj_list) if program.dj_list else None), } self.response.out.write( template.render(get_path("show.html"), template_values))
def post(self): program = cache.getProgram(self.request.get("program_key")) if not program: self.session.add_flash("Unable to find program.") self.redirect("/dj/myshow") return slug = self.request.get("slug") p = Program.get_by_slug(slug) if p and program.key != p.key: self.session.add_flash("There is already a program with slug \"" + slug + "\".") self.redirect("/dj/myshow") return program.title = self.request.get("title") program.slug = self.request.get("slug") program.desc = self.request.get("desc") program.page_html = self.request.get("page_html") program.put() self.set_session_program(program) self.session.add_flash("Program successfully changed.") self.redirect("/dj/myshow")
def get(self): import csv shows = [] #Program.get(num=1000) 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 = Program.get_by_slug(slug) if not selected_program: self.session.add_flash("There is no program for slug %s." % slug) self.redirect("/") return if selected_date: plays = Play.get_last(program=selected_program, after=(selected_date - datetime.timedelta(hours=24)), before=(selected_date + datetime.timedelta(hours=24)), num=60) else: lastplay = Play.get_last(program=selected_program) if lastplay: last_date = lastplay.play_date plays = Play.get_last(program=selected_program, after=(last_date - datetime.timedelta(days=1)), num=60) else: plays = [] else: if selected_date is None: lastplay = Play.get_last() if lastplay: selected_date = lastplay.play_date if selected_date: print "doop" print selected_date.isoformat(" ") plays = Play.get_last(after=(selected_date - datetime.timedelta(hours=24)), before=(selected_date + datetime.timedelta(hours=24)), num=1000) else: plays = Play.get_last(num=60) csv_sep = "\t" out_data = [("Date", "Time", "Title", "Artist")] for p in plays: s = p.song 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]))