Beispiel #1
0
  def get(self):
    playlist_track = PlaylistTrack(artist = self.request.get('artist'),
                                   track = self.request.get('track'),
                                   index = int(self.request.get('index')),
                                   playlist = self.request.get('playlist'),
                                   create_date = datetime.datetime.now())

    playlist_track.put()
    # logging.error("playlist_track --> %s", playlist_track.artist)
    self.response.out.write('Playgrub.client.broadcast_index++; Playgrub.client.write_playlist(Playgrub.playlist);')
Beispiel #2
0
  def get(self):
    playlist_key = self.request.get('url')
    # logging.error("url -> %s",playlist_key)

    q = PlaylistHeader.gql('WHERE url = :1 order by create_date desc limit 1', playlist_key)
    if q.count() == 0:
        return
    head = q.fetch(1)[0]
    # logging.error("head -> %s",head.title)

    q = PlaylistTrack.gql('WHERE playlist = :1 ORDER BY index ASC', head.playlist)
    songs = q.fetch(250)
    # for r in songs:
        # logging.error("index -> %s", r.index)
        # logging.error("artist -> %s", r.artist)
        # logging.error("track -> %s", r.track)

    template_values = {
        'header': head,
        'songs': songs,
        }

    path = os.path.join(os.path.dirname(__file__), 'html/xspf-template.xspf')
    self.response.headers['Content-Type'] = 'application/xspf+xml'
    self.response.out.write(template.render(path, template_values))
Beispiel #3
0
  def get(self):
    playlist_key = self.request.path.split('.xspf')[0]
    playlist_key = playlist_key.lstrip('/')

    # logging.error("XSPF key --> %s", playlist_key)

    q = PlaylistHeader.gql('WHERE playlist = :1', playlist_key)
    head = q.fetch(1)[0]
    # logging.error("head -> %s",head.title)

    q = PlaylistTrack.gql('WHERE playlist = :1 ORDER BY index ASC', playlist_key)
    songs = q.fetch(500)
    # for r in songs:
        # logging.error("index -> %s", r.index)
        # logging.error("artist -> %s", r.artist)
        # logging.error("track -> %s", r.track)

    template_values = {
        'header': head,
        'songs': songs,
        }

    path = os.path.join(os.path.dirname(__file__), 'html/json-xspf-template.html')
    self.response.headers['Content-Type'] = 'text/javascript'
    self.response.out.write(template.render(path, template_values))
Beispiel #4
0
	def get(self):
		# Scale down all scores so more recently added tracks are more prominant
		for entry in PlaygrubChartEntry.all():
			if (entry.score > 0.1):
				entry.score *= 0.95
				entry.put()
			else:
				entry.delete()
		
		# List all tracks that haven't been processed for charts
		for track in PlaylistTrack.gql('where create_date > :1', datetime.datetime.now() - datetime.timedelta(3600)):
			entries = PlaygrubChartEntry.gql('where artist = :1 and track = :2',track.artist,track.track)
			if (entries.count() == 0):
				entry = PlaygrubChartEntry(artist = track.artist,track = track.track,score = 1.0)
			else:
				entry = entries.fetch(1)[0]
				entry.score += 1
			entry.put()
			try:
				print "Incremented \""+entry.track+"\" - "+entry.artist+" to "+str(entry.score)
			except:
				print "Some UTF-8 encoded track name, CBA to figure out how to echo them :P"