Scrobbling to lastfm! w00t

This commit is contained in:
magnolia-fan
2011-06-23 03:44:27 +04:00
parent 8c33730252
commit 672276d37d
3 changed files with 66 additions and 9 deletions
+28 -6
View File
@@ -44,26 +44,48 @@ class LastFmController < ApplicationController
def listening
return unless authorized?
return if params[:artist].nil? or params[:track].nil?
@res = {}
if params[:artist].nil? or params[:track].nil?
render :json => {:status => 'bad params'}
return
end
user = User.find_by_vkid(params[:mid])
return unless user.lastfm_key.nil?
if user.lastfm_key.nil?
render :json => {:status => 'lastfm account is not connected', :user => user}
return
end
lastfm = Lastfm.new(@@api_key, @@secret)
lastfm.session = user.lastfm_key
lastfm.update_now_playing(params[:artist], params[:track])
r = lastfm.track.update_now_playing(params[:artist], params[:track])
render :json => {:status => r ? 'success' : 'failed'}
return
end
def scrobble
return unless authorized?
return if params[:artist].nil? or params[:track].nil?
@res = {}
if params[:artist].nil? or params[:track].nil?
render :json => {:status => 'bad params'}
return
end
user = User.find_by_vkid(params[:mid])
return unless user.lastfm_key.nil?
if user.lastfm_key.nil?
render :json => {:status => 'lastfm account is not connected', :user => user}
return
end
lastfm = Lastfm.new(@@api_key, @@secret)
lastfm.session = user.lastfm_key
lastfm.scrobble(params[:artist], params[:track])
r = lastfm.track.scrobble(params[:artist], params[:track])
render :json => {:status => r ? 'success' : 'failed'}
return
end
end