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);')
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))
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))
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"