mr_eko 0.5.1 → 0.5.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/bin/mreko +0 -3
- data/db/migrate/001_add_playlists.rb +6 -6
- data/db/migrate/002_add_songs.rb +8 -8
- data/db/migrate/003_add_useful_song_fields.rb +7 -7
- data/db/migrate/{04_add_code_to_songs.rb → 004_add_code_to_songs.rb} +5 -5
- data/db/migrate/{05_remove_fades_from_song.rb → 005_remove_fades_from_song.rb} +3 -3
- data/db/migrate/{06_add_song_position.rb → 006_add_song_position.rb} +3 -3
- data/lib/mr_eko.rb +5 -1
- data/mr_eko.gemspec +7 -5
- data/test/data/tagless.mp3 +0 -0
- data/test/data/they_want_a_test.mp3 +0 -0
- data/test/test.rb +0 -4
- metadata +66 -64
data/bin/mreko
CHANGED
@@ -5,9 +5,6 @@ $: << File.join(File.dirname(__FILE__), '../lib')
|
|
5
5
|
require 'mr_eko'
|
6
6
|
require 'optparse'
|
7
7
|
|
8
|
-
require 'sequel/extensions/migration'
|
9
|
-
Sequel::Migrator.apply(MrEko.connection, File.join(File.dirname(__FILE__), "..", "db", "migrate"))
|
10
|
-
|
11
8
|
def parse_options
|
12
9
|
|
13
10
|
options = { :format => :pls }
|
@@ -1,16 +1,16 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Sequel.migration do
|
2
|
+
up do
|
3
3
|
create_table(:playlists) do
|
4
4
|
primary_key :id
|
5
5
|
String :name
|
6
6
|
DateTime :created_on
|
7
7
|
DateTime :updated_on
|
8
|
-
|
8
|
+
|
9
9
|
index :name, :unique => true
|
10
10
|
end
|
11
11
|
end
|
12
|
-
|
13
|
-
|
12
|
+
|
13
|
+
down do
|
14
14
|
drop_table :playlists
|
15
15
|
end
|
16
|
-
end
|
16
|
+
end
|
data/db/migrate/002_add_songs.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Sequel.migration do
|
2
|
+
up do
|
3
3
|
create_table(:songs) do
|
4
4
|
primary_key :id
|
5
5
|
String :md5, :length => 32
|
@@ -17,20 +17,20 @@ class AddSongs < Sequel::Migration
|
|
17
17
|
Integer :mode, :length => 1
|
18
18
|
DateTime :created_on
|
19
19
|
DateTime :updated_on
|
20
|
-
|
20
|
+
|
21
21
|
index :md5, :unique => true
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
create_table :playlists_songs do
|
25
25
|
Integer :playlist_id
|
26
26
|
Integer :song_id
|
27
|
-
|
27
|
+
|
28
28
|
index [:playlist_id, :song_id], :unique => true
|
29
29
|
end
|
30
30
|
end
|
31
|
-
|
32
|
-
|
31
|
+
|
32
|
+
down do
|
33
33
|
drop_table :songs
|
34
34
|
drop_table :playlists_songs
|
35
35
|
end
|
36
|
-
end
|
36
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Sequel.migration do
|
2
|
+
up do
|
3
3
|
alter_table(:songs) do
|
4
4
|
add_column :echonest_id, String
|
5
|
-
add_column :danceability, Float
|
6
|
-
add_column :energy, Float
|
5
|
+
add_column :danceability, Float
|
6
|
+
add_column :energy, Float
|
7
7
|
add_column :bitrate, Integer, :size => 4
|
8
8
|
add_index :echonest_id
|
9
9
|
end
|
10
10
|
end
|
11
|
-
|
12
|
-
|
11
|
+
|
12
|
+
down do
|
13
13
|
alter_table(:songs) do
|
14
14
|
drop_column :echonest_id
|
15
15
|
drop_column :danceability
|
@@ -17,4 +17,4 @@ class AddUsefulSongFields < Sequel::Migration
|
|
17
17
|
drop_column :bitrate
|
18
18
|
end
|
19
19
|
end
|
20
|
-
end
|
20
|
+
end
|
@@ -1,13 +1,13 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Sequel.migration do
|
2
|
+
up do
|
3
3
|
alter_table(:songs) do
|
4
4
|
add_column :code, String, :text => true
|
5
5
|
end
|
6
6
|
end
|
7
|
-
|
8
|
-
|
7
|
+
|
8
|
+
down do
|
9
9
|
alter_table(:songs) do
|
10
10
|
drop_column :code
|
11
11
|
end
|
12
12
|
end
|
13
|
-
end
|
13
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Sequel.migration do
|
2
|
+
up do
|
3
3
|
alter_table(:songs) do
|
4
4
|
drop_column :fade_in
|
5
5
|
drop_column :fade_out
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
|
-
|
9
|
+
down do
|
10
10
|
alter_table(:songs) do
|
11
11
|
add_column :fade_in, Float
|
12
12
|
add_column :fade_out, Float
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Sequel.migration do
|
2
|
+
up do
|
3
3
|
alter_table(:playlists_songs) do
|
4
4
|
add_column :position, Integer
|
5
5
|
end
|
@@ -7,7 +7,7 @@ class AddSongPosition < Sequel::Migration
|
|
7
7
|
rename_table :playlists_songs, :playlist_entries
|
8
8
|
end
|
9
9
|
|
10
|
-
|
10
|
+
down do
|
11
11
|
alter_table(:playlists_songs) do
|
12
12
|
drop_column :position
|
13
13
|
end
|
data/lib/mr_eko.rb
CHANGED
@@ -3,6 +3,7 @@ require "bundler"
|
|
3
3
|
|
4
4
|
require "sqlite3"
|
5
5
|
require "sequel"
|
6
|
+
require 'sequel/extensions/migration'
|
6
7
|
require "logger"
|
7
8
|
require "hashie"
|
8
9
|
require "digest/md5"
|
@@ -19,7 +20,7 @@ EKO_ENV = ENV['EKO_ENV'] || 'development'
|
|
19
20
|
Sequel.default_timezone = :utc
|
20
21
|
|
21
22
|
module MrEko
|
22
|
-
VERSION = '0.5.
|
23
|
+
VERSION = '0.5.2'
|
23
24
|
USER_DIR = File.join(ENV['HOME'], ".mreko")
|
24
25
|
FINGERPRINTS_DIR = File.join(USER_DIR, 'fingerprints')
|
25
26
|
LOG_DIR = File.join(USER_DIR, 'logs')
|
@@ -70,6 +71,9 @@ module MrEko
|
|
70
71
|
return @connection if @connection
|
71
72
|
@connection = Sequel.sqlite(db_name)
|
72
73
|
@connection.loggers << @logger
|
74
|
+
|
75
|
+
File.unlink(MrEko.db_name) if File.exist?(MrEko.db_name) && env == 'test'
|
76
|
+
Sequel::Migrator.apply(MrEko.connection, File.join(File.dirname(__FILE__), "..", "db", "migrate"))
|
73
77
|
end
|
74
78
|
|
75
79
|
def setup_echonest!
|
data/mr_eko.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'mr_eko'
|
16
|
-
s.version = '0.5.
|
17
|
-
s.date = '2012-
|
16
|
+
s.version = '0.5.2'
|
17
|
+
s.date = '2012-09-13'
|
18
18
|
s.rubyforge_project = 'mr_eko'
|
19
19
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
@@ -76,9 +76,9 @@ Gem::Specification.new do |s|
|
|
76
76
|
db/migrate/001_add_playlists.rb
|
77
77
|
db/migrate/002_add_songs.rb
|
78
78
|
db/migrate/003_add_useful_song_fields.rb
|
79
|
-
db/migrate/
|
80
|
-
db/migrate/
|
81
|
-
db/migrate/
|
79
|
+
db/migrate/004_add_code_to_songs.rb
|
80
|
+
db/migrate/005_remove_fades_from_song.rb
|
81
|
+
db/migrate/006_add_song_position.rb
|
82
82
|
ext/enmfp/LICENSE
|
83
83
|
ext/enmfp/README
|
84
84
|
ext/enmfp/RELEASE_NOTES
|
@@ -102,6 +102,8 @@ Gem::Specification.new do |s|
|
|
102
102
|
lib/mr_eko/song.rb
|
103
103
|
lib/mr_eko/timed_playlist.rb
|
104
104
|
mr_eko.gemspec
|
105
|
+
test/data/tagless.mp3
|
106
|
+
test/data/they_want_a_test.mp3
|
105
107
|
test/mr_eko_test.rb
|
106
108
|
test/playlist_test.rb
|
107
109
|
test/song_test.rb
|
Binary file
|
Binary file
|
data/test/test.rb
CHANGED
@@ -1,15 +1,11 @@
|
|
1
1
|
ENV['EKO_ENV'] = 'test'
|
2
2
|
require "bundler/setup"
|
3
|
-
Bundler.setup
|
4
3
|
|
5
4
|
require 'test/unit'
|
6
5
|
require 'shoulda'
|
7
6
|
require 'mocha'
|
8
7
|
require "mr_eko"
|
9
8
|
require "ruby-debug"
|
10
|
-
|
11
|
-
require 'sequel/extensions/migration'
|
12
|
-
Sequel::Migrator.apply(MrEko.connection, File.join(File.dirname(__FILE__), "..", "db", "migrate"))
|
13
9
|
# Clear the tables out
|
14
10
|
(MrEko.connection.tables - [:schema_info]).each do |table|
|
15
11
|
MrEko.connection.run "DELETE FROM #{table}"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mr_eko
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 2
|
10
|
+
version: 0.5.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ed Hickey
|
@@ -15,12 +15,10 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-09-13 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
-
prerelease: false
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
24
22
|
none: false
|
25
23
|
requirements:
|
26
24
|
- - "="
|
@@ -30,12 +28,12 @@ dependencies:
|
|
30
28
|
- 3
|
31
29
|
- 15
|
32
30
|
version: "3.15"
|
31
|
+
prerelease: false
|
33
32
|
type: :runtime
|
34
|
-
|
33
|
+
name: sequel
|
34
|
+
requirement: *id001
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
|
37
|
-
prerelease: false
|
38
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
37
|
none: false
|
40
38
|
requirements:
|
41
39
|
- - ~>
|
@@ -45,12 +43,12 @@ dependencies:
|
|
45
43
|
- 1
|
46
44
|
- 3
|
47
45
|
version: "1.3"
|
46
|
+
prerelease: false
|
48
47
|
type: :runtime
|
49
|
-
|
48
|
+
name: sqlite3-ruby
|
49
|
+
requirement: *id002
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
|
-
|
52
|
-
prerelease: false
|
53
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
51
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
54
52
|
none: false
|
55
53
|
requirements:
|
56
54
|
- - ">="
|
@@ -59,12 +57,12 @@ dependencies:
|
|
59
57
|
segments:
|
60
58
|
- 0
|
61
59
|
version: "0"
|
60
|
+
prerelease: false
|
62
61
|
type: :runtime
|
63
|
-
|
62
|
+
name: hashie
|
63
|
+
requirement: *id003
|
64
64
|
- !ruby/object:Gem::Dependency
|
65
|
-
|
66
|
-
prerelease: false
|
67
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
65
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
68
66
|
none: false
|
69
67
|
requirements:
|
70
68
|
- - ~>
|
@@ -74,12 +72,12 @@ dependencies:
|
|
74
72
|
- 2
|
75
73
|
- 1
|
76
74
|
version: "2.1"
|
75
|
+
prerelease: false
|
77
76
|
type: :runtime
|
78
|
-
|
77
|
+
name: httpclient
|
78
|
+
requirement: *id004
|
79
79
|
- !ruby/object:Gem::Dependency
|
80
|
-
|
81
|
-
prerelease: false
|
82
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
80
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
83
81
|
none: false
|
84
82
|
requirements:
|
85
83
|
- - ">="
|
@@ -88,12 +86,12 @@ dependencies:
|
|
88
86
|
segments:
|
89
87
|
- 0
|
90
88
|
version: "0"
|
89
|
+
prerelease: false
|
91
90
|
type: :runtime
|
92
|
-
|
91
|
+
name: bassnode-ruby-echonest
|
92
|
+
requirement: *id005
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
|
-
|
95
|
-
prerelease: false
|
96
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
94
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
97
95
|
none: false
|
98
96
|
requirements:
|
99
97
|
- - "="
|
@@ -104,12 +102,12 @@ dependencies:
|
|
104
102
|
- 4
|
105
103
|
- 6
|
106
104
|
version: 1.4.6
|
105
|
+
prerelease: false
|
107
106
|
type: :runtime
|
108
|
-
|
107
|
+
name: json
|
108
|
+
requirement: *id006
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
|
-
|
111
|
-
prerelease: false
|
112
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
110
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
113
111
|
none: false
|
114
112
|
requirements:
|
115
113
|
- - ">="
|
@@ -118,12 +116,12 @@ dependencies:
|
|
118
116
|
segments:
|
119
117
|
- 0
|
120
118
|
version: "0"
|
119
|
+
prerelease: false
|
121
120
|
type: :runtime
|
122
|
-
|
121
|
+
name: id3lib-ruby
|
122
|
+
requirement: *id007
|
123
123
|
- !ruby/object:Gem::Dependency
|
124
|
-
|
125
|
-
prerelease: false
|
126
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
124
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
127
125
|
none: false
|
128
126
|
requirements:
|
129
127
|
- - "="
|
@@ -134,12 +132,12 @@ dependencies:
|
|
134
132
|
- 9
|
135
133
|
- 8
|
136
134
|
version: 0.9.8
|
135
|
+
prerelease: false
|
137
136
|
type: :development
|
138
|
-
|
137
|
+
name: mocha
|
138
|
+
requirement: *id008
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
|
141
|
-
prerelease: false
|
142
|
-
requirement: &id009 !ruby/object:Gem::Requirement
|
140
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
143
141
|
none: false
|
144
142
|
requirements:
|
145
143
|
- - ~>
|
@@ -149,12 +147,12 @@ dependencies:
|
|
149
147
|
- 2
|
150
148
|
- 11
|
151
149
|
version: "2.11"
|
150
|
+
prerelease: false
|
152
151
|
type: :development
|
153
|
-
|
152
|
+
name: shoulda
|
153
|
+
requirement: *id009
|
154
154
|
- !ruby/object:Gem::Dependency
|
155
|
-
|
156
|
-
prerelease: false
|
157
|
-
requirement: &id010 !ruby/object:Gem::Requirement
|
155
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
158
156
|
none: false
|
159
157
|
requirements:
|
160
158
|
- - ~>
|
@@ -164,12 +162,12 @@ dependencies:
|
|
164
162
|
- 2
|
165
163
|
- 1
|
166
164
|
version: "2.1"
|
165
|
+
prerelease: false
|
167
166
|
type: :development
|
168
|
-
|
167
|
+
name: test-unit
|
168
|
+
requirement: *id010
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
|
-
|
171
|
-
prerelease: false
|
172
|
-
requirement: &id011 !ruby/object:Gem::Requirement
|
170
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
173
171
|
none: false
|
174
172
|
requirements:
|
175
173
|
- - ">="
|
@@ -178,12 +176,12 @@ dependencies:
|
|
178
176
|
segments:
|
179
177
|
- 0
|
180
178
|
version: "0"
|
179
|
+
prerelease: false
|
181
180
|
type: :development
|
182
|
-
|
181
|
+
name: ruby-debug
|
182
|
+
requirement: *id011
|
183
183
|
- !ruby/object:Gem::Dependency
|
184
|
-
|
185
|
-
prerelease: false
|
186
|
-
requirement: &id012 !ruby/object:Gem::Requirement
|
184
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
187
185
|
none: false
|
188
186
|
requirements:
|
189
187
|
- - ">="
|
@@ -192,12 +190,12 @@ dependencies:
|
|
192
190
|
segments:
|
193
191
|
- 0
|
194
192
|
version: "0"
|
193
|
+
prerelease: false
|
195
194
|
type: :development
|
196
|
-
|
195
|
+
name: autotest
|
196
|
+
requirement: *id012
|
197
197
|
- !ruby/object:Gem::Dependency
|
198
|
-
|
199
|
-
prerelease: false
|
200
|
-
requirement: &id013 !ruby/object:Gem::Requirement
|
198
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
201
199
|
none: false
|
202
200
|
requirements:
|
203
201
|
- - ">="
|
@@ -206,12 +204,12 @@ dependencies:
|
|
206
204
|
segments:
|
207
205
|
- 0
|
208
206
|
version: "0"
|
207
|
+
prerelease: false
|
209
208
|
type: :development
|
210
|
-
|
209
|
+
name: pry
|
210
|
+
requirement: *id013
|
211
211
|
- !ruby/object:Gem::Dependency
|
212
|
-
|
213
|
-
prerelease: false
|
214
|
-
requirement: &id014 !ruby/object:Gem::Requirement
|
212
|
+
version_requirements: &id014 !ruby/object:Gem::Requirement
|
215
213
|
none: false
|
216
214
|
requirements:
|
217
215
|
- - ">="
|
@@ -220,8 +218,10 @@ dependencies:
|
|
220
218
|
segments:
|
221
219
|
- 0
|
222
220
|
version: "0"
|
221
|
+
prerelease: false
|
223
222
|
type: :development
|
224
|
-
|
223
|
+
name: yard
|
224
|
+
requirement: *id014
|
225
225
|
description: Catalogs music file data and exposes a playlist interface
|
226
226
|
email: bassnode@gmail.com
|
227
227
|
executables:
|
@@ -239,9 +239,9 @@ files:
|
|
239
239
|
- db/migrate/001_add_playlists.rb
|
240
240
|
- db/migrate/002_add_songs.rb
|
241
241
|
- db/migrate/003_add_useful_song_fields.rb
|
242
|
-
- db/migrate/
|
243
|
-
- db/migrate/
|
244
|
-
- db/migrate/
|
242
|
+
- db/migrate/004_add_code_to_songs.rb
|
243
|
+
- db/migrate/005_remove_fades_from_song.rb
|
244
|
+
- db/migrate/006_add_song_position.rb
|
245
245
|
- ext/enmfp/LICENSE
|
246
246
|
- ext/enmfp/README
|
247
247
|
- ext/enmfp/RELEASE_NOTES
|
@@ -265,6 +265,8 @@ files:
|
|
265
265
|
- lib/mr_eko/song.rb
|
266
266
|
- lib/mr_eko/timed_playlist.rb
|
267
267
|
- mr_eko.gemspec
|
268
|
+
- test/data/tagless.mp3
|
269
|
+
- test/data/they_want_a_test.mp3
|
268
270
|
- test/mr_eko_test.rb
|
269
271
|
- test/playlist_test.rb
|
270
272
|
- test/song_test.rb
|
@@ -299,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
299
301
|
requirements: []
|
300
302
|
|
301
303
|
rubyforge_project: mr_eko
|
302
|
-
rubygems_version: 1.8.
|
304
|
+
rubygems_version: 1.8.24
|
303
305
|
signing_key:
|
304
306
|
specification_version: 2
|
305
307
|
summary: Catalogs music file data and exposes a playlist interface
|