class Acme::Smileage::Discography::LyricsDownloader

Public Instance Methods

get(lyric_links, site=nil) click to toggle source
# File lib/acme/smileage/discography/lyrics_downloader.rb, line 8
def get(lyric_links, site=nil)
  return nil unless lyric_links

  case site
  when :utanet
    get_utanet(lyric_links[:utanet])
  when :utamap
    get_utamap(lyric_links[:utamap])
  when nil
    get(lyric_links, :utanet) or get(lyric_links, :utamap)
  else
    raise ArgumentError, "Invalid site: #{site}"
  end
end

Private Instance Methods

get_utamap(uri) click to toggle source
# File lib/acme/smileage/discography/lyrics_downloader.rb, line 36
def get_utamap(uri)
  return nil if not uri or not uri =~ /\?surl=([a-zA-Z0-9-]+)/
  id = $1

  r = http_get(uri, "/phpflash/flashfalsephp.php?unum=#{id}")
  r.force_encoding("utf-8")
  r.sub(/^.*?test2=/, "").strip
end
get_utanet(uri) click to toggle source
# File lib/acme/smileage/discography/lyrics_downloader.rb, line 25
def get_utanet(uri)
  return nil if not uri or not uri =~ /\/song\/(\d+)/
  id = $1

  r = http_get(uri, "/user/phplib/swf/showkasi.php?ID=#{id}")
  r = r[(10 + 16 * 4) - 1, r.length - (10 + 16 * 4) - 13]
  r.force_encoding("utf-8")
  r.sub!(/\A\0\n/, "")
  r.strip
end