X-Git-Url: http://git.code-monkey.de/?p=rb-rip.git;a=blobdiff_plain;f=rb-rip;fp=rb-rip;h=58e3bc3fb2b3cb1cf6a223e9e836d776bc0d4cc5;hp=33c96bf7e92d241a42b402be6935ab7457c1120c;hb=491ceca784024c01e8cb771d75c87419397a8928;hpb=fb471499a6ab3a8f6f0aadf36ccf4d69277af642 diff --git a/rb-rip b/rb-rip index 33c96bf..58e3bc3 100755 --- a/rb-rip +++ b/rb-rip @@ -4,7 +4,7 @@ require 'fileutils' require "musicbrainz" require "yaml" require "ostruct" -#require "glib2" +require 'iconv' require "tempfile" class Track @@ -176,6 +176,18 @@ class String end end +def locale_from_utf8(s) + # FIXME: Encoding is only available in Ruby 1.9 + to_charset = Encoding.locale_charmap + utf8 = 'UTF-8'.freeze + + if to_charset == utf8 + s.dup + else + Iconv.iconv to_charset, utf8, s + end +end + cfg_file = ARGV.first || File.expand_path("~/.rbrip.yaml") begin @@ -230,8 +242,7 @@ puts "Disc info:\n Tracks:\n" album.tracks.each_with_index do |t, i| - #tmp = GLib.locale_from_utf8(t.name) - tmp = t.name + tmp = locale_from_utf8 t.name puts "%3s." % (i + 1) + " #{tmp}" end