def save_session_playhistory(request,user): # @TODO save playlists here playhistory = request.session.get('playhistory',[]) for song in playhistory: try: lastfm_track_song = LastFMTrackSong.objects.get(id=song['lastfm_track_song_id']) except LastFMTrackSong.DoesNotExist: continue song_played = PlayHistory(musiphile=user,song=lastfm_track_song) song_played.save() playlist = request.session.get('playlist', []) if playlist: pls = Playlist(creator=user) pls.save() pls_user = PlaylistUser(user=user, playlist=pls) pls_user.save() for song in playlist: try: pls_song = PlaylistSong.objects.get(lastfm_track=song.id, playlist=pls) except PlaylistSong.DoesNotExist: pls_song = PlaylistSong(lastfm_track=song, playlist=pls) pls_song.save()
def song_played(request,lastfm_track_song_id): try: lastfm_track_song = LastFMTrackSong.objects.get(id=lastfm_track_song_id) except LastFMTrackSong.DoesNotExist: return HttpResponse(json.dumps({'status':'failed','message':'Could not find song for specified id : ' + lastfm_track_song_id}),content_type="application/json") if request.user.is_authenticated(): song_played = PlayHistory(musiphile=request.user,song=lastfm_track_song) song_played.save() else: lastfm_track = lastfm_track_song.lastfm_track playhistory = request.session.get('playhistory',[]) playhistory.append({'lastfm_track_song_id':lastfm_track_song_id,'artist':lastfm_track.artist,'name':lastfm_track.name, 'date':datetime.datetime.now()}) request.session['playhistory'] = playhistory return HttpResponse(json.dumps({'status':'ok'}),content_type="application/json")