lastfm-m3u 0.2.5.1 → 0.3
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.
- checksums.yaml +7 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +0 -3
- data/Gemfile +7 -2
- data/bin/lastfm-m3u +8 -7
- data/lastfm-m3u.gemspec +0 -8
- data/lib/lastfm-m3u.rb +1 -2
- data/lib/lastfm-m3u/lastfm.rb +42 -20
- data/lib/lastfm-m3u/search/file_search.rb +6 -3
- data/lib/lastfm-m3u/version.rb +1 -1
- data/spec/lastfm_spec.rb +3 -1
- data/spec/search/file_search_spec.rb +6 -6
- data/spec/support/fixtures/music/flac_song.mp3 +0 -0
- metadata +11 -139
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: de09e3f4d00705ab33a9cb6b5d4abd3f2b8b2c01
|
|
4
|
+
data.tar.gz: 12c27431e6ed373a1c46b53f9aaa5f4a480a9fce
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 52e2a0c7502745c51bb243d75cda886b8468858d9259b525e792cad549404b4bb86f8f889ec3df348ffbdee8528f669532f3c2cbdec38407b516a4740137b0e3
|
|
7
|
+
data.tar.gz: 27078025fb27b0e45389aa9db8ffa10a5999fbee453bb99061e7d07b9dc118b2567a5a04ebbb9d22a8173109642ea66ce25d2c881c567b05a4c89e92558fb55d
|
data/.ruby-gemset
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
lastfm-m3u
|
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruby-2.0.0-p353
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -5,7 +5,12 @@ gemspec
|
|
|
5
5
|
gem 'rake'
|
|
6
6
|
|
|
7
7
|
group :test do
|
|
8
|
-
gem 'rspec',
|
|
9
|
-
gem 'simplecov',
|
|
8
|
+
gem 'rspec', '~> 2.13.0'
|
|
9
|
+
gem 'simplecov', '~> 0.7.1'
|
|
10
|
+
gem 'guard-rspec', '~> 2.5'
|
|
11
|
+
gem 'guard-ctags-bundler', '~> 0.1'
|
|
12
|
+
gem 'terminal-notifier-guard', '~> 1.5'
|
|
13
|
+
gem 'rb-fsevent', '~> 0.9'
|
|
14
|
+
gem 'pry-debugger', '~> 0.2'
|
|
10
15
|
gem 'coveralls', require: false
|
|
11
16
|
end
|
data/bin/lastfm-m3u
CHANGED
|
@@ -3,7 +3,6 @@ require 'rubygems'
|
|
|
3
3
|
require 'optparse'
|
|
4
4
|
require 'ostruct'
|
|
5
5
|
require 'highline/import'
|
|
6
|
-
require 'ruby-progressbar'
|
|
7
6
|
|
|
8
7
|
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + "/../lib"))
|
|
9
8
|
require 'lastfm-m3u'
|
|
@@ -98,7 +97,12 @@ if options.init
|
|
|
98
97
|
end
|
|
99
98
|
|
|
100
99
|
unless options.artists
|
|
101
|
-
puts "Please provide at least one artist (-a Elvis).".color(:red) +
|
|
100
|
+
puts "Please provide at least one artist (-a Elvis).".color(:red) +
|
|
101
|
+
" See".color(:green) +
|
|
102
|
+
" --help".color(:yellow) +
|
|
103
|
+
" for usage or".color(:green) +
|
|
104
|
+
" --init".color(:yellow) +
|
|
105
|
+
" to get started".color(:green)
|
|
102
106
|
exit
|
|
103
107
|
end
|
|
104
108
|
|
|
@@ -108,16 +112,13 @@ end
|
|
|
108
112
|
|
|
109
113
|
options.artists.each do |artist|
|
|
110
114
|
not_found = []
|
|
111
|
-
lastfm = LastfmM3u::Lastfm.new(artist)
|
|
112
|
-
lastfm.root_dir = options.directory if options.directory
|
|
113
|
-
lastfm.limit = options.limit if options.limit
|
|
115
|
+
lastfm = LastfmM3u::Lastfm.new(artist, options)
|
|
114
116
|
|
|
115
117
|
puts
|
|
116
118
|
puts "Searching filesystem with method: ".color(:green) + options.type.to_s.capitalize.color(:yellow)
|
|
117
119
|
puts
|
|
118
120
|
num_tracks = (options.limit.nil? ? lastfm.tracks.size : options.limit)
|
|
119
|
-
|
|
120
|
-
lastfm.find_tracks(options.type, progressbar).each do |track, track_set|
|
|
121
|
+
lastfm.find_tracks(options.type, false).each do |track, track_set|
|
|
121
122
|
if track_set.empty?
|
|
122
123
|
not_found << track
|
|
123
124
|
next
|
data/lastfm-m3u.gemspec
CHANGED
|
@@ -15,17 +15,9 @@ Gem::Specification.new do |gem|
|
|
|
15
15
|
gem.require_paths = ["lib"]
|
|
16
16
|
gem.version = LastfmM3u::VERSION
|
|
17
17
|
|
|
18
|
-
gem.add_development_dependency 'guard-rspec', '~> 2.5'
|
|
19
|
-
gem.add_development_dependency 'guard-ctags-bundler', '~> 0.1'
|
|
20
|
-
gem.add_development_dependency 'terminal-notifier-guard', '~> 1.5'
|
|
21
|
-
gem.add_development_dependency 'rb-fsevent', '~> 0.9'
|
|
22
|
-
gem.add_development_dependency 'debugger', '~> 1.5'
|
|
23
|
-
gem.add_development_dependency 'pry-debugger', '~> 0.2'
|
|
24
|
-
|
|
25
18
|
gem.add_dependency 'rockstar', '~> 0.7'
|
|
26
19
|
gem.add_dependency 'ruby-mp3info', '~> 0.8'
|
|
27
20
|
gem.add_dependency 'rainbow', '~> 1.1'
|
|
28
|
-
gem.add_dependency 'ansi', '~> 1.4' # color logging
|
|
29
21
|
gem.add_dependency 'm3uzi', '~> 0.5'
|
|
30
22
|
gem.add_dependency 'highline', '~> 1.6'
|
|
31
23
|
gem.add_dependency 'ruby-progressbar', '~> 1.1'
|
data/lib/lastfm-m3u.rb
CHANGED
|
@@ -6,7 +6,6 @@ require 'lastfm-m3u/version'
|
|
|
6
6
|
require 'rockstar'
|
|
7
7
|
require 'm3uzi'
|
|
8
8
|
require 'rainbow'
|
|
9
|
-
require 'ansi/logger'
|
|
10
9
|
|
|
11
10
|
require 'lastfm-m3u/base'
|
|
12
11
|
require 'lastfm-m3u/lastfm'
|
|
@@ -14,7 +13,7 @@ require 'lastfm-m3u/search/file_search'
|
|
|
14
13
|
require 'lastfm-m3u/mp3_info_ext'
|
|
15
14
|
|
|
16
15
|
module LastfmM3u
|
|
17
|
-
$logger =
|
|
16
|
+
$logger = Logger.new(STDOUT)
|
|
18
17
|
$logger.level = 3 # errors only
|
|
19
18
|
SEARCH_TYPES = [:file, :id3, :both]
|
|
20
19
|
end
|
data/lib/lastfm-m3u/lastfm.rb
CHANGED
|
@@ -1,42 +1,31 @@
|
|
|
1
1
|
require 'fileutils'
|
|
2
|
+
require 'ruby-progressbar'
|
|
2
3
|
|
|
3
4
|
module LastfmM3u
|
|
4
5
|
class Lastfm < Base
|
|
5
6
|
attr_accessor :artist, :root_dir, :limit, :tracks
|
|
6
7
|
|
|
7
|
-
def initialize(artist,
|
|
8
|
+
def initialize(artist, options=OpenStruct.new)
|
|
8
9
|
init_config
|
|
9
10
|
set_artist(artist)
|
|
10
11
|
set_top_tracks
|
|
11
|
-
@root_dir =
|
|
12
|
-
@limit =
|
|
12
|
+
@root_dir = options.directory
|
|
13
|
+
@limit = options.limit
|
|
14
|
+
@search_type = options.type || :file
|
|
13
15
|
super()
|
|
14
16
|
end
|
|
15
17
|
|
|
16
18
|
def set_artist(artist)
|
|
17
|
-
@artist = Rockstar::Artist.new
|
|
19
|
+
@artist = Rockstar::Artist.new(artist)
|
|
18
20
|
end
|
|
19
21
|
|
|
20
22
|
def set_top_tracks
|
|
21
23
|
@tracks = @artist.top_tracks
|
|
22
24
|
end
|
|
23
25
|
|
|
24
|
-
def find_tracks(search_type
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
rescue InvalidSearchType
|
|
28
|
-
$logger.error("Invalid Search Type '#{search_type}', use one of #{SEARCH_TYPES.join(',')}")
|
|
29
|
-
exit
|
|
30
|
-
end
|
|
31
|
-
found_tracks = {}
|
|
32
|
-
search = LastfmM3u::FileSearch.new(root_dir)
|
|
33
|
-
self.limit ||= tracks.size
|
|
34
|
-
tracks[0..limit-1].each do |track|
|
|
35
|
-
track.name = CGI.unescapeHTML(track.name)
|
|
36
|
-
found_tracks[track.name] = search.find(track.name, {search_type: search_type})
|
|
37
|
-
progressbar.increment if progressbar
|
|
38
|
-
end
|
|
39
|
-
found_tracks
|
|
26
|
+
def find_tracks(search_type=@search_type, progressbar=false)
|
|
27
|
+
check_for_invalid_search_type(search_type)
|
|
28
|
+
found_tracks(tracks, search_type, progressbar)
|
|
40
29
|
end
|
|
41
30
|
|
|
42
31
|
|
|
@@ -69,6 +58,39 @@ module LastfmM3u
|
|
|
69
58
|
def invalid_config?(config_hash)
|
|
70
59
|
config_hash.values.any? {|v| v==''}
|
|
71
60
|
end
|
|
61
|
+
|
|
62
|
+
def search(search_type, track)
|
|
63
|
+
case search_type
|
|
64
|
+
when :file, :id3, :both
|
|
65
|
+
LastfmM3u::FileSearch.new(root_dir).find(track.name, {search_type: search_type})
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def found_tracks(tracks, search_type, show_progressbar)
|
|
70
|
+
self.limit ||= tracks.size
|
|
71
|
+
progressbar = progressbar
|
|
72
|
+
tracks[0..limit-1].each_with_object({}) do |track, found_tracks|
|
|
73
|
+
track.name = CGI.unescapeHTML(track.name)
|
|
74
|
+
found_tracks[track.name] = search(search_type, track)
|
|
75
|
+
progressbar.increment if show_progressbar
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def check_for_invalid_search_type(search_type=@search_type)
|
|
80
|
+
begin
|
|
81
|
+
raise InvalidSearchType unless SEARCH_TYPES.include?(search_type)
|
|
82
|
+
rescue InvalidSearchType
|
|
83
|
+
$logger.error("Invalid Search Type '#{search_type}', use one of #{SEARCH_TYPES.join(',')}")
|
|
84
|
+
exit
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def progressbar
|
|
90
|
+
ProgressBar.create(
|
|
91
|
+
starting_at: 0,
|
|
92
|
+
total: num_tracks,
|
|
93
|
+
format: "%a".color(:cyan) + "|".color(:magenta) + "%B".color(:green) + "|".color(:magenta) + "%p%%".color(:cyan))
|
|
72
94
|
end
|
|
73
95
|
|
|
74
96
|
class InvalidSearchType < Exception; end
|
|
@@ -19,14 +19,13 @@ module LastfmM3u
|
|
|
19
19
|
prefer_flac = options[:prefer_flac] || true
|
|
20
20
|
|
|
21
21
|
files = find_unique_files(query, query_type, file_or_id3)
|
|
22
|
-
if prefer_flac
|
|
23
|
-
files = flac_files
|
|
22
|
+
if prefer_flac
|
|
23
|
+
files = flac_files(files) || files
|
|
24
24
|
end
|
|
25
25
|
$logger.debug "#{query} => #{files}"
|
|
26
26
|
files
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
|
|
30
29
|
private
|
|
31
30
|
|
|
32
31
|
def find_unique_files(query, query_type, file_or_id3)
|
|
@@ -93,6 +92,10 @@ module LastfmM3u
|
|
|
93
92
|
pathname.basename.to_s.gsub('-', ' ').gsub('_', ' ').sub(/#{pathname.extname}$/, '')
|
|
94
93
|
end
|
|
95
94
|
|
|
95
|
+
def flac_files(files)
|
|
96
|
+
!trim_non_flac(files).empty? && trim_non_flac(files)
|
|
97
|
+
end
|
|
98
|
+
|
|
96
99
|
def trim_non_flac(pathnames)
|
|
97
100
|
pathnames.select{|pn| pn.to_s =~ /\.flac$/}
|
|
98
101
|
end
|
data/lib/lastfm-m3u/version.rb
CHANGED
data/spec/lastfm_spec.rb
CHANGED
|
@@ -2,10 +2,12 @@ require 'spec_helper'
|
|
|
2
2
|
require 'ostruct'
|
|
3
3
|
|
|
4
4
|
describe LastfmM3u::Lastfm do
|
|
5
|
+
let(:options) { OpenStruct.new(directory: music_dir, search_type: :file) }
|
|
6
|
+
|
|
5
7
|
it "should successfully run full circle" do
|
|
6
8
|
YAML.stub(:load_file).and_return({api_key: 'key', api_secret: 'secret'})
|
|
7
9
|
track = OpenStruct.new(name: 'Poa Alpina')
|
|
8
|
-
lf = LastfmM3u::Lastfm.new('Biosphere',
|
|
10
|
+
lf = LastfmM3u::Lastfm.new('Biosphere', options)
|
|
9
11
|
lf.send(:tracks=, [track])
|
|
10
12
|
found = lf.find_tracks
|
|
11
13
|
found.should == { track.name => ["#{music_dir}/biosphere/poa-alpina.mp3"] }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe LastfmM3u::FileSearch do
|
|
4
|
-
before {
|
|
4
|
+
before { Logger.any_instance.stub(:warn => false, :info => false, :debug => false) } # quiet logging
|
|
5
5
|
|
|
6
6
|
let(:file_search) { LastfmM3u::FileSearch.new(music_dir) }
|
|
7
7
|
|
|
@@ -51,16 +51,16 @@ describe LastfmM3u::FileSearch do
|
|
|
51
51
|
end
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
+
context "prefer flac" do
|
|
55
|
+
it "should only return flac files if any found" do
|
|
56
|
+
file_search.find('flac song', {search_type: :file}).to_s.should match /flac_song.flac/
|
|
57
|
+
end
|
|
58
|
+
|
|
54
59
|
context "artist or album" do
|
|
55
60
|
it "should find an artist or album directory" do
|
|
56
61
|
file_search.find('biosphere', {query_type: :artist, search_type: :file}).to_s.should match /biosphere/
|
|
57
62
|
end
|
|
58
63
|
end
|
|
59
|
-
|
|
60
|
-
context "prefer flac" do
|
|
61
|
-
it "should only return flac files if any found" do
|
|
62
|
-
pending
|
|
63
|
-
end
|
|
64
64
|
end
|
|
65
65
|
end
|
|
66
66
|
|
|
File without changes
|
metadata
CHANGED
|
@@ -1,116 +1,18 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lastfm-m3u
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: '0.3'
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Jon Austin
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2014-01-02 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
|
-
- !ruby/object:Gem::Dependency
|
|
15
|
-
name: guard-rspec
|
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
|
-
requirements:
|
|
19
|
-
- - ~>
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '2.5'
|
|
22
|
-
type: :development
|
|
23
|
-
prerelease: false
|
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
|
-
requirements:
|
|
27
|
-
- - ~>
|
|
28
|
-
- !ruby/object:Gem::Version
|
|
29
|
-
version: '2.5'
|
|
30
|
-
- !ruby/object:Gem::Dependency
|
|
31
|
-
name: guard-ctags-bundler
|
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
|
-
requirements:
|
|
35
|
-
- - ~>
|
|
36
|
-
- !ruby/object:Gem::Version
|
|
37
|
-
version: '0.1'
|
|
38
|
-
type: :development
|
|
39
|
-
prerelease: false
|
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
|
-
requirements:
|
|
43
|
-
- - ~>
|
|
44
|
-
- !ruby/object:Gem::Version
|
|
45
|
-
version: '0.1'
|
|
46
|
-
- !ruby/object:Gem::Dependency
|
|
47
|
-
name: terminal-notifier-guard
|
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
|
-
requirements:
|
|
51
|
-
- - ~>
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '1.5'
|
|
54
|
-
type: :development
|
|
55
|
-
prerelease: false
|
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
|
-
requirements:
|
|
59
|
-
- - ~>
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '1.5'
|
|
62
|
-
- !ruby/object:Gem::Dependency
|
|
63
|
-
name: rb-fsevent
|
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
|
-
requirements:
|
|
67
|
-
- - ~>
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: '0.9'
|
|
70
|
-
type: :development
|
|
71
|
-
prerelease: false
|
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
|
-
requirements:
|
|
75
|
-
- - ~>
|
|
76
|
-
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0.9'
|
|
78
|
-
- !ruby/object:Gem::Dependency
|
|
79
|
-
name: debugger
|
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
|
-
requirements:
|
|
83
|
-
- - ~>
|
|
84
|
-
- !ruby/object:Gem::Version
|
|
85
|
-
version: '1.5'
|
|
86
|
-
type: :development
|
|
87
|
-
prerelease: false
|
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
|
-
requirements:
|
|
91
|
-
- - ~>
|
|
92
|
-
- !ruby/object:Gem::Version
|
|
93
|
-
version: '1.5'
|
|
94
|
-
- !ruby/object:Gem::Dependency
|
|
95
|
-
name: pry-debugger
|
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
|
-
requirements:
|
|
99
|
-
- - ~>
|
|
100
|
-
- !ruby/object:Gem::Version
|
|
101
|
-
version: '0.2'
|
|
102
|
-
type: :development
|
|
103
|
-
prerelease: false
|
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
|
-
requirements:
|
|
107
|
-
- - ~>
|
|
108
|
-
- !ruby/object:Gem::Version
|
|
109
|
-
version: '0.2'
|
|
110
13
|
- !ruby/object:Gem::Dependency
|
|
111
14
|
name: rockstar
|
|
112
15
|
requirement: !ruby/object:Gem::Requirement
|
|
113
|
-
none: false
|
|
114
16
|
requirements:
|
|
115
17
|
- - ~>
|
|
116
18
|
- !ruby/object:Gem::Version
|
|
@@ -118,7 +20,6 @@ dependencies:
|
|
|
118
20
|
type: :runtime
|
|
119
21
|
prerelease: false
|
|
120
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
none: false
|
|
122
23
|
requirements:
|
|
123
24
|
- - ~>
|
|
124
25
|
- !ruby/object:Gem::Version
|
|
@@ -126,7 +27,6 @@ dependencies:
|
|
|
126
27
|
- !ruby/object:Gem::Dependency
|
|
127
28
|
name: ruby-mp3info
|
|
128
29
|
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
none: false
|
|
130
30
|
requirements:
|
|
131
31
|
- - ~>
|
|
132
32
|
- !ruby/object:Gem::Version
|
|
@@ -134,7 +34,6 @@ dependencies:
|
|
|
134
34
|
type: :runtime
|
|
135
35
|
prerelease: false
|
|
136
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
-
none: false
|
|
138
37
|
requirements:
|
|
139
38
|
- - ~>
|
|
140
39
|
- !ruby/object:Gem::Version
|
|
@@ -142,7 +41,6 @@ dependencies:
|
|
|
142
41
|
- !ruby/object:Gem::Dependency
|
|
143
42
|
name: rainbow
|
|
144
43
|
requirement: !ruby/object:Gem::Requirement
|
|
145
|
-
none: false
|
|
146
44
|
requirements:
|
|
147
45
|
- - ~>
|
|
148
46
|
- !ruby/object:Gem::Version
|
|
@@ -150,31 +48,13 @@ dependencies:
|
|
|
150
48
|
type: :runtime
|
|
151
49
|
prerelease: false
|
|
152
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
153
|
-
none: false
|
|
154
51
|
requirements:
|
|
155
52
|
- - ~>
|
|
156
53
|
- !ruby/object:Gem::Version
|
|
157
54
|
version: '1.1'
|
|
158
|
-
- !ruby/object:Gem::Dependency
|
|
159
|
-
name: ansi
|
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
|
161
|
-
none: false
|
|
162
|
-
requirements:
|
|
163
|
-
- - ~>
|
|
164
|
-
- !ruby/object:Gem::Version
|
|
165
|
-
version: '1.4'
|
|
166
|
-
type: :runtime
|
|
167
|
-
prerelease: false
|
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
169
|
-
none: false
|
|
170
|
-
requirements:
|
|
171
|
-
- - ~>
|
|
172
|
-
- !ruby/object:Gem::Version
|
|
173
|
-
version: '1.4'
|
|
174
55
|
- !ruby/object:Gem::Dependency
|
|
175
56
|
name: m3uzi
|
|
176
57
|
requirement: !ruby/object:Gem::Requirement
|
|
177
|
-
none: false
|
|
178
58
|
requirements:
|
|
179
59
|
- - ~>
|
|
180
60
|
- !ruby/object:Gem::Version
|
|
@@ -182,7 +62,6 @@ dependencies:
|
|
|
182
62
|
type: :runtime
|
|
183
63
|
prerelease: false
|
|
184
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
185
|
-
none: false
|
|
186
65
|
requirements:
|
|
187
66
|
- - ~>
|
|
188
67
|
- !ruby/object:Gem::Version
|
|
@@ -190,7 +69,6 @@ dependencies:
|
|
|
190
69
|
- !ruby/object:Gem::Dependency
|
|
191
70
|
name: highline
|
|
192
71
|
requirement: !ruby/object:Gem::Requirement
|
|
193
|
-
none: false
|
|
194
72
|
requirements:
|
|
195
73
|
- - ~>
|
|
196
74
|
- !ruby/object:Gem::Version
|
|
@@ -198,7 +76,6 @@ dependencies:
|
|
|
198
76
|
type: :runtime
|
|
199
77
|
prerelease: false
|
|
200
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
201
|
-
none: false
|
|
202
79
|
requirements:
|
|
203
80
|
- - ~>
|
|
204
81
|
- !ruby/object:Gem::Version
|
|
@@ -206,7 +83,6 @@ dependencies:
|
|
|
206
83
|
- !ruby/object:Gem::Dependency
|
|
207
84
|
name: ruby-progressbar
|
|
208
85
|
requirement: !ruby/object:Gem::Requirement
|
|
209
|
-
none: false
|
|
210
86
|
requirements:
|
|
211
87
|
- - ~>
|
|
212
88
|
- !ruby/object:Gem::Version
|
|
@@ -214,7 +90,6 @@ dependencies:
|
|
|
214
90
|
type: :runtime
|
|
215
91
|
prerelease: false
|
|
216
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
217
|
-
none: false
|
|
218
93
|
requirements:
|
|
219
94
|
- - ~>
|
|
220
95
|
- !ruby/object:Gem::Version
|
|
@@ -230,6 +105,8 @@ files:
|
|
|
230
105
|
- .coveralls.yml
|
|
231
106
|
- .gitignore
|
|
232
107
|
- .rspec
|
|
108
|
+
- .ruby-gemset
|
|
109
|
+
- .ruby-version
|
|
233
110
|
- .travis.yml
|
|
234
111
|
- Gemfile
|
|
235
112
|
- Guardfile
|
|
@@ -253,39 +130,33 @@ files:
|
|
|
253
130
|
- spec/spec_helper.rb
|
|
254
131
|
- spec/support/fixtures/music/biosphere/poa-alpina.mp3
|
|
255
132
|
- spec/support/fixtures/music/flac_song.flac
|
|
133
|
+
- spec/support/fixtures/music/flac_song.mp3
|
|
256
134
|
- spec/support/fixtures/music/id3v1.mp3
|
|
257
135
|
- spec/support/fixtures/music/id3v2.mp3
|
|
258
136
|
- spec/support/fixtures/music/sid_vicious/05._stepping_stone.mp3
|
|
259
137
|
- spec/support/fixtures/music/sid_vicious/my_way.mp3
|
|
260
138
|
homepage: https://github.com/jonaustin/lastfm-m3u
|
|
261
139
|
licenses: []
|
|
140
|
+
metadata: {}
|
|
262
141
|
post_install_message:
|
|
263
142
|
rdoc_options: []
|
|
264
143
|
require_paths:
|
|
265
144
|
- lib
|
|
266
145
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
267
|
-
none: false
|
|
268
146
|
requirements:
|
|
269
|
-
- -
|
|
147
|
+
- - '>='
|
|
270
148
|
- !ruby/object:Gem::Version
|
|
271
149
|
version: '0'
|
|
272
|
-
segments:
|
|
273
|
-
- 0
|
|
274
|
-
hash: -587761823380421897
|
|
275
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
276
|
-
none: false
|
|
277
151
|
requirements:
|
|
278
|
-
- -
|
|
152
|
+
- - '>='
|
|
279
153
|
- !ruby/object:Gem::Version
|
|
280
154
|
version: '0'
|
|
281
|
-
segments:
|
|
282
|
-
- 0
|
|
283
|
-
hash: -587761823380421897
|
|
284
155
|
requirements: []
|
|
285
156
|
rubyforge_project:
|
|
286
|
-
rubygems_version: 1.
|
|
157
|
+
rubygems_version: 2.1.11
|
|
287
158
|
signing_key:
|
|
288
|
-
specification_version:
|
|
159
|
+
specification_version: 4
|
|
289
160
|
summary: CLI tool to create m3u playlists of top artist tracks according to lastfm
|
|
290
161
|
test_files:
|
|
291
162
|
- spec/lastfm_spec.rb
|
|
@@ -293,6 +164,7 @@ test_files:
|
|
|
293
164
|
- spec/spec_helper.rb
|
|
294
165
|
- spec/support/fixtures/music/biosphere/poa-alpina.mp3
|
|
295
166
|
- spec/support/fixtures/music/flac_song.flac
|
|
167
|
+
- spec/support/fixtures/music/flac_song.mp3
|
|
296
168
|
- spec/support/fixtures/music/id3v1.mp3
|
|
297
169
|
- spec/support/fixtures/music/id3v2.mp3
|
|
298
170
|
- spec/support/fixtures/music/sid_vicious/05._stepping_stone.mp3
|