Exemplo n.º 1
0
 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))
Exemplo n.º 2
0
Arquivo: dj.py Projeto: hchapman/WBOR
 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")
Exemplo n.º 3
0
  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]))