graphtunes 0.0.1 → 0.0.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/History.txt +5 -0
- data/Manifest.txt +2 -0
- data/README.txt +7 -1
- data/bin/graphtunes +46 -0
- data/lib/graphtunes/version.rb +1 -1
- data/spec/graphtunes_command_spec.rb +34 -0
- metadata +6 -4
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -3,6 +3,7 @@ License.txt
|
|
3
3
|
Manifest.txt
|
4
4
|
README.txt
|
5
5
|
Rakefile
|
6
|
+
bin/graphtunes
|
6
7
|
config/hoe.rb
|
7
8
|
config/requirements.rb
|
8
9
|
lib/graphtunes.rb
|
@@ -11,6 +12,7 @@ script/console
|
|
11
12
|
script/destroy
|
12
13
|
script/generate
|
13
14
|
setup.rb
|
15
|
+
spec/graphtunes_command_spec.rb
|
14
16
|
spec/graphtunes_spec.rb
|
15
17
|
spec/spec.opts
|
16
18
|
spec/spec_helper.rb
|
data/README.txt
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
graphtunes is for visualization of music playlist data
|
2
2
|
|
3
|
-
At the moment, it only makes a line graph of the BPM data for a playlist, and it expects as input an XML-exported iTunes playlist[1].
|
3
|
+
At the moment, it only makes a line graph of the BPM data for a playlist, and it expects as input an XML-exported iTunes playlist[1].
|
4
|
+
|
5
|
+
Running it as
|
6
|
+
|
7
|
+
graphtunes playlist.xml
|
8
|
+
|
9
|
+
will output a graph to 'playlist.png'. It's as simple as that.
|
4
10
|
|
5
11
|
It uses REXML to parse the playlist (stdlib, yay) and gruff for the graphing (enjoy installing RMagick and friends if you haven't already).
|
6
12
|
|
data/bin/graphtunes
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Created on 2008-5-5.
|
4
|
+
# Copyright (c) 2008. All rights reserved.
|
5
|
+
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
rescue LoadError
|
9
|
+
# no rubygems to load, so we fail silently
|
10
|
+
end
|
11
|
+
|
12
|
+
require 'optparse'
|
13
|
+
require 'graphtunes'
|
14
|
+
|
15
|
+
# NOTE: the option -p/--path= is given as an example, and should probably be replaced in your application.
|
16
|
+
|
17
|
+
OPTIONS = {}
|
18
|
+
MANDATORY_OPTIONS = %w[]
|
19
|
+
|
20
|
+
parser = OptionParser.new do |opts|
|
21
|
+
opts.banner = <<BANNER
|
22
|
+
Usage: #{File.basename($0)} [filename]
|
23
|
+
|
24
|
+
Options are:
|
25
|
+
BANNER
|
26
|
+
opts.separator ''
|
27
|
+
opts.on('-v', '--version',
|
28
|
+
"Show the #{File.basename($0)} version number and exit") { puts "graphtunes #{Graphtunes::VERSION::STRING}"; exit }
|
29
|
+
opts.on('-h', '--help',
|
30
|
+
'Show this help message.') { puts opts; exit }
|
31
|
+
opts.parse!(ARGV)
|
32
|
+
|
33
|
+
if MANDATORY_OPTIONS && MANDATORY_OPTIONS.find { |option| OPTIONS[option.to_sym].nil? }
|
34
|
+
puts opts; exit
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# do stuff
|
39
|
+
filename = ARGV[0]
|
40
|
+
|
41
|
+
unless filename
|
42
|
+
puts "Usage: #{File.basename($0)} [filename]"
|
43
|
+
exit
|
44
|
+
end
|
45
|
+
|
46
|
+
Graphtunes.process(filename)
|
data/lib/graphtunes/version.rb
CHANGED
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper.rb'
|
2
|
+
|
3
|
+
describe 'graphtunes command' do
|
4
|
+
def run_command(*args)
|
5
|
+
Object.const_set(:ARGV, args)
|
6
|
+
begin
|
7
|
+
eval File.read(File.join(File.dirname(__FILE__), *%w[.. bin graphtunes]))
|
8
|
+
rescue SystemExit
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
before :all do
|
13
|
+
path = File.join(File.dirname(__FILE__), *%w[.. bin])
|
14
|
+
ENV['PATH'] = [path, ENV['PATH']].join(':')
|
15
|
+
end
|
16
|
+
|
17
|
+
before :each do
|
18
|
+
Graphtunes.stubs(:process)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should exist' do
|
22
|
+
lambda { run_command('blah') }.should_not raise_error(Errno::ENOENT)
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should require a filename' do
|
26
|
+
self.expects(:puts) { |text| text.match(/usage.+filename/i) }
|
27
|
+
run_command
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should pass the filename to Graphtunes for processing' do
|
31
|
+
Graphtunes.expects(:process).with('blah')
|
32
|
+
run_command('blah')
|
33
|
+
end
|
34
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphtunes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yossef Mendelssohn
|
@@ -9,15 +9,15 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-05-
|
12
|
+
date: 2008-05-05 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
16
16
|
description: for visualization of music playlist data
|
17
17
|
email:
|
18
18
|
- ymendel@pobox.com
|
19
|
-
executables:
|
20
|
-
|
19
|
+
executables:
|
20
|
+
- graphtunes
|
21
21
|
extensions: []
|
22
22
|
|
23
23
|
extra_rdoc_files:
|
@@ -31,6 +31,7 @@ files:
|
|
31
31
|
- Manifest.txt
|
32
32
|
- README.txt
|
33
33
|
- Rakefile
|
34
|
+
- bin/graphtunes
|
34
35
|
- config/hoe.rb
|
35
36
|
- config/requirements.rb
|
36
37
|
- lib/graphtunes.rb
|
@@ -39,6 +40,7 @@ files:
|
|
39
40
|
- script/destroy
|
40
41
|
- script/generate
|
41
42
|
- setup.rb
|
43
|
+
- spec/graphtunes_command_spec.rb
|
42
44
|
- spec/graphtunes_spec.rb
|
43
45
|
- spec/spec.opts
|
44
46
|
- spec/spec_helper.rb
|