kanye 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +1 -0
 - data/History +3 -0
 - data/README.rdoc +7 -1
 - data/Rakefile +2 -1
 - data/VERSION +1 -1
 - data/bin/kanye +23 -3
 - data/kanye.gemspec +15 -3
 - data/lib/kanye.rb +11 -55
 - data/lib/kanye/history.rb +13 -11
 - data/lib/kanye/itunes.rb +28 -0
 - data/lib/kanye/page.rb +57 -0
 - data/lib/kanye/track.rb +41 -37
 - data/spec/data/sample.html +36 -36
 - data/spec/data/super.mp3 +0 -0
 - data/spec/kanye/itunes_spec.rb +46 -0
 - data/spec/kanye/track_spec.rb +5 -5
 - data/spec/kanye_spec.rb +3 -3
 - metadata +57 -19
 
    
        data/Gemfile
    CHANGED
    
    
    
        data/History
    ADDED
    
    
    
        data/README.rdoc
    CHANGED
    
    | 
         @@ -13,6 +13,12 @@ The first time you run +kanye+, it will ask you for your user name. 
     | 
|
| 
       13 
13 
     | 
    
         
             
              It appears Kanye hasn't been configured yet.
         
     | 
| 
       14 
14 
     | 
    
         
             
              What is your hype user name?
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
            This will output to  
     | 
| 
      
 16 
     | 
    
         
            +
            This will output options to <tt>~/.kanye_rc</tt>. Your downloads will now begin.
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
            Now that you've configured it, just run +kanye+ any time to go over your latest favorites.
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            == iTunes integration
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            By adding the following to your <tt>~/.kanye_rc</tt> file, Kanye will add tracks to your iTunes library and add them to a playlist named for the current month and year (ie."June 2011")
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                playlist: true
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -15,7 +15,7 @@ Jeweler::Tasks.new do |gem| 
     | 
|
| 
       15 
15 
     | 
    
         
             
              gem.name = "kanye"
         
     | 
| 
       16 
16 
     | 
    
         
             
              gem.homepage = "http://github.com/samvincent/kanye"
         
     | 
| 
       17 
17 
     | 
    
         
             
              gem.license = "MIT"
         
     | 
| 
       18 
     | 
    
         
            -
              gem.summary = %Q{Ruby  
     | 
| 
      
 18 
     | 
    
         
            +
              gem.summary = %Q{Ruby H-Y-P-E utility}
         
     | 
| 
       19 
19 
     | 
    
         
             
              gem.description = %Q{Lyrical genius, voice of a generation.}
         
     | 
| 
       20 
20 
     | 
    
         
             
              gem.email = "sam.vincent@mac.com"
         
     | 
| 
       21 
21 
     | 
    
         
             
              gem.authors = ["Sam Vincent"]
         
     | 
| 
         @@ -25,6 +25,7 @@ Jeweler::Tasks.new do |gem| 
     | 
|
| 
       25 
25 
     | 
    
         
             
              gem.add_runtime_dependency 'sqlite3'
         
     | 
| 
       26 
26 
     | 
    
         
             
              gem.add_runtime_dependency 'nokogiri', '> 1.4.0'
         
     | 
| 
       27 
27 
     | 
    
         
             
              gem.add_runtime_dependency 'ruby-mp3info', '0.6.14'
         
     | 
| 
      
 28 
     | 
    
         
            +
              gem.add_runtime_dependency 'rb-appscript', '0.6.1'
         
     | 
| 
       28 
29 
     | 
    
         
             
              #  gem.add_development_dependency 'rspec', '> 1.2.3'
         
     | 
| 
       29 
30 
     | 
    
         
             
            end
         
     | 
| 
       30 
31 
     | 
    
         
             
            Jeweler::RubygemsDotOrgTasks.new
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.1. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.1.2
         
     | 
    
        data/bin/kanye
    CHANGED
    
    | 
         @@ -4,6 +4,9 @@ $:.unshift(File.join(File.dirname(__FILE__), "/../lib")) 
     | 
|
| 
       4 
4 
     | 
    
         
             
            require 'rubygems'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'kanye'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
      
 7 
     | 
    
         
            +
            require 'shellwords'
         
     | 
| 
      
 8 
     | 
    
         
            +
            include Shellwords
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       7 
10 
     | 
    
         
             
            KANYE_GLASSES = <<-GLASSES
         
     | 
| 
       8 
11 
     | 
    
         | 
| 
       9 
12 
     | 
    
         
             
                                                                            ..:ccCCO888@@@@@@@@@@@@@@@@@@@@@@88Coc:                                               
         
     | 
| 
         @@ -56,13 +59,14 @@ if File.exist?(Kanye::DEFAULT_CONFIGURATION_PATH) 
     | 
|
| 
       56 
59 
     | 
    
         
             
              config = load_configuration(Kanye::DEFAULT_CONFIGURATION_PATH)
         
     | 
| 
       57 
60 
     | 
    
         
             
            else
         
     | 
| 
       58 
61 
     | 
    
         
             
              puts "It appears Kanye doesn't know who you are yet."
         
     | 
| 
       59 
     | 
    
         
            -
              print "What is your  
     | 
| 
      
 62 
     | 
    
         
            +
              print "What is your h-y-p-e name?"
         
     | 
| 
       60 
63 
     | 
    
         
             
              name = gets.chomp
         
     | 
| 
       61 
64 
     | 
    
         
             
              File.open(Kanye::DEFAULT_CONFIGURATION_PATH, "w") do |f|
         
     | 
| 
       62 
65 
     | 
    
         
             
                f.write "username: #{name}\n"
         
     | 
| 
       63 
66 
     | 
    
         
             
                f.write "pages: 5\n"
         
     | 
| 
       64 
67 
     | 
    
         
             
                f.write "path: #{Kanye::DEFAULT_DOWNLOAD_PATH}\n"
         
     | 
| 
       65 
68 
     | 
    
         
             
                f.write "db: #{Kanye::DEFAULT_DB_PATH}\n"
         
     | 
| 
      
 69 
     | 
    
         
            +
                f.write "playlist: false\n"
         
     | 
| 
       66 
70 
     | 
    
         
             
              end
         
     | 
| 
       67 
71 
     | 
    
         
             
              config = load_configuration(Kanye::DEFAULT_CONFIGURATION_PATH)
         
     | 
| 
       68 
72 
     | 
    
         
             
            end
         
     | 
| 
         @@ -81,8 +85,24 @@ unless File.exists? config["db"] 
     | 
|
| 
       81 
85 
     | 
    
         
             
            end
         
     | 
| 
       82 
86 
     | 
    
         | 
| 
       83 
87 
     | 
    
         
             
            # Grab as many pages as configured
         
     | 
| 
      
 88 
     | 
    
         
            +
            pages = []
         
     | 
| 
       84 
89 
     | 
    
         
             
            (1..(config["pages"])).each do |page|
         
     | 
| 
       85 
90 
     | 
    
         
             
              user = config["username"]
         
     | 
| 
       86 
     | 
    
         
            -
               
     | 
| 
       87 
     | 
    
         
            -
               
     | 
| 
      
 91 
     | 
    
         
            +
              page = Kanye::Page.new(user, page)
         
     | 
| 
      
 92 
     | 
    
         
            +
              pages << page
         
     | 
| 
      
 93 
     | 
    
         
            +
              
         
     | 
| 
      
 94 
     | 
    
         
            +
              page.download_all!
         
     | 
| 
      
 95 
     | 
    
         
            +
            end
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
            if config["playlist"].to_s == "true"
         
     | 
| 
      
 98 
     | 
    
         
            +
              itunes = Kanye::ITunes.new
         
     | 
| 
      
 99 
     | 
    
         
            +
              pages.reverse.each do |page|
         
     | 
| 
      
 100 
     | 
    
         
            +
                page.tracks.reverse.each do |track|
         
     | 
| 
      
 101 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 102 
     | 
    
         
            +
                    itunes.add_to_playlist track.filename, Time.now.strftime("%B %Y")
         
     | 
| 
      
 103 
     | 
    
         
            +
                    `mv #{shellescape track.filename} ~/.Trash`
         
     | 
| 
      
 104 
     | 
    
         
            +
                  rescue MacTypes::FileNotFoundError
         
     | 
| 
      
 105 
     | 
    
         
            +
                  end
         
     | 
| 
      
 106 
     | 
    
         
            +
                end
         
     | 
| 
      
 107 
     | 
    
         
            +
              end
         
     | 
| 
       88 
108 
     | 
    
         
             
            end
         
     | 
    
        data/kanye.gemspec
    CHANGED
    
    | 
         @@ -5,11 +5,11 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{kanye}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0.1. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.1.2"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
11 
     | 
    
         
             
              s.authors = ["Sam Vincent"]
         
     | 
| 
       12 
     | 
    
         
            -
              s.date = %q{2011-06- 
     | 
| 
      
 12 
     | 
    
         
            +
              s.date = %q{2011-06-30}
         
     | 
| 
       13 
13 
     | 
    
         
             
              s.default_executable = %q{kanye}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.description = %q{Lyrical genius, voice of a generation.}
         
     | 
| 
       15 
15 
     | 
    
         
             
              s.email = %q{sam.vincent@mac.com}
         
     | 
| 
         @@ -21,6 +21,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       21 
21 
     | 
    
         
             
              s.files = [
         
     | 
| 
       22 
22 
     | 
    
         
             
                ".document",
         
     | 
| 
       23 
23 
     | 
    
         
             
                "Gemfile",
         
     | 
| 
      
 24 
     | 
    
         
            +
                "History",
         
     | 
| 
       24 
25 
     | 
    
         
             
                "LICENSE.txt",
         
     | 
| 
       25 
26 
     | 
    
         
             
                "README.rdoc",
         
     | 
| 
       26 
27 
     | 
    
         
             
                "Rakefile",
         
     | 
| 
         @@ -29,8 +30,12 @@ Gem::Specification.new do |s| 
     | 
|
| 
       29 
30 
     | 
    
         
             
                "kanye.gemspec",
         
     | 
| 
       30 
31 
     | 
    
         
             
                "lib/kanye.rb",
         
     | 
| 
       31 
32 
     | 
    
         
             
                "lib/kanye/history.rb",
         
     | 
| 
      
 33 
     | 
    
         
            +
                "lib/kanye/itunes.rb",
         
     | 
| 
      
 34 
     | 
    
         
            +
                "lib/kanye/page.rb",
         
     | 
| 
       32 
35 
     | 
    
         
             
                "lib/kanye/track.rb",
         
     | 
| 
       33 
36 
     | 
    
         
             
                "spec/data/sample.html",
         
     | 
| 
      
 37 
     | 
    
         
            +
                "spec/data/super.mp3",
         
     | 
| 
      
 38 
     | 
    
         
            +
                "spec/kanye/itunes_spec.rb",
         
     | 
| 
       34 
39 
     | 
    
         
             
                "spec/kanye/track_spec.rb",
         
     | 
| 
       35 
40 
     | 
    
         
             
                "spec/kanye_spec.rb",
         
     | 
| 
       36 
41 
     | 
    
         
             
                "spec/spec_helper.rb"
         
     | 
| 
         @@ -39,8 +44,9 @@ Gem::Specification.new do |s| 
     | 
|
| 
       39 
44 
     | 
    
         
             
              s.licenses = ["MIT"]
         
     | 
| 
       40 
45 
     | 
    
         
             
              s.require_paths = ["lib"]
         
     | 
| 
       41 
46 
     | 
    
         
             
              s.rubygems_version = %q{1.6.2}
         
     | 
| 
       42 
     | 
    
         
            -
              s.summary = %q{Ruby  
     | 
| 
      
 47 
     | 
    
         
            +
              s.summary = %q{Ruby H-Y-P-E utility}
         
     | 
| 
       43 
48 
     | 
    
         
             
              s.test_files = [
         
     | 
| 
      
 49 
     | 
    
         
            +
                "spec/kanye/itunes_spec.rb",
         
     | 
| 
       44 
50 
     | 
    
         
             
                "spec/kanye/track_spec.rb",
         
     | 
| 
       45 
51 
     | 
    
         
             
                "spec/kanye_spec.rb",
         
     | 
| 
       46 
52 
     | 
    
         
             
                "spec/spec_helper.rb"
         
     | 
| 
         @@ -54,6 +60,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       54 
60 
     | 
    
         
             
                  s.add_runtime_dependency(%q<sqlite3>, [">= 0"])
         
     | 
| 
       55 
61 
     | 
    
         
             
                  s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
         
     | 
| 
       56 
62 
     | 
    
         
             
                  s.add_runtime_dependency(%q<ruby-mp3info>, ["= 0.6.14"])
         
     | 
| 
      
 63 
     | 
    
         
            +
                  s.add_runtime_dependency(%q<rb-appscript>, ["= 0.6.1"])
         
     | 
| 
       57 
64 
     | 
    
         
             
                  s.add_development_dependency(%q<rspec>, [">= 2"])
         
     | 
| 
       58 
65 
     | 
    
         
             
                  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
         
     | 
| 
       59 
66 
     | 
    
         
             
                  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
         
     | 
| 
         @@ -61,11 +68,13 @@ Gem::Specification.new do |s| 
     | 
|
| 
       61 
68 
     | 
    
         
             
                  s.add_runtime_dependency(%q<sqlite3>, [">= 0"])
         
     | 
| 
       62 
69 
     | 
    
         
             
                  s.add_runtime_dependency(%q<nokogiri>, ["> 1.4.0"])
         
     | 
| 
       63 
70 
     | 
    
         
             
                  s.add_runtime_dependency(%q<ruby-mp3info>, ["= 0.6.14"])
         
     | 
| 
      
 71 
     | 
    
         
            +
                  s.add_runtime_dependency(%q<rb-appscript>, ["= 0.6.1"])
         
     | 
| 
       64 
72 
     | 
    
         
             
                else
         
     | 
| 
       65 
73 
     | 
    
         
             
                  s.add_dependency(%q<httparty>, [">= 0.7.4"])
         
     | 
| 
       66 
74 
     | 
    
         
             
                  s.add_dependency(%q<sqlite3>, [">= 0"])
         
     | 
| 
       67 
75 
     | 
    
         
             
                  s.add_dependency(%q<nokogiri>, [">= 0"])
         
     | 
| 
       68 
76 
     | 
    
         
             
                  s.add_dependency(%q<ruby-mp3info>, ["= 0.6.14"])
         
     | 
| 
      
 77 
     | 
    
         
            +
                  s.add_dependency(%q<rb-appscript>, ["= 0.6.1"])
         
     | 
| 
       69 
78 
     | 
    
         
             
                  s.add_dependency(%q<rspec>, [">= 2"])
         
     | 
| 
       70 
79 
     | 
    
         
             
                  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
         
     | 
| 
       71 
80 
     | 
    
         
             
                  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
         
     | 
| 
         @@ -73,12 +82,14 @@ Gem::Specification.new do |s| 
     | 
|
| 
       73 
82 
     | 
    
         
             
                  s.add_dependency(%q<sqlite3>, [">= 0"])
         
     | 
| 
       74 
83 
     | 
    
         
             
                  s.add_dependency(%q<nokogiri>, ["> 1.4.0"])
         
     | 
| 
       75 
84 
     | 
    
         
             
                  s.add_dependency(%q<ruby-mp3info>, ["= 0.6.14"])
         
     | 
| 
      
 85 
     | 
    
         
            +
                  s.add_dependency(%q<rb-appscript>, ["= 0.6.1"])
         
     | 
| 
       76 
86 
     | 
    
         
             
                end
         
     | 
| 
       77 
87 
     | 
    
         
             
              else
         
     | 
| 
       78 
88 
     | 
    
         
             
                s.add_dependency(%q<httparty>, [">= 0.7.4"])
         
     | 
| 
       79 
89 
     | 
    
         
             
                s.add_dependency(%q<sqlite3>, [">= 0"])
         
     | 
| 
       80 
90 
     | 
    
         
             
                s.add_dependency(%q<nokogiri>, [">= 0"])
         
     | 
| 
       81 
91 
     | 
    
         
             
                s.add_dependency(%q<ruby-mp3info>, ["= 0.6.14"])
         
     | 
| 
      
 92 
     | 
    
         
            +
                s.add_dependency(%q<rb-appscript>, ["= 0.6.1"])
         
     | 
| 
       82 
93 
     | 
    
         
             
                s.add_dependency(%q<rspec>, [">= 2"])
         
     | 
| 
       83 
94 
     | 
    
         
             
                s.add_dependency(%q<bundler>, ["~> 1.0.0"])
         
     | 
| 
       84 
95 
     | 
    
         
             
                s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
         
     | 
| 
         @@ -86,6 +97,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       86 
97 
     | 
    
         
             
                s.add_dependency(%q<sqlite3>, [">= 0"])
         
     | 
| 
       87 
98 
     | 
    
         
             
                s.add_dependency(%q<nokogiri>, ["> 1.4.0"])
         
     | 
| 
       88 
99 
     | 
    
         
             
                s.add_dependency(%q<ruby-mp3info>, ["= 0.6.14"])
         
     | 
| 
      
 100 
     | 
    
         
            +
                s.add_dependency(%q<rb-appscript>, ["= 0.6.1"])
         
     | 
| 
       89 
101 
     | 
    
         
             
              end
         
     | 
| 
       90 
102 
     | 
    
         
             
            end
         
     | 
| 
       91 
103 
     | 
    
         | 
    
        data/lib/kanye.rb
    CHANGED
    
    | 
         @@ -3,68 +3,24 @@ require 'nokogiri' 
     | 
|
| 
       3 
3 
     | 
    
         
             
            require 'mp3info'
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'sqlite3'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
      
 6 
     | 
    
         
            +
            require 'kanye/page'
         
     | 
| 
       6 
7 
     | 
    
         
             
            require 'kanye/track'
         
     | 
| 
       7 
8 
     | 
    
         
             
            require 'kanye/history'
         
     | 
| 
      
 9 
     | 
    
         
            +
            require 'kanye/itunes'
         
     | 
| 
       8 
10 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
              attr_reader :html, :response, :tracks
         
     | 
| 
       11 
     | 
    
         
            -
              
         
     | 
| 
      
 11 
     | 
    
         
            +
            module Kanye
         
     | 
| 
       12 
12 
     | 
    
         
             
              DEFAULT_CONFIGURATION_PATH = File.expand_path("~/.kanye_rc")
         
     | 
| 
       13 
13 
     | 
    
         
             
              DEFAULT_DOWNLOAD_PATH = File.expand_path("~/Music/Kanye/")
         
     | 
| 
       14 
14 
     | 
    
         
             
              DEFAULT_DB_PATH = File.expand_path("~/Music/Kanye/.history.db")
         
     | 
| 
       15 
     | 
    
         
            -
              
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                 
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                @html     = @response.parsed_response    
         
     | 
| 
       21 
     | 
    
         
            -
                parse_response
         
     | 
| 
       22 
     | 
    
         
            -
              end
         
     | 
| 
       23 
     | 
    
         
            -
              
         
     | 
| 
       24 
     | 
    
         
            -
              def download_all!
         
     | 
| 
       25 
     | 
    
         
            -
                while tracks.size > 0
         
     | 
| 
       26 
     | 
    
         
            -
                  current_track = tracks.pop
         
     | 
| 
       27 
     | 
    
         
            -
                  history = History.new(DEFAULT_DB_PATH)
         
     | 
| 
       28 
     | 
    
         
            -
                  unless history.exists?(current_track)
         
     | 
| 
       29 
     | 
    
         
            -
                    current_track.download! 
         
     | 
| 
       30 
     | 
    
         
            -
                    history.insert(current_track)
         
     | 
| 
       31 
     | 
    
         
            -
                    puts "\tInserted song into db"
         
     | 
| 
       32 
     | 
    
         
            -
                  end
         
     | 
| 
      
 15 
     | 
    
         
            +
              BASE_URL = 'h' + 'y' + 'p' + 'e' + 'm' + '.com'
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              class << self
         
     | 
| 
      
 18 
     | 
    
         
            +
                def download_path
         
     | 
| 
      
 19 
     | 
    
         
            +
                  @@download_path ||= DEFAULT_DOWNLOAD_PATH
         
     | 
| 
       33 
20 
     | 
    
         
             
                end
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
                "http://hypem.com/"+path+"/"+page.to_s+"?ax=1&ts="+timestamp
         
     | 
| 
       38 
     | 
    
         
            -
              end
         
     | 
| 
       39 
     | 
    
         
            -
              
         
     | 
| 
       40 
     | 
    
         
            -
              def self.download_path
         
     | 
| 
       41 
     | 
    
         
            -
                @@download_path ||= DEFAULT_DOWNLOAD_PATH
         
     | 
| 
       42 
     | 
    
         
            -
              end
         
     | 
| 
       43 
     | 
    
         
            -
              
         
     | 
| 
       44 
     | 
    
         
            -
              def self.db_path
         
     | 
| 
       45 
     | 
    
         
            -
                @@db_path ||= DEFAULT_DB_PATH
         
     | 
| 
       46 
     | 
    
         
            -
              end
         
     | 
| 
       47 
     | 
    
         
            -
              
         
     | 
| 
       48 
     | 
    
         
            -
              protected
         
     | 
| 
       49 
     | 
    
         
            -
              
         
     | 
| 
       50 
     | 
    
         
            -
              def parse_response
         
     | 
| 
       51 
     | 
    
         
            -
                html_doc = Nokogiri::HTML(@html)
         
     | 
| 
       52 
     | 
    
         
            -
                ids      = @html.scan /\tid:\'(\w*)\'/
         
     | 
| 
       53 
     | 
    
         
            -
                keys     = @html.scan /\tkey:\s+?\'([\d\w]*)\'/
         
     | 
| 
       54 
     | 
    
         
            -
                artists  = html_doc.css('.track_name .artist').map     { |node| node.content.strip }
         
     | 
| 
       55 
     | 
    
         
            -
                titles   = html_doc.css('.track_name .artist + a').map { |node| node.content.strip }
         
     | 
| 
       56 
     | 
    
         
            -
                [ids, keys, titles, artists].each(&:flatten!)
         
     | 
| 
       57 
     | 
    
         
            -
                
         
     | 
| 
       58 
     | 
    
         
            -
                ids.each_with_index do |id, i|
         
     | 
| 
       59 
     | 
    
         
            -
                  @tracks << Track.new(:id  => ids[i], 
         
     | 
| 
       60 
     | 
    
         
            -
                                       :key => keys[i], 
         
     | 
| 
       61 
     | 
    
         
            -
                                       :title  => titles[i],
         
     | 
| 
       62 
     | 
    
         
            -
                                       :artist => artists[i], 
         
     | 
| 
       63 
     | 
    
         
            -
                                       :cookie => @cookie)
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                def db_path
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @@db_path ||= DEFAULT_DB_PATH
         
     | 
| 
       64 
24 
     | 
    
         
             
                end
         
     | 
| 
       65 
25 
     | 
    
         
             
              end
         
     | 
| 
       66 
     | 
    
         
            -
              
         
     | 
| 
       67 
     | 
    
         
            -
              def timestamp
         
     | 
| 
       68 
     | 
    
         
            -
                ("%10.10f" % Time.now.utc.to_f).gsub('.','')
         
     | 
| 
       69 
     | 
    
         
            -
              end
         
     | 
| 
       70 
26 
     | 
    
         
             
            end
         
     | 
    
        data/lib/kanye/history.rb
    CHANGED
    
    | 
         @@ -1,14 +1,16 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
               
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            module Kanye
         
     | 
| 
      
 2 
     | 
    
         
            +
              class History
         
     | 
| 
      
 3 
     | 
    
         
            +
                attr_reader :db
         
     | 
| 
      
 4 
     | 
    
         
            +
                def initialize(db_file)
         
     | 
| 
      
 5 
     | 
    
         
            +
                  @db = SQLite3::Database.new(db_file)
         
     | 
| 
      
 6 
     | 
    
         
            +
                end
         
     | 
| 
       6 
7 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
                def insert(track)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  db.execute("insert into tracks values (?, ?)", [nil, track.id])
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
       10 
11 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 12 
     | 
    
         
            +
                def exists?(track)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  db.execute("select * from tracks where key=?", track.id).any?
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
       13 
15 
     | 
    
         
             
              end
         
     | 
| 
       14 
     | 
    
         
            -
            end
         
     | 
| 
      
 16 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/kanye/itunes.rb
    ADDED
    
    | 
         @@ -0,0 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'appscript'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Kanye
         
     | 
| 
      
 4 
     | 
    
         
            +
              class ITunes
         
     | 
| 
      
 5 
     | 
    
         
            +
                include Appscript
         
     | 
| 
      
 6 
     | 
    
         
            +
                
         
     | 
| 
      
 7 
     | 
    
         
            +
                def add_to_playlist(file, playlist_name)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  list = playlist(playlist_name) || create_playlist(playlist_name)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  raise "Playlist could not be found or created" unless list
         
     | 
| 
      
 10 
     | 
    
         
            +
                  track = itunes.add MacTypes::Alias.path(file)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  track.duplicate(:to => list)
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
                
         
     | 
| 
      
 14 
     | 
    
         
            +
                def playlist(name)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  itunes.user_playlists[its.name.eq(name)].get.first
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
                
         
     | 
| 
      
 18 
     | 
    
         
            +
                def create_playlist(name)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  itunes.make(:new => :user_playlist, :with_properties => {:name => name})
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
                
         
     | 
| 
      
 22 
     | 
    
         
            +
                private
         
     | 
| 
      
 23 
     | 
    
         
            +
                
         
     | 
| 
      
 24 
     | 
    
         
            +
                def itunes
         
     | 
| 
      
 25 
     | 
    
         
            +
                  app('iTunes')
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/kanye/page.rb
    ADDED
    
    | 
         @@ -0,0 +1,57 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Kanye
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Page
         
     | 
| 
      
 3 
     | 
    
         
            +
                attr_reader :html, :response, :tracks
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                def initialize(path, page=1)
         
     | 
| 
      
 7 
     | 
    
         
            +
                  @response = HTTParty.get url(path, page)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @tracks   = []
         
     | 
| 
      
 9 
     | 
    
         
            +
                  @cookie   = @response.headers['set-cookie']
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @html     = @response.parsed_response    
         
     | 
| 
      
 11 
     | 
    
         
            +
                  parse_response
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                def download_all!
         
     | 
| 
      
 15 
     | 
    
         
            +
                  tracks.each do |current_track|
         
     | 
| 
      
 16 
     | 
    
         
            +
                    history = History.new(DEFAULT_DB_PATH)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    unless history.exists?(current_track)
         
     | 
| 
      
 18 
     | 
    
         
            +
                      begin
         
     | 
| 
      
 19 
     | 
    
         
            +
                        current_track.download! 
         
     | 
| 
      
 20 
     | 
    
         
            +
                      rescue Mp3InfoError => e
         
     | 
| 
      
 21 
     | 
    
         
            +
                        print e.message
         
     | 
| 
      
 22 
     | 
    
         
            +
                      end
         
     | 
| 
      
 23 
     | 
    
         
            +
                        
         
     | 
| 
      
 24 
     | 
    
         
            +
                      history.insert(current_track)
         
     | 
| 
      
 25 
     | 
    
         
            +
                      puts "\tInserted song into db"
         
     | 
| 
      
 26 
     | 
    
         
            +
                    end
         
     | 
| 
      
 27 
     | 
    
         
            +
                  end
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                def url(path, page=1)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  "http://#{BASE_URL}/"+path+"/"+page.to_s+"?ax=1&ts="+timestamp
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                protected
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                def parse_response
         
     | 
| 
      
 37 
     | 
    
         
            +
                  html_doc = Nokogiri::HTML(@html)
         
     | 
| 
      
 38 
     | 
    
         
            +
                  ids      = @html.scan /\tid:\'(\w*)\'/
         
     | 
| 
      
 39 
     | 
    
         
            +
                  keys     = @html.scan /\tkey:\s+?\'([\d\w]*)\'/
         
     | 
| 
      
 40 
     | 
    
         
            +
                  artists  = html_doc.css('.track_name .artist').map     { |node| node.content.strip }
         
     | 
| 
      
 41 
     | 
    
         
            +
                  titles   = html_doc.css('.track_name .artist + a').map { |node| node.content.strip }
         
     | 
| 
      
 42 
     | 
    
         
            +
                  [ids, keys, titles, artists].each { |a| a.flatten!; a.reverse! }
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                  ids.each_with_index do |id, i|
         
     | 
| 
      
 45 
     | 
    
         
            +
                    @tracks << Track.new(:id  => ids[i], 
         
     | 
| 
      
 46 
     | 
    
         
            +
                                         :key => keys[i], 
         
     | 
| 
      
 47 
     | 
    
         
            +
                                         :title  => titles[i],
         
     | 
| 
      
 48 
     | 
    
         
            +
                                         :artist => artists[i], 
         
     | 
| 
      
 49 
     | 
    
         
            +
                                         :cookie => @cookie)
         
     | 
| 
      
 50 
     | 
    
         
            +
                  end
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                def timestamp
         
     | 
| 
      
 54 
     | 
    
         
            +
                  ("%10.10f" % Time.now.utc.to_f).gsub('.','')
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
              end
         
     | 
| 
      
 57 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/kanye/track.rb
    CHANGED
    
    | 
         @@ -1,53 +1,57 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            module Kanye
         
     | 
| 
      
 2 
     | 
    
         
            +
              class NoKeyError < StandardError; end
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            class Track
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 4 
     | 
    
         
            +
              class Track
         
     | 
| 
      
 5 
     | 
    
         
            +
                def initialize(params={})
         
     | 
| 
      
 6 
     | 
    
         
            +
                  @id     = params[:id]
         
     | 
| 
      
 7 
     | 
    
         
            +
                  @key    = params[:key]
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @title  = params[:title]
         
     | 
| 
      
 9 
     | 
    
         
            +
                  @artist = params[:artist]
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @cookie = params[:cookie]
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 13 
     | 
    
         
            +
                attr_reader :id, :key, :title, :artist, :cookie
         
     | 
| 
       13 
14 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
                def url
         
     | 
| 
      
 16 
     | 
    
         
            +
                  "http://#{BASE_URL}/serve/source/" + id + '/' + key
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                response = HTTParty.get(url, :headers => {'cookie' => cookie})
         
     | 
| 
      
 19 
     | 
    
         
            +
                def download!
         
     | 
| 
      
 20 
     | 
    
         
            +
                  raise(NoKeyError, "Couldn't find :key for '#{self}'") if key.blank?
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 22 
     | 
    
         
            +
                  response = HTTParty.get(url, :headers => {'cookie' => cookie})
         
     | 
| 
      
 23 
     | 
    
         
            +
                  raise "Response Code '#{response.code}' - Something has changed." unless response.code == 200
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
                File.open(filename, "wb") do |f|
         
     | 
| 
       26 
     | 
    
         
            -
                  f.write(response.parsed_response)
         
     | 
| 
       27 
     | 
    
         
            -
                end
         
     | 
| 
       28 
25 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
      
 26 
     | 
    
         
            +
                  print "Attempting to download ", self
         
     | 
| 
      
 27 
     | 
    
         
            +
                  puts "\n\tDownloading song..."
         
     | 
| 
       31 
28 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
                  mp3_url = response.parsed_response["url"]
         
     | 
| 
      
 30 
     | 
    
         
            +
                  mp3_response = HTTParty.get(mp3_url)
         
     | 
| 
      
 31 
     | 
    
         
            +
                
         
     | 
| 
      
 32 
     | 
    
         
            +
                  File.open(filename, "wb") do |f|
         
     | 
| 
      
 33 
     | 
    
         
            +
                    f.write(mp3_response.parsed_response)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  end
         
     | 
| 
      
 35 
     | 
    
         
            +
                
         
     | 
| 
      
 36 
     | 
    
         
            +
                  set_id3_tags!
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
                
         
     | 
| 
      
 39 
     | 
    
         
            +
                def to_s
         
     | 
| 
      
 40 
     | 
    
         
            +
                  "(" + [key, title, artist].join(", ") +  ")"
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
       35 
42 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
                def filename
         
     | 
| 
      
 44 
     | 
    
         
            +
                  name = [artist,title].join('-').gsub(/[ \/]/, "-").downcase
         
     | 
| 
      
 45 
     | 
    
         
            +
                  File.join(Kanye.download_path, name + ".mp3")
         
     | 
| 
      
 46 
     | 
    
         
            +
                end
         
     | 
| 
       40 
47 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
      
 48 
     | 
    
         
            +
                private
         
     | 
| 
       42 
49 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
                  Mp3Info.open(filename, :encoding => 'utf-8') do |mp3|
         
     | 
| 
      
 50 
     | 
    
         
            +
                def set_id3_tags!
         
     | 
| 
      
 51 
     | 
    
         
            +
                  Mp3Info.open(filename) do |mp3|
         
     | 
| 
       46 
52 
     | 
    
         
             
                    mp3.tag.artist = artist
         
     | 
| 
       47 
53 
     | 
    
         
             
                    mp3.tag.title  = title
         
     | 
| 
       48 
54 
     | 
    
         
             
                  end
         
     | 
| 
       49 
     | 
    
         
            -
                rescue Mp3InfoError => e
         
     | 
| 
       50 
     | 
    
         
            -
                  print e.message
         
     | 
| 
       51 
55 
     | 
    
         
             
                end
         
     | 
| 
       52 
56 
     | 
    
         
             
              end
         
     | 
| 
       53 
     | 
    
         
            -
            end
         
     | 
| 
      
 57 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/data/sample.html
    CHANGED
    
    | 
         @@ -11,7 +11,7 @@ 
     | 
|
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                <div class="message-push" id="flash-warning" style="display: none">
         
     | 
| 
       13 
13 
     | 
    
         
             
                    <div id="message-intro">
         
     | 
| 
       14 
     | 
    
         
            -
                        <p>You seem to be missing <a href="http://www.adobe.com/support/flashplayer/downloads.html">Adobe's Flash Player</a>, please install it before attempting to listen to music on the  
     | 
| 
      
 14 
     | 
    
         
            +
                        <p>You seem to be missing <a href="http://www.adobe.com/support/flashplayer/downloads.html">Adobe's Flash Player</a>, please install it before attempting to listen to music on the .</p>
         
     | 
| 
       15 
15 
     | 
    
         
             
                    </div>
         
     | 
| 
       16 
16 
     | 
    
         
             
                </div>
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
         @@ -69,7 +69,7 @@ 
     | 
|
| 
       69 
69 
     | 
    
         | 
| 
       70 
70 
     | 
    
         | 
| 
       71 
71 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       72 
     | 
    
         
            -
            			  <a class="artist" title="Rusko - search 
     | 
| 
      
 72 
     | 
    
         
            +
            			  <a class="artist" title="Rusko - search   for this artist" href="/artist/Rusko">
         
     | 
| 
       73 
73 
     | 
    
         
             
            		Rusko</a>
         
     | 
| 
       74 
74 
     | 
    
         
             
            			 - 
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
         @@ -170,7 +170,7 @@ 
     | 
|
| 
       170 
170 
     | 
    
         
             
            				  href="http://www.melophobe.com/concert-reviews/rusko-doorly-sir-kutz-roseland-theater-portland-or1/" 
         
     | 
| 
       171 
171 
     | 
    
         
             
            				  title="Read this post: Rusko + Doorly + Sir Kutz – Ros…">
         
     | 
| 
       172 
172 
     | 
    
         
             
                        Posted 4 days ago »<span style="background:url(
         
     | 
| 
       173 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 173 
     | 
    
         
            +
            				http://static-ak.m.net/images/albumart2.gif
         
     | 
| 
       174 
174 
     | 
    
         
             
            				);"></span></a>
         
     | 
| 
       175 
175 
     | 
    
         | 
| 
       176 
176 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -198,7 +198,7 @@ 
     | 
|
| 
       198 
198 
     | 
    
         | 
| 
       199 
199 
     | 
    
         | 
| 
       200 
200 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       201 
     | 
    
         
            -
            			  <a class="artist" title="Rusko - search 
     | 
| 
      
 201 
     | 
    
         
            +
            			  <a class="artist" title="Rusko - search   for this artist" href="/artist/Rusko">
         
     | 
| 
       202 
202 
     | 
    
         
             
            		Rusko</a>
         
     | 
| 
       203 
203 
     | 
    
         
             
            			 - 
         
     | 
| 
       204 
204 
     | 
    
         | 
| 
         @@ -299,7 +299,7 @@ 
     | 
|
| 
       299 
299 
     | 
    
         
             
            				  href="http://www.earmilk.com/2011/04/18/rusko-everyday-the-remixes/" 
         
     | 
| 
       300 
300 
     | 
    
         
             
            				  title="Read this post: Rusko – Everyday [The Remixes]">
         
     | 
| 
       301 
301 
     | 
    
         
             
                        Posted 3 days ago »<span style="background:url(
         
     | 
| 
       302 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 302 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/3/1459123.png
         
     | 
| 
       303 
303 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       304 
304 
     | 
    
         | 
| 
       305 
305 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -327,7 +327,7 @@ 
     | 
|
| 
       327 
327 
     | 
    
         | 
| 
       328 
328 
     | 
    
         | 
| 
       329 
329 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       330 
     | 
    
         
            -
            			  <a class="artist" title="Washed Out feat. Caroline Polachek - search 
     | 
| 
      
 330 
     | 
    
         
            +
            			  <a class="artist" title="Washed Out feat. Caroline Polachek - search   for this artist" href="/artist/Washed Out feat. Caroline Polachek">
         
     | 
| 
       331 
331 
     | 
    
         
             
            		Washed Out feat. Caroline Polachek</a>
         
     | 
| 
       332 
332 
     | 
    
         
             
            			 - 
         
     | 
| 
       333 
333 
     | 
    
         | 
| 
         @@ -428,7 +428,7 @@ 
     | 
|
| 
       428 
428 
     | 
    
         
             
            				  href="http://www.tiltmag.com/2011/04/washed-out-signs-to-sub-pop.html" 
         
     | 
| 
       429 
429 
     | 
    
         
             
            				  title="Read this post: Washed Out Signs to Sub Pop">
         
     | 
| 
       430 
430 
     | 
    
         
             
                        Posted 14 hrs ago »<span style="background:url(
         
     | 
| 
       431 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 431 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/6/1461916.png
         
     | 
| 
       432 
432 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       433 
433 
     | 
    
         | 
| 
       434 
434 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -456,7 +456,7 @@ 
     | 
|
| 
       456 
456 
     | 
    
         | 
| 
       457 
457 
     | 
    
         | 
| 
       458 
458 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       459 
     | 
    
         
            -
            			  <a class="artist" title="Le Castle Vania - search 
     | 
| 
      
 459 
     | 
    
         
            +
            			  <a class="artist" title="Le Castle Vania - search   for this artist" href="/artist/Le Castle Vania">
         
     | 
| 
       460 
460 
     | 
    
         
             
            		Le Castle Vania</a>
         
     | 
| 
       461 
461 
     | 
    
         
             
            			 - 
         
     | 
| 
       462 
462 
     | 
    
         | 
| 
         @@ -557,7 +557,7 @@ 
     | 
|
| 
       557 
557 
     | 
    
         
             
            				  href="http://www.themusicninja.com/electro-dj-falcon-thomas-bangalter-together-le-castle-vania-computer-clubs-summer-bootleg-mix/" 
         
     | 
| 
       558 
558 
     | 
    
         
             
            				  title="Read this post: [Electro] DJ Falcon + Thomas Bang…">
         
     | 
| 
       559 
559 
     | 
    
         
             
                        Posted 9 hrs ago »<span style="background:url(
         
     | 
| 
       560 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 560 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/7/1462247.png
         
     | 
| 
       561 
561 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       562 
562 
     | 
    
         | 
| 
       563 
563 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -585,7 +585,7 @@ 
     | 
|
| 
       585 
585 
     | 
    
         | 
| 
       586 
586 
     | 
    
         | 
| 
       587 
587 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       588 
     | 
    
         
            -
            			  <a class="artist" title="Earl Da Grey - search 
     | 
| 
      
 588 
     | 
    
         
            +
            			  <a class="artist" title="Earl Da Grey - search   for this artist" href="/artist/Earl Da Grey">
         
     | 
| 
       589 
589 
     | 
    
         
             
            		Earl Da Grey</a>
         
     | 
| 
       590 
590 
     | 
    
         
             
            			 - 
         
     | 
| 
       591 
591 
     | 
    
         | 
| 
         @@ -682,7 +682,7 @@ 
     | 
|
| 
       682 
682 
     | 
    
         
             
            				  href="http://www.ilictronix.com/2011/04/not-my-cup-of-tea.html" 
         
     | 
| 
       683 
683 
     | 
    
         
             
            				  title="Read this post: Not My Cup of Tea">
         
     | 
| 
       684 
684 
     | 
    
         
             
                        Posted 5 days ago »<span style="background:url(
         
     | 
| 
       685 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 685 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/3/1457903.png
         
     | 
| 
       686 
686 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       687 
687 
     | 
    
         | 
| 
       688 
688 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -710,7 +710,7 @@ 
     | 
|
| 
       710 
710 
     | 
    
         | 
| 
       711 
711 
     | 
    
         
             
            <div class="same-post section-track" >
         
     | 
| 
       712 
712 
     | 
    
         
             
            	<h3 class="track_name">
         
     | 
| 
       713 
     | 
    
         
            -
            					<a class="artist" title="Earl Da Grey - search 
     | 
| 
      
 713 
     | 
    
         
            +
            					<a class="artist" title="Earl Da Grey - search   for this artist" href="/artist/Earl Da Grey">
         
     | 
| 
       714 
714 
     | 
    
         
             
            		Earl Da Grey		</a> - 
         
     | 
| 
       715 
715 
     | 
    
         
             
            				<a title="Heavenly Motion - go to page for this track" href="/item/1ar7k/Earl+Da+Grey+-+Heavenly+Motion">
         
     | 
| 
       716 
716 
     | 
    
         
             
            		Heavenly Motion	</a> 
         
     | 
| 
         @@ -789,7 +789,7 @@ 
     | 
|
| 
       789 
789 
     | 
    
         | 
| 
       790 
790 
     | 
    
         
             
            <div class="same-post section-track" >
         
     | 
| 
       791 
791 
     | 
    
         
             
            	<h3 class="track_name">
         
     | 
| 
       792 
     | 
    
         
            -
            					<a class="artist" title="Earl Da Grey - search 
     | 
| 
      
 792 
     | 
    
         
            +
            					<a class="artist" title="Earl Da Grey - search   for this artist" href="/artist/Earl Da Grey">
         
     | 
| 
       793 
793 
     | 
    
         
             
            		Earl Da Grey		</a> - 
         
     | 
| 
       794 
794 
     | 
    
         
             
            				<a title="Millionaire Radio - go to page for this track" href="/item/1ar7g/Earl+Da+Grey+-+Millionaire+Radio">
         
     | 
| 
       795 
795 
     | 
    
         
             
            		Millionaire Radio	</a> 
         
     | 
| 
         @@ -868,7 +868,7 @@ 
     | 
|
| 
       868 
868 
     | 
    
         | 
| 
       869 
869 
     | 
    
         
             
            <div class="same-post section-track" >
         
     | 
| 
       870 
870 
     | 
    
         
             
            	<h3 class="track_name">
         
     | 
| 
       871 
     | 
    
         
            -
            					<a class="artist" title="Earl Da Grey - search 
     | 
| 
      
 871 
     | 
    
         
            +
            					<a class="artist" title="Earl Da Grey - search   for this artist" href="/artist/Earl Da Grey">
         
     | 
| 
       872 
872 
     | 
    
         
             
            		Earl Da Grey		</a> - 
         
     | 
| 
       873 
873 
     | 
    
         
             
            				<a title="Taboo - go to page for this track" href="/item/1ar7h/Earl+Da+Grey+-+Taboo">
         
     | 
| 
       874 
874 
     | 
    
         
             
            		Taboo	</a> 
         
     | 
| 
         @@ -941,14 +941,14 @@ 
     | 
|
| 
       941 
941 
     | 
    
         
             
            </div><!-- same-post -->
         
     | 
| 
       942 
942 
     | 
    
         | 
| 
       943 
943 
     | 
    
         
             
            </div><!-- section-player -->
         
     | 
| 
       944 
     | 
    
         
            -
            </div><a class="notice" onclick="if(! document.getElementById('box') ) { Lightbox.init(); } Lightbox.showBoxByAJAX('/inc/lb_signup.php', 330, 510);return false;" href=""><span>Customize the 
     | 
| 
      
 944 
     | 
    
         
            +
            </div><a class="notice" onclick="if(! document.getElementById('box') ) { Lightbox.init(); } Lightbox.showBoxByAJAX('/inc/lb_signup.php', 330, 510);return false;" href=""><span>Customize the  with the music YOU <em>Love</em> • <strong>Sign Up Now »</strong></span></a>
         
     | 
| 
       945 
945 
     | 
    
         
             
                            <div class="section section-track section-odd">
         
     | 
| 
       946 
946 
     | 
    
         
             
                            <div class="section-player" >
         
     | 
| 
       947 
947 
     | 
    
         | 
| 
       948 
948 
     | 
    
         | 
| 
       949 
949 
     | 
    
         | 
| 
       950 
950 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       951 
     | 
    
         
            -
            			  <a class="artist" title="James Varnish - search 
     | 
| 
      
 951 
     | 
    
         
            +
            			  <a class="artist" title="James Varnish - search   for this artist" href="/artist/James Varnish">
         
     | 
| 
       952 
952 
     | 
    
         
             
            		James Varnish</a>
         
     | 
| 
       953 
953 
     | 
    
         
             
            			 - 
         
     | 
| 
       954 
954 
     | 
    
         | 
| 
         @@ -1045,7 +1045,7 @@ 
     | 
|
| 
       1045 
1045 
     | 
    
         
             
            				  href="http://www.vacayvitamins.com/electro/together-boston-2011-music-arts-technology/" 
         
     | 
| 
       1046 
1046 
     | 
    
         
             
            				  title="Read this post: Together Boston 2011 (Music, Arts…">
         
     | 
| 
       1047 
1047 
     | 
    
         
             
                        Posted 4 days ago »<span style="background:url(
         
     | 
| 
       1048 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 1048 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/5/1458305.png
         
     | 
| 
       1049 
1049 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       1050 
1050 
     | 
    
         | 
| 
       1051 
1051 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -1073,7 +1073,7 @@ 
     | 
|
| 
       1073 
1073 
     | 
    
         | 
| 
       1074 
1074 
     | 
    
         | 
| 
       1075 
1075 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       1076 
     | 
    
         
            -
            			  <a class="artist" title="Jamaica - search 
     | 
| 
      
 1076 
     | 
    
         
            +
            			  <a class="artist" title="Jamaica - search   for this artist" href="/artist/Jamaica">
         
     | 
| 
       1077 
1077 
     | 
    
         
             
            		Jamaica</a>
         
     | 
| 
       1078 
1078 
     | 
    
         
             
            			 - 
         
     | 
| 
       1079 
1079 
     | 
    
         | 
| 
         @@ -1174,7 +1174,7 @@ 
     | 
|
| 
       1174 
1174 
     | 
    
         
             
            				  href="http://allthingsgomusic.com/interview-jamaica" 
         
     | 
| 
       1175 
1175 
     | 
    
         
             
            				  title="Read this post: Interview: Jamaica">
         
     | 
| 
       1176 
1176 
     | 
    
         
             
                        Posted 4 days ago »<span style="background:url(
         
     | 
| 
       1177 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 1177 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/6/1458346.png
         
     | 
| 
       1178 
1178 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       1179 
1179 
     | 
    
         | 
| 
       1180 
1180 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -1202,7 +1202,7 @@ 
     | 
|
| 
       1202 
1202 
     | 
    
         | 
| 
       1203 
1203 
     | 
    
         | 
| 
       1204 
1204 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       1205 
     | 
    
         
            -
            			  <a class="artist" title="Radiohead - search 
     | 
| 
      
 1205 
     | 
    
         
            +
            			  <a class="artist" title="Radiohead - search   for this artist" href="/artist/Radiohead">
         
     | 
| 
       1206 
1206 
     | 
    
         
             
            		Radiohead</a>
         
     | 
| 
       1207 
1207 
     | 
    
         
             
            			 - 
         
     | 
| 
       1208 
1208 
     | 
    
         | 
| 
         @@ -1303,7 +1303,7 @@ 
     | 
|
| 
       1303 
1303 
     | 
    
         
             
            				  href="http://tympanogram.com/music/stream-radiohead-supercollider/" 
         
     | 
| 
       1304 
1304 
     | 
    
         
             
            				  title="Read this post: [stream] Radiohead // Supercollid…">
         
     | 
| 
       1305 
1305 
     | 
    
         
             
                        Posted 14 hrs ago »<span style="background:url(
         
     | 
| 
       1306 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 1306 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/0/1461900.png
         
     | 
| 
       1307 
1307 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       1308 
1308 
     | 
    
         | 
| 
       1309 
1309 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -1331,7 +1331,7 @@ 
     | 
|
| 
       1331 
1331 
     | 
    
         | 
| 
       1332 
1332 
     | 
    
         | 
| 
       1333 
1333 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       1334 
     | 
    
         
            -
            			  <a class="artist" title="Dillon Francis - search 
     | 
| 
      
 1334 
     | 
    
         
            +
            			  <a class="artist" title="Dillon Francis - search   for this artist" href="/artist/Dillon Francis">
         
     | 
| 
       1335 
1335 
     | 
    
         
             
            		Dillon Francis</a>
         
     | 
| 
       1336 
1336 
     | 
    
         
             
            			 - 
         
     | 
| 
       1337 
1337 
     | 
    
         | 
| 
         @@ -1432,7 +1432,7 @@ 
     | 
|
| 
       1432 
1432 
     | 
    
         
             
            				  href="http://www.tiltmag.com/2011/04/la-dubstep-takeover-ooah-love-i-need.html" 
         
     | 
| 
       1433 
1433 
     | 
    
         
             
            				  title="Read this post: L.A. DUBSTEP TAKEOVER! OOAH - The…">
         
     | 
| 
       1434 
1434 
     | 
    
         
             
                        Posted yesterday »<span style="background:url(
         
     | 
| 
       1435 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 1435 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/1/1461131.png
         
     | 
| 
       1436 
1436 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       1437 
1437 
     | 
    
         | 
| 
       1438 
1438 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -1460,7 +1460,7 @@ 
     | 
|
| 
       1460 
1460 
     | 
    
         | 
| 
       1461 
1461 
     | 
    
         | 
| 
       1462 
1462 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       1463 
     | 
    
         
            -
            			  <a class="artist" title="The Human League - search 
     | 
| 
      
 1463 
     | 
    
         
            +
            			  <a class="artist" title="The Human League - search   for this artist" href="/artist/The Human League">
         
     | 
| 
       1464 
1464 
     | 
    
         
             
            		The Human League</a>
         
     | 
| 
       1465 
1465 
     | 
    
         
             
            			 - 
         
     | 
| 
       1466 
1466 
     | 
    
         | 
| 
         @@ -1561,7 +1561,7 @@ 
     | 
|
| 
       1561 
1561 
     | 
    
         
             
            				  href="http://www.vacayvitamins.com/electro/mix-monday-alex-metric-bbc-radio-1-essential-mix/" 
         
     | 
| 
       1562 
1562 
     | 
    
         
             
            				  title="Read this post: Mix Monday – Alex Metric BBC Ra…">
         
     | 
| 
       1563 
1563 
     | 
    
         
             
                        Posted 3 days ago »<span style="background:url(
         
     | 
| 
       1564 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 1564 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/0/1458840.png
         
     | 
| 
       1565 
1565 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       1566 
1566 
     | 
    
         | 
| 
       1567 
1567 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -1589,7 +1589,7 @@ 
     | 
|
| 
       1589 
1589 
     | 
    
         | 
| 
       1590 
1590 
     | 
    
         
             
            <div class="same-post section-track" >
         
     | 
| 
       1591 
1591 
     | 
    
         
             
            	<h3 class="track_name">
         
     | 
| 
       1592 
     | 
    
         
            -
            					<a class="artist" title="His Majesty Andre - search 
     | 
| 
      
 1592 
     | 
    
         
            +
            					<a class="artist" title="His Majesty Andre - search   for this artist" href="/artist/His Majesty Andre">
         
     | 
| 
       1593 
1593 
     | 
    
         
             
            		His Majesty Andre		</a> - 
         
     | 
| 
       1594 
1594 
     | 
    
         
             
            				<a title="Clubs - go to page for this track" href="/item/1as5w/His+Majesty+Andre+-+Clubs">
         
     | 
| 
       1595 
1595 
     | 
    
         
             
            		Clubs	</a> 
         
     | 
| 
         @@ -1668,7 +1668,7 @@ 
     | 
|
| 
       1668 
1668 
     | 
    
         | 
| 
       1669 
1669 
     | 
    
         
             
            <div class="same-post section-track" >
         
     | 
| 
       1670 
1670 
     | 
    
         
             
            	<h3 class="track_name">
         
     | 
| 
       1671 
     | 
    
         
            -
            					<a class="artist" title="Cassian - search 
     | 
| 
      
 1671 
     | 
    
         
            +
            					<a class="artist" title="Cassian - search   for this artist" href="/artist/Cassian">
         
     | 
| 
       1672 
1672 
     | 
    
         
             
            		Cassian		</a> - 
         
     | 
| 
       1673 
1673 
     | 
    
         
             
            				<a title="Getting High (Original Mix) - go to page for this track" href="/item/1as5v/Cassian+-+Getting+High+Original+Mix+">
         
     | 
| 
       1674 
1674 
     | 
    
         
             
            		Getting High (Original Mix)	</a> 
         
     | 
| 
         @@ -1747,7 +1747,7 @@ 
     | 
|
| 
       1747 
1747 
     | 
    
         | 
| 
       1748 
1748 
     | 
    
         
             
            <div class="same-post section-track" >
         
     | 
| 
       1749 
1749 
     | 
    
         
             
            	<h3 class="track_name">
         
     | 
| 
       1750 
     | 
    
         
            -
            					<a class="artist" title="Les Rythmes Digitales - search 
     | 
| 
      
 1750 
     | 
    
         
            +
            					<a class="artist" title="Les Rythmes Digitales - search   for this artist" href="/artist/Les Rythmes Digitales">
         
     | 
| 
       1751 
1751 
     | 
    
         
             
            		Les Rythmes Digitales		</a> - 
         
     | 
| 
       1752 
1752 
     | 
    
         
             
            				<a title="About Funk - go to page for this track" href="/item/1as5z/Les+Rythmes+Digitales+-+About+Funk">
         
     | 
| 
       1753 
1753 
     | 
    
         
             
            		About Funk	</a> 
         
     | 
| 
         @@ -1826,7 +1826,7 @@ 
     | 
|
| 
       1826 
1826 
     | 
    
         | 
| 
       1827 
1827 
     | 
    
         
             
            <div class="same-post section-track" >
         
     | 
| 
       1828 
1828 
     | 
    
         
             
            	<h3 class="track_name">
         
     | 
| 
       1829 
     | 
    
         
            -
            					<a class="artist" title="BeatauCue - search 
     | 
| 
      
 1829 
     | 
    
         
            +
            					<a class="artist" title="BeatauCue - search   for this artist" href="/artist/BeatauCue">
         
     | 
| 
       1830 
1830 
     | 
    
         
             
            		BeatauCue		</a> - 
         
     | 
| 
       1831 
1831 
     | 
    
         
             
            				<a title="Behold - go to page for this track" href="/item/1873c/BeatauCue+-+Behold">
         
     | 
| 
       1832 
1832 
     | 
    
         
             
            		Behold	</a> 
         
     | 
| 
         @@ -1906,14 +1906,14 @@ 
     | 
|
| 
       1906 
1906 
     | 
    
         
             
            </div><!-- same-post -->
         
     | 
| 
       1907 
1907 
     | 
    
         | 
| 
       1908 
1908 
     | 
    
         
             
            </div><!-- section-player -->
         
     | 
| 
       1909 
     | 
    
         
            -
            </div><a class="notice" onclick="if(! document.getElementById('box') ) { Lightbox.init(); } Lightbox.showBoxByAJAX('/inc/lb_signup.php', 330, 510);return false;" href=""><span>Customize the 
     | 
| 
      
 1909 
     | 
    
         
            +
            </div><a class="notice" onclick="if(! document.getElementById('box') ) { Lightbox.init(); } Lightbox.showBoxByAJAX('/inc/lb_signup.php', 330, 510);return false;" href=""><span>Customize the  with the music YOU <em>Love</em> • <strong>Sign Up Now »</strong></span></a>
         
     | 
| 
       1910 
1910 
     | 
    
         
             
                            <div class="section section-track section-even">
         
     | 
| 
       1911 
1911 
     | 
    
         
             
                            <div class="section-player" >
         
     | 
| 
       1912 
1912 
     | 
    
         | 
| 
       1913 
1913 
     | 
    
         | 
| 
       1914 
1914 
     | 
    
         | 
| 
       1915 
1915 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       1916 
     | 
    
         
            -
            			  <a class="artist" title="Toddla T - search 
     | 
| 
      
 1916 
     | 
    
         
            +
            			  <a class="artist" title="Toddla T - search   for this artist" href="/artist/Toddla T">
         
     | 
| 
       1917 
1917 
     | 
    
         
             
            		Toddla T</a>
         
     | 
| 
       1918 
1918 
     | 
    
         
             
            			 - 
         
     | 
| 
       1919 
1919 
     | 
    
         | 
| 
         @@ -2014,7 +2014,7 @@ 
     | 
|
| 
       2014 
2014 
     | 
    
         
             
            				  href="http://schitzpopinov.com/blog/words-with-doorly" 
         
     | 
| 
       2015 
2015 
     | 
    
         
             
            				  title="Read this post: Words with Doorly">
         
     | 
| 
       2016 
2016 
     | 
    
         
             
                        Posted yesterday »<span style="background:url(
         
     | 
| 
       2017 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 2017 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/4/1461244.png
         
     | 
| 
       2018 
2018 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       2019 
2019 
     | 
    
         | 
| 
       2020 
2020 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -2042,7 +2042,7 @@ 
     | 
|
| 
       2042 
2042 
     | 
    
         | 
| 
       2043 
2043 
     | 
    
         | 
| 
       2044 
2044 
     | 
    
         
             
              <h3 class="track_name">
         
     | 
| 
       2045 
     | 
    
         
            -
            			  <a class="artist" title="Danger Granger - search 
     | 
| 
      
 2045 
     | 
    
         
            +
            			  <a class="artist" title="Danger Granger - search   for this artist" href="/artist/Danger Granger">
         
     | 
| 
       2046 
2046 
     | 
    
         
             
            		Danger Granger</a>
         
     | 
| 
       2047 
2047 
     | 
    
         
             
            			 - 
         
     | 
| 
       2048 
2048 
     | 
    
         | 
| 
         @@ -2131,7 +2131,7 @@ 
     | 
|
| 
       2131 
2131 
     | 
    
         
             
                    title="See other tracks posted by this blog" 
         
     | 
| 
       2132 
2132 
     | 
    
         
             
                    href="/blog/earmilk/11067">
         
     | 
| 
       2133 
2133 
     | 
    
         
             
                      earmilk</a> 			
         
     | 
| 
       2134 
     | 
    
         
            -
            				“Mashup Monday  
     | 
| 
      
 2134 
     | 
    
         
            +
            				“Mashup Monday going to melt you faces off with enough mashed up music to make you wanna slap…” 
         
     | 
| 
       2135 
2135 
     | 
    
         
             
            				<a 
         
     | 
| 
       2136 
2136 
     | 
    
         
             
            				  class="readpost" 
         
     | 
| 
       2137 
2137 
     | 
    
         
             
            				  target="_blank" 
         
     | 
| 
         @@ -2139,7 +2139,7 @@ 
     | 
|
| 
       2139 
2139 
     | 
    
         
             
            				  href="http://www.earmilk.com/2011/04/18/mashup-monday-week-20/" 
         
     | 
| 
       2140 
2140 
     | 
    
         
             
            				  title="Read this post: Mashup Monday – Week 20">
         
     | 
| 
       2141 
2141 
     | 
    
         
             
                        Posted 3 days ago »<span style="background:url(
         
     | 
| 
       2142 
     | 
    
         
            -
            				http://static-ak. 
     | 
| 
      
 2142 
     | 
    
         
            +
            				http://static-ak.m.net/thumbs/9/1459019.png
         
     | 
| 
       2143 
2143 
     | 
    
         
             
            		);"></span></a>
         
     | 
| 
       2144 
2144 
     | 
    
         | 
| 
       2145 
2145 
     | 
    
         
             
                </p>
         
     | 
| 
         @@ -2167,7 +2167,7 @@ 
     | 
|
| 
       2167 
2167 
     | 
    
         | 
| 
       2168 
2168 
     | 
    
         
             
            <div class="same-post section-track" >
         
     | 
| 
       2169 
2169 
     | 
    
         
             
            	<h3 class="track_name">
         
     | 
| 
       2170 
     | 
    
         
            -
            					<a class="artist" title="DEFEP - search 
     | 
| 
      
 2170 
     | 
    
         
            +
            					<a class="artist" title="DEFEP - search   for this artist" href="/artist/DEFEP">
         
     | 
| 
       2171 
2171 
     | 
    
         
             
            		DEFEP		</a> - 
         
     | 
| 
       2172 
2172 
     | 
    
         
             
            				<a title="Rolling it Right (Afrojack vs Adele) - go to page for this track" href="/item/1asae/DEFEP+-+Rolling+it+Right+Afrojack+vs+Adele+">
         
     | 
| 
       2173 
2173 
     | 
    
         
             
            		Rolling it Right (Afrojack vs Adele)	</a> 
         
     | 
    
        data/spec/data/super.mp3
    ADDED
    
    | 
         Binary file 
     | 
| 
         @@ -0,0 +1,46 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'appscript'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            describe Kanye::ITunes do
         
     | 
| 
      
 5 
     | 
    
         
            +
              include Appscript
         
     | 
| 
      
 6 
     | 
    
         
            +
              KANYE_TEST = 'KANYE_TEST'
         
     | 
| 
      
 7 
     | 
    
         
            +
              
         
     | 
| 
      
 8 
     | 
    
         
            +
              describe :add_to_playlist do
         
     | 
| 
      
 9 
     | 
    
         
            +
                let(:list) { Kanye::ITunes.new.playlist(KANYE_TEST) }
         
     | 
| 
      
 10 
     | 
    
         
            +
                after  { begin app('iTunes').delete(list); rescue; end }
         
     | 
| 
      
 11 
     | 
    
         
            +
                
         
     | 
| 
      
 12 
     | 
    
         
            +
                context "when file found" do
         
     | 
| 
      
 13 
     | 
    
         
            +
                  context "and playlist is June" do
         
     | 
| 
      
 14 
     | 
    
         
            +
                    let(:file) { File.expand_path('spec/data/super.mp3') }
         
     | 
| 
      
 15 
     | 
    
         
            +
                    
         
     | 
| 
      
 16 
     | 
    
         
            +
                    before do
         
     | 
| 
      
 17 
     | 
    
         
            +
                      Kanye::ITunes.new.add_to_playlist(file, KANYE_TEST)
         
     | 
| 
      
 18 
     | 
    
         
            +
                    end
         
     | 
| 
      
 19 
     | 
    
         
            +
                    
         
     | 
| 
      
 20 
     | 
    
         
            +
                    it "should add song to playlist" do
         
     | 
| 
      
 21 
     | 
    
         
            +
                      tracks = app('iTunes').user_playlists[its.name.eq(KANYE_TEST)].first.tracks.name.get
         
     | 
| 
      
 22 
     | 
    
         
            +
                      tracks.should include('super')
         
     | 
| 
      
 23 
     | 
    
         
            +
                    end
         
     | 
| 
      
 24 
     | 
    
         
            +
                  end
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
              end
         
     | 
| 
      
 27 
     | 
    
         
            +
              
         
     | 
| 
      
 28 
     | 
    
         
            +
              describe :playlist do
         
     | 
| 
      
 29 
     | 
    
         
            +
                let(:list) { Kanye::ITunes.new.create_playlist(KANYE_TEST) }
         
     | 
| 
      
 30 
     | 
    
         
            +
                before { list }
         
     | 
| 
      
 31 
     | 
    
         
            +
                after  { begin app('iTunes').delete(list); rescue; end }
         
     | 
| 
      
 32 
     | 
    
         
            +
                
         
     | 
| 
      
 33 
     | 
    
         
            +
                context "playlist is found" do
         
     | 
| 
      
 34 
     | 
    
         
            +
                  it "should return appscript reference" do
         
     | 
| 
      
 35 
     | 
    
         
            +
                    Kanye::ITunes.new.playlist(KANYE_TEST).class.should == Appscript::Reference 
         
     | 
| 
      
 36 
     | 
    
         
            +
                  end
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
                
         
     | 
| 
      
 39 
     | 
    
         
            +
                context "playlist can not be found" do
         
     | 
| 
      
 40 
     | 
    
         
            +
                  before  { app('iTunes').delete list }
         
     | 
| 
      
 41 
     | 
    
         
            +
                  it "should return nil" do
         
     | 
| 
      
 42 
     | 
    
         
            +
                    Kanye::ITunes.new.playlist(KANYE_TEST).should be_nil
         
     | 
| 
      
 43 
     | 
    
         
            +
                  end
         
     | 
| 
      
 44 
     | 
    
         
            +
                end
         
     | 
| 
      
 45 
     | 
    
         
            +
              end
         
     | 
| 
      
 46 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/kanye/track_spec.rb
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            describe Track do
         
     | 
| 
      
 3 
     | 
    
         
            +
            describe Kanye::Track do
         
     | 
| 
       4 
4 
     | 
    
         
             
              before do
         
     | 
| 
       5 
     | 
    
         
            -
                @track = Track.new(:id => 'id', :key => 'key', :artist => 'Alan Braxe', :title => 'Rubicon', :cookie => 'cookie')
         
     | 
| 
      
 5 
     | 
    
         
            +
                @track = Kanye::Track.new(:id => 'id', :key => 'key', :artist => 'Alan Braxe', :title => 'Rubicon', :cookie => 'cookie')
         
     | 
| 
       6 
6 
     | 
    
         
             
              end
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
              describe "url" do
         
     | 
| 
       9 
9 
     | 
    
         
             
                it "should contain contain :id and :key" do
         
     | 
| 
       10 
     | 
    
         
            -
                  @track.url.should == "http 
     | 
| 
      
 10 
     | 
    
         
            +
                  @track.url.should == "http://#{Kanye::BASE_URL}/serve/source/id/key"
         
     | 
| 
       11 
11 
     | 
    
         
             
                end
         
     | 
| 
       12 
12 
     | 
    
         
             
              end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
         @@ -19,12 +19,12 @@ describe Track do 
     | 
|
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
              describe "download!" do
         
     | 
| 
       21 
21 
     | 
    
         
             
                before do
         
     | 
| 
       22 
     | 
    
         
            -
                  HTTParty.stub!(:get)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  HTTParty.stub!(:get) { mock(:response, :parsed_response => {}, :code => 200) }
         
     | 
| 
       23 
23 
     | 
    
         
             
                  File.stub!(:open)
         
     | 
| 
       24 
24 
     | 
    
         
             
                  Mp3Info.stub!(:open)
         
     | 
| 
       25 
25 
     | 
    
         
             
                end
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
     | 
    
         
            -
                it "should request mp3  
     | 
| 
      
 27 
     | 
    
         
            +
                it "should request mp3 with cookie" do
         
     | 
| 
       28 
28 
     | 
    
         
             
                  HTTParty.should_receive(:get).with(@track.url, {:headers => {"cookie" => @track.cookie}})
         
     | 
| 
       29 
29 
     | 
    
         
             
                  @track.download!
         
     | 
| 
       30 
30 
     | 
    
         
             
                end
         
     | 
    
        data/spec/kanye_spec.rb
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            describe Kanye do
         
     | 
| 
      
 3 
     | 
    
         
            +
            describe Kanye::Page do
         
     | 
| 
       4 
4 
     | 
    
         
             
              describe '#parse_response' do
         
     | 
| 
       5 
5 
     | 
    
         
             
                let(:html) { File.open('spec/data/sample.html', 'r').read }
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
         @@ -12,7 +12,7 @@ describe Kanye do 
     | 
|
| 
       12 
12 
     | 
    
         
             
                  HTTParty.stub!(:get).and_return(resp)
         
     | 
| 
       13 
13 
     | 
    
         
             
                end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
                let(:kanye) { Kanye.new('test') }
         
     | 
| 
      
 15 
     | 
    
         
            +
                let(:kanye) { Kanye::Page.new('test') }
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                describe 'format strings' do
         
     | 
| 
       18 
18 
     | 
    
         
             
                  results = [
         
     | 
| 
         @@ -37,7 +37,7 @@ describe Kanye do 
     | 
|
| 
       37 
37 
     | 
    
         
             
                    ["Danger Granger","Daniel is a Wild Cat (Porter Robinson vs Bat For Lashes)","1asad","65257400b1a1266adb3173f029bbb1a8","yesplease"],
         
     | 
| 
       38 
38 
     | 
    
         
             
                    ["DEFEP","Rolling it Right (Afrojack vs Adele)","1asae","63cbcb3a740e1ad0cb7163b23e33a9d6","yesplease"]
         
     | 
| 
       39 
39 
     | 
    
         
             
                  ]
         
     | 
| 
       40 
     | 
    
         
            -
                  results.each_with_index do |track, index|
         
     | 
| 
      
 40 
     | 
    
         
            +
                  results.reverse!.each_with_index do |track, index|
         
     | 
| 
       41 
41 
     | 
    
         
             
                    describe "track No. #{index+1}" do
         
     | 
| 
       42 
42 
     | 
    
         
             
                      subject { kanye.tracks[index] }
         
     | 
| 
       43 
43 
     | 
    
         
             
                      its(:artist) { should == results[index][0] }
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: kanye
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 31
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 1
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.1.2
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Sam Vincent
         
     | 
| 
         @@ -15,7 +15,7 @@ autorequire: 
     | 
|
| 
       15 
15 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       16 
16 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
            date: 2011-06- 
     | 
| 
      
 18 
     | 
    
         
            +
            date: 2011-06-30 00:00:00 -07:00
         
     | 
| 
       19 
19 
     | 
    
         
             
            default_executable: kanye
         
     | 
| 
       20 
20 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       21 
21 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -79,9 +79,25 @@ dependencies: 
     | 
|
| 
       79 
79 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       80 
80 
     | 
    
         
             
              version_requirements: *id004
         
     | 
| 
       81 
81 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       82 
     | 
    
         
            -
              name:  
     | 
| 
      
 82 
     | 
    
         
            +
              name: rb-appscript
         
     | 
| 
       83 
83 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       84 
84 
     | 
    
         
             
              requirement: &id005 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 85 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 86 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 87 
     | 
    
         
            +
                - - "="
         
     | 
| 
      
 88 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 89 
     | 
    
         
            +
                    hash: 5
         
     | 
| 
      
 90 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 91 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 92 
     | 
    
         
            +
                    - 6
         
     | 
| 
      
 93 
     | 
    
         
            +
                    - 1
         
     | 
| 
      
 94 
     | 
    
         
            +
                    version: 0.6.1
         
     | 
| 
      
 95 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 96 
     | 
    
         
            +
              version_requirements: *id005
         
     | 
| 
      
 97 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 98 
     | 
    
         
            +
              name: rspec
         
     | 
| 
      
 99 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 100 
     | 
    
         
            +
              requirement: &id006 !ruby/object:Gem::Requirement 
         
     | 
| 
       85 
101 
     | 
    
         
             
                none: false
         
     | 
| 
       86 
102 
     | 
    
         
             
                requirements: 
         
     | 
| 
       87 
103 
     | 
    
         
             
                - - ">="
         
     | 
| 
         @@ -91,11 +107,11 @@ dependencies: 
     | 
|
| 
       91 
107 
     | 
    
         
             
                    - 2
         
     | 
| 
       92 
108 
     | 
    
         
             
                    version: "2"
         
     | 
| 
       93 
109 
     | 
    
         
             
              type: :development
         
     | 
| 
       94 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 110 
     | 
    
         
            +
              version_requirements: *id006
         
     | 
| 
       95 
111 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       96 
112 
     | 
    
         
             
              name: bundler
         
     | 
| 
       97 
113 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       98 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 114 
     | 
    
         
            +
              requirement: &id007 !ruby/object:Gem::Requirement 
         
     | 
| 
       99 
115 
     | 
    
         
             
                none: false
         
     | 
| 
       100 
116 
     | 
    
         
             
                requirements: 
         
     | 
| 
       101 
117 
     | 
    
         
             
                - - ~>
         
     | 
| 
         @@ -107,11 +123,11 @@ dependencies: 
     | 
|
| 
       107 
123 
     | 
    
         
             
                    - 0
         
     | 
| 
       108 
124 
     | 
    
         
             
                    version: 1.0.0
         
     | 
| 
       109 
125 
     | 
    
         
             
              type: :development
         
     | 
| 
       110 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 126 
     | 
    
         
            +
              version_requirements: *id007
         
     | 
| 
       111 
127 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       112 
128 
     | 
    
         
             
              name: jeweler
         
     | 
| 
       113 
129 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       114 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 130 
     | 
    
         
            +
              requirement: &id008 !ruby/object:Gem::Requirement 
         
     | 
| 
       115 
131 
     | 
    
         
             
                none: false
         
     | 
| 
       116 
132 
     | 
    
         
             
                requirements: 
         
     | 
| 
       117 
133 
     | 
    
         
             
                - - ~>
         
     | 
| 
         @@ -123,11 +139,11 @@ dependencies: 
     | 
|
| 
       123 
139 
     | 
    
         
             
                    - 2
         
     | 
| 
       124 
140 
     | 
    
         
             
                    version: 1.5.2
         
     | 
| 
       125 
141 
     | 
    
         
             
              type: :development
         
     | 
| 
       126 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 142 
     | 
    
         
            +
              version_requirements: *id008
         
     | 
| 
       127 
143 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       128 
144 
     | 
    
         
             
              name: httparty
         
     | 
| 
       129 
145 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       130 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 146 
     | 
    
         
            +
              requirement: &id009 !ruby/object:Gem::Requirement 
         
     | 
| 
       131 
147 
     | 
    
         
             
                none: false
         
     | 
| 
       132 
148 
     | 
    
         
             
                requirements: 
         
     | 
| 
       133 
149 
     | 
    
         
             
                - - ">="
         
     | 
| 
         @@ -139,11 +155,11 @@ dependencies: 
     | 
|
| 
       139 
155 
     | 
    
         
             
                    - 4
         
     | 
| 
       140 
156 
     | 
    
         
             
                    version: 0.7.4
         
     | 
| 
       141 
157 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       142 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 158 
     | 
    
         
            +
              version_requirements: *id009
         
     | 
| 
       143 
159 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       144 
160 
     | 
    
         
             
              name: sqlite3
         
     | 
| 
       145 
161 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       146 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 162 
     | 
    
         
            +
              requirement: &id010 !ruby/object:Gem::Requirement 
         
     | 
| 
       147 
163 
     | 
    
         
             
                none: false
         
     | 
| 
       148 
164 
     | 
    
         
             
                requirements: 
         
     | 
| 
       149 
165 
     | 
    
         
             
                - - ">="
         
     | 
| 
         @@ -153,11 +169,11 @@ dependencies: 
     | 
|
| 
       153 
169 
     | 
    
         
             
                    - 0
         
     | 
| 
       154 
170 
     | 
    
         
             
                    version: "0"
         
     | 
| 
       155 
171 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       156 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 172 
     | 
    
         
            +
              version_requirements: *id010
         
     | 
| 
       157 
173 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       158 
174 
     | 
    
         
             
              name: nokogiri
         
     | 
| 
       159 
175 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       160 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 176 
     | 
    
         
            +
              requirement: &id011 !ruby/object:Gem::Requirement 
         
     | 
| 
       161 
177 
     | 
    
         
             
                none: false
         
     | 
| 
       162 
178 
     | 
    
         
             
                requirements: 
         
     | 
| 
       163 
179 
     | 
    
         
             
                - - ">"
         
     | 
| 
         @@ -169,11 +185,11 @@ dependencies: 
     | 
|
| 
       169 
185 
     | 
    
         
             
                    - 0
         
     | 
| 
       170 
186 
     | 
    
         
             
                    version: 1.4.0
         
     | 
| 
       171 
187 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       172 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 188 
     | 
    
         
            +
              version_requirements: *id011
         
     | 
| 
       173 
189 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       174 
190 
     | 
    
         
             
              name: ruby-mp3info
         
     | 
| 
       175 
191 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       176 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 192 
     | 
    
         
            +
              requirement: &id012 !ruby/object:Gem::Requirement 
         
     | 
| 
       177 
193 
     | 
    
         
             
                none: false
         
     | 
| 
       178 
194 
     | 
    
         
             
                requirements: 
         
     | 
| 
       179 
195 
     | 
    
         
             
                - - "="
         
     | 
| 
         @@ -185,7 +201,23 @@ dependencies: 
     | 
|
| 
       185 
201 
     | 
    
         
             
                    - 14
         
     | 
| 
       186 
202 
     | 
    
         
             
                    version: 0.6.14
         
     | 
| 
       187 
203 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       188 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 204 
     | 
    
         
            +
              version_requirements: *id012
         
     | 
| 
      
 205 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 206 
     | 
    
         
            +
              name: rb-appscript
         
     | 
| 
      
 207 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 208 
     | 
    
         
            +
              requirement: &id013 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 209 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 210 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 211 
     | 
    
         
            +
                - - "="
         
     | 
| 
      
 212 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 213 
     | 
    
         
            +
                    hash: 5
         
     | 
| 
      
 214 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 215 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 216 
     | 
    
         
            +
                    - 6
         
     | 
| 
      
 217 
     | 
    
         
            +
                    - 1
         
     | 
| 
      
 218 
     | 
    
         
            +
                    version: 0.6.1
         
     | 
| 
      
 219 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 220 
     | 
    
         
            +
              version_requirements: *id013
         
     | 
| 
       189 
221 
     | 
    
         
             
            description: Lyrical genius, voice of a generation.
         
     | 
| 
       190 
222 
     | 
    
         
             
            email: sam.vincent@mac.com
         
     | 
| 
       191 
223 
     | 
    
         
             
            executables: 
         
     | 
| 
         @@ -198,6 +230,7 @@ extra_rdoc_files: 
     | 
|
| 
       198 
230 
     | 
    
         
             
            files: 
         
     | 
| 
       199 
231 
     | 
    
         
             
            - .document
         
     | 
| 
       200 
232 
     | 
    
         
             
            - Gemfile
         
     | 
| 
      
 233 
     | 
    
         
            +
            - History
         
     | 
| 
       201 
234 
     | 
    
         
             
            - LICENSE.txt
         
     | 
| 
       202 
235 
     | 
    
         
             
            - README.rdoc
         
     | 
| 
       203 
236 
     | 
    
         
             
            - Rakefile
         
     | 
| 
         @@ -206,8 +239,12 @@ files: 
     | 
|
| 
       206 
239 
     | 
    
         
             
            - kanye.gemspec
         
     | 
| 
       207 
240 
     | 
    
         
             
            - lib/kanye.rb
         
     | 
| 
       208 
241 
     | 
    
         
             
            - lib/kanye/history.rb
         
     | 
| 
      
 242 
     | 
    
         
            +
            - lib/kanye/itunes.rb
         
     | 
| 
      
 243 
     | 
    
         
            +
            - lib/kanye/page.rb
         
     | 
| 
       209 
244 
     | 
    
         
             
            - lib/kanye/track.rb
         
     | 
| 
       210 
245 
     | 
    
         
             
            - spec/data/sample.html
         
     | 
| 
      
 246 
     | 
    
         
            +
            - spec/data/super.mp3
         
     | 
| 
      
 247 
     | 
    
         
            +
            - spec/kanye/itunes_spec.rb
         
     | 
| 
       211 
248 
     | 
    
         
             
            - spec/kanye/track_spec.rb
         
     | 
| 
       212 
249 
     | 
    
         
             
            - spec/kanye_spec.rb
         
     | 
| 
       213 
250 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
         @@ -244,8 +281,9 @@ rubyforge_project: 
     | 
|
| 
       244 
281 
     | 
    
         
             
            rubygems_version: 1.6.2
         
     | 
| 
       245 
282 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       246 
283 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       247 
     | 
    
         
            -
            summary: Ruby  
     | 
| 
      
 284 
     | 
    
         
            +
            summary: Ruby H-Y-P-E utility
         
     | 
| 
       248 
285 
     | 
    
         
             
            test_files: 
         
     | 
| 
      
 286 
     | 
    
         
            +
            - spec/kanye/itunes_spec.rb
         
     | 
| 
       249 
287 
     | 
    
         
             
            - spec/kanye/track_spec.rb
         
     | 
| 
       250 
288 
     | 
    
         
             
            - spec/kanye_spec.rb
         
     | 
| 
       251 
289 
     | 
    
         
             
            - spec/spec_helper.rb
         
     |