X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Flastfm.rb;h=ad013bbaa198bc84b700836e90ccf2bf765aaae7;hb=3c7811f959988c7e7d10a730f8309f48b766fc6b;hp=027551cb9c42e10c33d5a63b4014ab8d049a9ac7;hpb=11e8895ca5888dc32ca76ec8b17480cd37810ece;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/lastfm.rb b/data/rbot/plugins/lastfm.rb index 027551cb..ad013bba 100644 --- a/data/rbot/plugins/lastfm.rb +++ b/data/rbot/plugins/lastfm.rb @@ -15,24 +15,6 @@ # # License:: GPL v2 -module Spotify - def self.get(service, method, query, page=1) - query.tr!('-','') - url = URI.escape("http://ws.spotify.com/#{service}/1/#{method}?q=#{query}&page=#{page}") - xml = Irc::Utils.bot.httputil.get_response(url).body - return REXML::Document.new(xml).root - end - - # returns a Spotify URL, e.g. 'http://open.spotify.com/track/3y6EhoUO3A8bPr3zt3Tm9b' - def self.search(method, query, page=1) - doc = get(:search, method, query, page) - return nil if doc.elements["opensearch:totalResults"].text.to_i.zero? - uri = doc.elements[method.to_s].attributes["href"] - id = uri[uri.rindex(':')+1..-1] - return URI.escape("http://open.spotify.com/#{method}/#{id}") - end -end - require 'rexml/document' require 'cgi' @@ -395,18 +377,20 @@ class LastFmPlugin < Plugin if @registry.has_key? "#{m.sourcenick}_verb_present" verb = @registry["#{m.sourcenick}_verb_present"] end - reply = _("%{u} %{v} \"%{t}\" by %{a}%{b}") % {:u => user, :v => verb, :t => track, :a => artist, :b => album, :bold => Bold} + reply = _("%{u} %{v} \"%{t}\" by %{bold}%{a}%{bold}%{b}") % {:u => user, :v => verb, :t => track, :a => artist, :b => album, :bold => Bold} else verb = _("listened to") if @registry.has_key? "#{m.sourcenick}_verb_past" verb = @registry["#{m.sourcenick}_verb_past"] end ago = Utils.timeago(past) - reply = _("%{u} %{v} \"%{t}\" by %{a}%{b} %{p};") % {:u => user, :v => verb, :t => track, :a => artist, :b => album, :p => ago, :bold => Bold} + reply = _("%{u} %{v} \"%{t}\" by %{bold}%{a}%{bold}%{b} %{p};") % {:u => user, :v => verb, :t => track, :a => artist, :b => album, :p => ago, :bold => Bold} end - if (spotify_url = Spotify.search(:track, "#{artist} #{track}")) - reply << _(" [%{u}%{url}%{u}]") % {:u => Underline, :url => spotify_url} + if @bot.plugins['spotify'] && Object.const_defined?('Spotify') + if track = Spotify.search(:track, "#{artist} #{track}") + reply << _(" [%{u}%{url}%{u}]") % {:u => Underline, :url => track.url} + end end reply << _(" -- see %{uri} for more") % { :uri => "http://www.last.fm/user/#{CGI.escape user}"}