]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - data/rbot/plugins/lastfm.rb
lastfm: use Utils.comma_list in appropriate places
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / lastfm.rb
index c288324833cd1d8318803981d8c2078222dc8a47..ee9ef5bab92c92bf8a6ce050900ba312621496d4 100644 (file)
@@ -269,18 +269,20 @@ class LastFmPlugin < Plugin
         rating = _("Very Low")
     end
 
-    reply = _("%{a}'s and %{b}'s musical compatibility rating is %{bold}%{r}%{bold}") % {
+    common_artists = unless artists.empty?
+      _(" and music they have in common includes: %{artists}") % {
+        :artists => Utils.comma_list(artists) }
+    else
+      nil
+    end
+
+    m.reply _("%{a}'s and %{b}'s musical compatibility rating is %{bold}%{r}%{bold}%{common}") % {
       :a => user1,
       :b => user2,
       :r => rating.downcase,
-      :bold => Bold
+      :bold => Bold,
+      :common => common_artists
     }
-
-    reply << _(" and music they have in common includes: %{artists}") % {
-      :artists => artists.join(", ")
-    } unless artists.empty?
-
-    m.reply reply
   end
 
   def now_playing(m, params)
@@ -583,14 +585,14 @@ class LastFmPlugin < Plugin
       elsif friends.length <= num
         reply = _("%{user} has %{total} friends: %{friends}")
       else
-        reply = _("%{user} has %{total} friends, including %{friends}")
-        reply << seemore
+        reply = _("%{user} has %{total} friends, including %{friends}%{seemore}")
       end
       m.reply reply % {
         :user => user,
         :total => friends.size,
-        :friends => friends.shuffle[0, num].join(", "),
-        :uri => "http://www.last.fm/user/#{CGI.escape user}/friends"
+        :friends => Utils.comma_list(friends.shuffle[0, num]),
+        :uri => "http://www.last.fm/user/#{CGI.escape user}/friends",
+        :seemore => seemore
       }
     when :lovedtracks
       loved = doc.root.get_elements("lovedtracks/track").map do |track|
@@ -603,14 +605,14 @@ class LastFmPlugin < Plugin
       elsif loved.length <= num
         reply = _("%{user} has loved %{total} tracks: %{tracks}")
       else
-        reply = _("%{user} has loved %{total} tracks, including %{tracks}")
-        reply << seemore
+        reply = _("%{user} has loved %{total} tracks, including %{tracks}%{seemore}")
       end
       m.reply reply % {
           :user => user,
           :total => loved.size,
-          :tracks => loved_prep.join(", "),
-          :uri => "http://www.last.fm/user/#{CGI.escape user}/library/loved"
+          :tracks => Utils.comma_list(loved_prep),
+          :uri => "http://www.last.fm/user/#{CGI.escape user}/library/loved",
+          :seemore => seemore
         }
     when :neighbours
       nbrs = doc.root.get_elements("neighbours/user").map do |u|
@@ -622,13 +624,13 @@ class LastFmPlugin < Plugin
       elsif nbrs.length <= num
         reply = _("%{user}'s musical neighbours are %{nbrs}")
       else
-        reply = _("%{user}'s musical neighbours include %{nbrs}")
-        reply << seemore
+        reply = _("%{user}'s musical neighbours include %{nbrs}%{seemore}")
       end
       m.reply reply % {
-          :user  => user,
-          :nbrs  => nbrs.shuffle[0, num].join(", "),
-          :uri   => "http://www.last.fm/user/#{CGI.escape user}/neighbours"
+          :user    => user,
+          :nbrs    => Utils.comma_list(nbrs.shuffle[0, num]),
+          :uri     => "http://www.last.fm/user/#{CGI.escape user}/neighbours",
+          :seemore => seemore
       }
     when :recenttracks
       tracks = doc.root.get_elements("recenttracks/track").map do |track|
@@ -657,7 +659,7 @@ class LastFmPlugin < Plugin
         m.reply _("%{user} hasn't played anything recently") % { :user => user }
       else
         m.reply _("%{user} has recently played %{tracks}") %
-          { :user => user, :tracks => tracks_prep.join(", ") }
+          { :user => user, :tracks => Utils.comma_list(tracks_prep) }
       end
     when :shouts
       shouts = doc.root.get_elements("shouts/shout")