daapclient 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,11 @@
1
1
  = Net::DAAP::Client Changelog
2
2
 
3
+ == 0.2.3
4
+
5
+ * Added logging optimizations
6
+ * Applied patch for connection bug [#5885]. Thanks to Rune Hammersland
7
+ * Added test for nil file name. patch [#8482] Thanks Jamie Wilkinson!
8
+
3
9
  == 0.2.2
4
10
 
5
11
  * Added Net::DAAP::Song#save which will automatically save files for you
File without changes
File without changes
@@ -0,0 +1,42 @@
1
+ CHANGELOG.txt
2
+ EXAMPLES.txt
3
+ LICENSE.txt
4
+ Manifest.txt
5
+ NOTES.txt
6
+ README.txt
7
+ Rakefile
8
+ eg/dl_simple.rb
9
+ eg/dl_songs.rb
10
+ eg/dl_target.rb
11
+ eg/show_artists.rb
12
+ eg/show_playlists.rb
13
+ eg/show_songs.rb
14
+ lib/net/daap.rb
15
+ lib/net/daap/album.rb
16
+ lib/net/daap/artist.rb
17
+ lib/net/daap/daap_version.rb
18
+ lib/net/daap/database.rb
19
+ lib/net/daap/dmap.rb
20
+ lib/net/daap/playlist.rb
21
+ lib/net/daap/song.rb
22
+ lib/net/daap/speed_hacks.rb
23
+ test/data/mt-daapd/02dd88de4b3a69c74bcc56c1acca9ae5.txt
24
+ test/data/mt-daapd/0de583b288d8ae30f89acb26d4c8535b.txt
25
+ test/data/mt-daapd/4146ec82a0f0a638db9293a0c2039e6b.txt
26
+ test/data/mt-daapd/51a2a6f2a53743bec7e79fe0d074dd28.txt
27
+ test/data/mt-daapd/6069971903eef3c8c71ec2c7b395bfeb.txt
28
+ test/data/mt-daapd/7102a16e834342b8264f1fb5226690e5.txt
29
+ test/data/mt-daapd/9d29fb31969da7757fa2f4baa3a52fe9.txt
30
+ test/data/mt-daapd/a52dd33cc99471cc156528c06b22e709.txt
31
+ test/data/mt-daapd/a600829e59b3d719b32f25323a2719b0.txt
32
+ test/data/mt-daapd/e2552df8d742fe31d6cc6e1e41e496b3.txt
33
+ test/data/mt-daapd/fc631aa54b83344df9ccf1fbaa7684b0.txt
34
+ test/data/song_data.txt
35
+ test/data/song_structure.txt
36
+ test/mock_server.rb
37
+ test/server_saver.rb
38
+ test/test_artists.rb
39
+ test/test_client.rb
40
+ test/test_download.rb
41
+ test/test_playlist.rb
42
+ test/test_protocol.rb
File without changes
@@ -1,21 +1,13 @@
1
1
  = Net::DAAP
2
2
 
3
- This library is used for browsing iTunes DAAP servers.
3
+ http://daapclient.rubyforge.org/
4
4
 
5
- Most of this is based off the work in the perl version by Richard Clamp which
6
- can be found here[http://search.cpan.org/~rclamp/].
5
+ == DESCRIPTION
7
6
 
8
- Ruby version is by Aaron Patterson <aaronp@rubyforge.org>
7
+ This library is used for browsing iTunes DAAP servers.
9
8
 
10
9
  == Installation
11
10
 
12
- Make sure that Digest::M4P is installed before using this package. Digest::M4P
13
- is available on the daap client ruby forge site here[http://rubyforge.org/frs/?group_id=1155].
14
-
15
- Digest::M4P has not been turned in to a Ruby gem as of this writing.
16
-
17
- After that, just install the gem:
18
-
19
11
  sudo gem install daapclient
20
12
 
21
13
  Also, check out the project page here[http://rubyforge.org/projects/daapclient].
@@ -29,6 +21,9 @@ See the EXAMPLES[link://files/EXAMPLES.html] file
29
21
  The library is mostly a port of the Perl library, and owes most of its
30
22
  communication logic to the original Perl version by Richard Clamp.
31
23
 
24
+ Most of this is based off the work in the perl version by Richard Clamp which
25
+ can be found here[http://search.cpan.org/~rclamp/].
26
+
32
27
  == Author
33
28
 
34
29
  This Ruby version is Copyright (c) Aaron Patterson 2005
@@ -0,0 +1,46 @@
1
+ require 'rubygems'
2
+ require 'hoe'
3
+
4
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), "lib")
5
+ require 'net/daap'
6
+
7
+ class DAAPHoe < Hoe
8
+ def define_tasks
9
+ super
10
+
11
+ desc "Tag code"
12
+ task :tag do |p|
13
+ abort "Must supply VERSION=x.y.z" unless ENV['VERSION']
14
+ v = ENV['VERSION'].gsub(/\./, '_')
15
+
16
+ rf = RubyForge.new
17
+ user = rf.userconfig['username']
18
+
19
+ baseurl = "svn+ssh://#{user}@rubyforge.org//var/svn/#{name}/daap"
20
+ sh "svn cp -m 'tagged REL-#{v}' . #{ baseurl }/tags/REL-#{ v }"
21
+ end
22
+
23
+ desc "Branch code"
24
+ Rake::Task.define_task("branch") do |p|
25
+ abort "Must supply VERSION=x.y.z" unless ENV['VERSION']
26
+ v = ENV['VERSION'].split(/\./)[0..1].join('_')
27
+
28
+ rf = RubyForge.new
29
+ user = rf.userconfig['username']
30
+
31
+ baseurl = "svn+ssh://#{user}@rubyforge.org/var/svn/#{name}"
32
+ sh "svn cp -m'branched #{v}' #{baseurl}/trunk #{baseurl}/branches/RB-#{v}"
33
+ end
34
+ end
35
+ end
36
+
37
+ DAAPHoe.new('daapclient', Net::DAAP::VERSION) do |p|
38
+ p.rubyforge_name = 'daapclient'
39
+ p.author = 'Aaron Patterson'
40
+ p.email = 'aaronp@rubyforge.org'
41
+ p.summary = "Net::DAAP::Client is an iTunes share client."
42
+ p.description = p.paragraphs_of('README.txt', 3).join("\n\n")
43
+ p.url = p.paragraphs_of('README.txt', 1).first.strip
44
+ p.changes = p.paragraphs_of('CHANGELOG.txt', 0..2).join("\n\n")
45
+ p.extra_deps = ['digest-m4p']
46
+ end
@@ -0,0 +1,28 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+
3
+ require 'net/daap'
4
+ require 'fileutils'
5
+
6
+ daap = Net::DAAP::Client.new(ARGV[0])
7
+
8
+ daap.connect do |dsn|
9
+ daap.databases do |db|
10
+ puts "All songs in the database"
11
+ db.songs do |song|
12
+ bool = false
13
+ if ARGV.find { |f| song.artist.name =~ /#{f}/ }
14
+ bool = true
15
+ end
16
+ next unless bool
17
+ filename = "#{song.artist} - #{song.name}.#{song.format}"
18
+ directory = "db/#{song.album}"
19
+ FileUtils::mkdir_p(directory)
20
+
21
+ File.open("#{directory}/#{filename}", "w") do |f|
22
+ song.get do |str|
23
+ f.write str
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,37 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+
3
+ require 'rubygems'
4
+ require 'net/daap'
5
+ require 'fileutils'
6
+ require 'calibre/progressbar'
7
+
8
+ daap = Net::DAAP::Client.new(ARGV[0])
9
+
10
+ daap.connect do |dsn|
11
+ daap.databases.each do |db|
12
+ puts "All songs in the database"
13
+ db.songs.each do |song|
14
+ bool = false
15
+ if ARGV.find { |f| song.artist.name =~ /#{f}/ }
16
+ bool = true
17
+ end
18
+ next unless bool
19
+ filename = "#{song.artist} - #{song.name}.#{song.format}"
20
+ directory = "db/#{song.album.name.gsub(/\//, '_')}"
21
+ FileUtils::mkdir_p(directory)
22
+
23
+ File.open("#{directory}/#{filename.gsub(/\//, '_')}", "w") do |f|
24
+ bar = Console::ProgressBar.new("#{song.name}", song.size)
25
+ so_far = 0
26
+ begin
27
+ song.get do |str|
28
+ f.write str
29
+ bar.set so_far += str.length
30
+ end
31
+ bar.finish
32
+ rescue
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,14 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+
3
+ require 'rubygems'
4
+ require 'net/daap'
5
+ require 'net/daap/speed_hacks'
6
+
7
+ daap = Net::DAAP::Client.new(ARGV[0])
8
+ daap.connect_db { |db|
9
+ db.songs.each { |song|
10
+ next unless song.artist.name =~ /Dre/
11
+ puts "#{song.artist.name} - #{song.name}"
12
+ song.save('db')
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+
3
+ require 'rubygems'
4
+ require 'net/daap'
5
+
6
+ daap = Net::DAAP::Client.new(ARGV[0], :password => ARGV[1])
7
+
8
+ daap.connect do |dsn|
9
+ daap.databases do |db|
10
+ db.artists.sort.each do |artist|
11
+ puts "#{artist.name}"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+
3
+ require 'net/daap'
4
+
5
+ daap = Net::DAAP::Client.new('localhost')
6
+
7
+ daap.connect do |dsn|
8
+ daap.databases do |db|
9
+ puts "List songs for each playlist"
10
+ db.playlists do |pl|
11
+ puts "Playlist name: #{pl.name}"
12
+ pl.songs do |song|
13
+ puts " #{song.artist} - #{song.name}"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+
3
+ require 'rubygems'
4
+ require 'net/daap'
5
+
6
+ daap = Net::DAAP::Client.new('localhost') { |a| a.log = Logger.new(STDERR) }
7
+
8
+ daap.connect do |dsn|
9
+ daap.databases do |db|
10
+ puts "All songs in the database"
11
+ db.songs do |song|
12
+ filename = "#{song.artist} - #{song}.#{song.format}"
13
+ puts "#{song.album}/#{filename}(#{song.size})"
14
+ end
15
+ end
16
+ end
@@ -1,7 +1,6 @@
1
1
  require 'net/http'
2
2
  require 'digest/m4p'
3
3
  require 'digest/md5'
4
- require 'logger'
5
4
  require 'net/daap/dmap'
6
5
  require 'net/daap/artist'
7
6
  require 'net/daap/album'
@@ -44,6 +43,7 @@ module Net
44
43
  # end
45
44
  #
46
45
  module DAAP
46
+ VERSION = '0.2.3'
47
47
 
48
48
  # = Synopsis
49
49
  # The Client class interacts with the iTunes server to fetch lists of songs,
@@ -61,27 +61,26 @@ module Net
61
61
  @server_port = params[:port]
62
62
  @password = params[:password]
63
63
  @validator = nil
64
- @log = Logger.new(nil)
64
+ @log = nil
65
65
  @session_id = nil
66
66
  @request_id = nil
67
- @connected = nil
67
+ @connected = false
68
68
  yield self if block_given?
69
69
  end
70
70
 
71
71
  # Connects to the iTunes server. This method should be called right after
72
72
  # construction. See DAAP for an example.
73
73
  def connect
74
- @log.info("Connecting to #{@server_host}:#{@server_port}")
74
+ log.info("Connecting to #{@server_host}:#{@server_port}") if log
75
75
  @http_client = Net::HTTP.start(@server_host, @server_port)
76
76
  find_validator
77
77
  @dmap = Net::DAAP::DMAP.new(:daap => self)
78
78
  load_server_info
79
- @log.info("Now connected")
80
- @connected = 1
79
+ log.info("Now connected") if log
80
+ @connected = true
81
81
  if block_given?
82
82
  yield @dsn
83
83
  disconnect
84
- @connected = 0
85
84
  end
86
85
  @dsn
87
86
  end
@@ -91,15 +90,18 @@ module Net
91
90
  def connect_db(&block)
92
91
  raise ArgumentError if block.nil?
93
92
  connect
94
- databases.each { |db| block.call(db) }
95
- disconnect
93
+ begin
94
+ databases.each { |db| block.call(db) }
95
+ ensure
96
+ disconnect
97
+ end
96
98
  end
97
99
 
98
100
  # Returns the databases found on the iTunes server.
99
101
  def databases
100
102
  unless @connected
101
103
  errstr = "Not connected, can't fetch databases"
102
- @log.error(errstr)
104
+ log.error(errstr) if log
103
105
  raise errstr
104
106
  end
105
107
 
@@ -119,7 +121,7 @@ module Net
119
121
  end
120
122
 
121
123
  def do_get(request, &block)
122
- @log.debug("do_get called")
124
+ log.debug("do_get called") if log
123
125
  url = String.new('/' + request)
124
126
  if @session_id
125
127
  url += url =~ /\?/ ? "&" : "?"
@@ -129,7 +131,7 @@ module Net
129
131
  #if @revision && request != "logout"
130
132
  # url += "&revision-number=#{@revision}"
131
133
  #end
132
- @log.debug("Fetching url: #{url}")
134
+ log.debug("Fetching url: #{url}") if log
133
135
 
134
136
  req = Net::HTTP::Get.new(url, request_headers(url))
135
137
  req.basic_auth('iTunes_4.6', @password) if ! @password.nil?
@@ -140,11 +142,11 @@ module Net
140
142
  case res
141
143
  when Net::HTTPSuccess
142
144
  else
143
- @log.error("This DAAP Server requires a password")
145
+ log.error("This DAAP Server requires a password") if log
144
146
  res.error!
145
147
  end
146
148
 
147
- @log.debug("Done Fetching url: #{url}")
149
+ log.debug("Done Fetching url: #{url}") if log
148
150
 
149
151
  content_type = res.header['content-type']
150
152
  if request !~ /(?:\/items\/\d+\.|logout)/ && content_type !~ /dmap/
@@ -155,7 +157,7 @@ module Net
155
157
  end
156
158
 
157
159
  def get_song(request, &block)
158
- @log.debug("Downloading a song")
160
+ log.debug("Downloading a song") if log
159
161
  @request_id = @request_id.nil? ? 2 : @request_id + 1
160
162
  do_get(request, &block)
161
163
  end
@@ -172,8 +174,9 @@ module Net
172
174
 
173
175
  # Disconnects from the DAAP server
174
176
  def disconnect
175
- @log.info("Disconnecting")
177
+ log.info("Disconnecting") if log
176
178
  do_get("logout")
179
+ @connected = false
177
180
  end
178
181
 
179
182
  private
@@ -181,10 +184,10 @@ module Net
181
184
  flat_list = @dmap.flat_list(do_get("server-info"))
182
185
  @dsn = flat_list['/dmap.serverinforesponse/dmap.itemname']
183
186
 
184
- @log.debug("Connected to share '#{@dsn}'")
187
+ log.debug("Connected to share '#{@dsn}'") if log
185
188
  @session_id = @dmap.find(do_get("login"),
186
189
  "dmap.loginresponse/dmap.sessionid")
187
- @log.debug("My id is #{@session_id}")
190
+ log.debug("My id is #{@session_id}") if log
188
191
  @dsn
189
192
  end
190
193
 
@@ -201,18 +204,18 @@ module Net
201
204
 
202
205
  # Figure out what protocol version to use
203
206
  def find_validator
204
- @log.info("Determining DAAP version")
207
+ log.info("Determining DAAP version") if log
205
208
  res = @http_client.get('/server-info')
206
209
  server = res.header['daap-server']
207
210
 
208
211
  if server =~ /^iTunes\/4.2/
209
212
  @validator = DAAPv2.new
210
- @log.info("Found DAAPv2")
213
+ log.info("Found DAAPv2") if log
211
214
  end
212
215
 
213
216
  if server =~ /^iTunes/
214
217
  @validator = DAAPv3.new
215
- @log.info("Found DAAPv3")
218
+ log.info("Found DAAPv3") if log
216
219
  end
217
220
  end
218
221
  end
@@ -22,7 +22,7 @@ module Net
22
22
  @daap = args[:daap]
23
23
  @db = args[:db]
24
24
  @path = [@artist.name, @album.name].collect { |name|
25
- name.gsub(File::SEPARATOR, '_')
25
+ name.gsub(File::SEPARATOR, '_') unless name.nil?
26
26
  }.join(File::SEPARATOR)
27
27
  @file = "#{@name.gsub(File::SEPARATOR, '_')}.#{@format}"
28
28
  end
@@ -24,17 +24,23 @@ module Net
24
24
  end
25
25
 
26
26
  class HTTP
27
- def self.new
28
- allocate
29
- end
30
-
27
+ alias :old_initialize :initialize
31
28
  def initialize
32
29
  end
33
30
 
34
- def self.start(*args)
35
- Net::HTTP.new
31
+ class << self
32
+ alias :old_start :start
33
+ alias :old_new :new
34
+ def start(*args)
35
+ Net::HTTP.new
36
+ end
37
+
38
+ def new
39
+ allocate
40
+ end
36
41
  end
37
42
 
43
+ alias :old_request :request
38
44
  def request(req, &block)
39
45
  get(req.url, block)
40
46
  end
@@ -1,6 +1,8 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
3
 
4
+ require 'yaml'
5
+ require 'rubygems'
4
6
  require 'test/unit'
5
7
  require 'net/daap'
6
8
  require 'mock_server'
@@ -1,6 +1,8 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
3
 
4
+ require 'yaml'
5
+ require 'rubygems'
4
6
  require 'test/unit'
5
7
  require 'net/daap'
6
8
  require 'mock_server'
@@ -1,6 +1,8 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
3
 
4
+ require 'yaml'
5
+ require 'rubygems'
4
6
  require 'test/unit'
5
7
  require 'net/daap'
6
8
  require 'mock_server'
@@ -1,6 +1,8 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
3
 
4
+ require 'yaml'
5
+ require 'rubygems'
4
6
  require 'test/unit'
5
7
  require 'net/daap'
6
8
  require 'mock_server'
@@ -1,8 +1,11 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
3
 
4
- require 'test/unit'
4
+
5
+ require 'yaml'
6
+ require 'rubygems'
5
7
  require 'net/daap'
8
+ require 'test/unit'
6
9
  require 'digest/md5'
7
10
 
8
11
  class DAAPProtocol_Test < Test::Unit::TestCase
metadata CHANGED
@@ -1,99 +1,108 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
2
+ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: daapclient
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.2.2
7
- date: 2006-08-27 00:00:00 -07:00
6
+ version: 0.2.3
7
+ date: 2007-03-12 00:00:00 -07:00
8
8
  summary: Net::DAAP::Client is an iTunes share client.
9
9
  require_paths:
10
- - lib
10
+ - lib
11
11
  email: aaronp@rubyforge.org
12
- homepage: daapclient.rubyforge.org
12
+ homepage: http://daapclient.rubyforge.org/
13
13
  rubyforge_project: daapclient
14
- description:
14
+ description: This library is used for browsing iTunes DAAP servers.
15
15
  autorequire:
16
16
  default_executable:
17
17
  bindir: bin
18
18
  has_rdoc: true
19
19
  required_ruby_version: !ruby/object:Gem::Version::Requirement
20
20
  requirements:
21
- -
22
- - ">"
23
- - !ruby/object:Gem::Version
24
- version: 0.0.0
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
25
24
  version:
26
25
  platform: ruby
27
26
  signing_key:
28
27
  cert_chain:
29
28
  post_install_message:
30
29
  authors:
31
- - Aaron Patterson
30
+ - Aaron Patterson
32
31
  files:
33
- - test/data
34
- - test/mock_server.rb
35
- - test/server_saver.rb
36
- - test/tc_artists.rb
37
- - test/tc_client.rb
38
- - test/tc_download.rb
39
- - test/tc_playlist.rb
40
- - test/tc_protocol.rb
41
- - test/test_daap.rb
42
- - test/ts_daap.rb
43
- - test/data/mt-daapd
44
- - test/data/song_data.txt
45
- - test/data/song_structure.txt
46
- - test/data/mt-daapd/02dd88de4b3a69c74bcc56c1acca9ae5.txt
47
- - test/data/mt-daapd/0de583b288d8ae30f89acb26d4c8535b.txt
48
- - test/data/mt-daapd/4146ec82a0f0a638db9293a0c2039e6b.txt
49
- - test/data/mt-daapd/51a2a6f2a53743bec7e79fe0d074dd28.txt
50
- - test/data/mt-daapd/6069971903eef3c8c71ec2c7b395bfeb.txt
51
- - test/data/mt-daapd/7102a16e834342b8264f1fb5226690e5.txt
52
- - test/data/mt-daapd/9d29fb31969da7757fa2f4baa3a52fe9.txt
53
- - test/data/mt-daapd/a52dd33cc99471cc156528c06b22e709.txt
54
- - test/data/mt-daapd/a600829e59b3d719b32f25323a2719b0.txt
55
- - test/data/mt-daapd/e2552df8d742fe31d6cc6e1e41e496b3.txt
56
- - test/data/mt-daapd/fc631aa54b83344df9ccf1fbaa7684b0.txt
57
- - lib/net
58
- - lib/net/daap
59
- - lib/net/daap.rb
60
- - lib/net/daap/album.rb
61
- - lib/net/daap/artist.rb
62
- - lib/net/daap/daap_version.rb
63
- - lib/net/daap/database.rb
64
- - lib/net/daap/dmap.rb
65
- - lib/net/daap/playlist.rb
66
- - lib/net/daap/song.rb
67
- - lib/net/daap/speed_hacks.rb
68
- - README
69
- - LICENSE
70
- - CHANGELOG
71
- - EXAMPLES
72
- - NOTES
32
+ - CHANGELOG.txt
33
+ - EXAMPLES.txt
34
+ - LICENSE.txt
35
+ - Manifest.txt
36
+ - NOTES.txt
37
+ - README.txt
38
+ - Rakefile
39
+ - eg/dl_simple.rb
40
+ - eg/dl_songs.rb
41
+ - eg/dl_target.rb
42
+ - eg/show_artists.rb
43
+ - eg/show_playlists.rb
44
+ - eg/show_songs.rb
45
+ - lib/net/daap.rb
46
+ - lib/net/daap/album.rb
47
+ - lib/net/daap/artist.rb
48
+ - lib/net/daap/daap_version.rb
49
+ - lib/net/daap/database.rb
50
+ - lib/net/daap/dmap.rb
51
+ - lib/net/daap/playlist.rb
52
+ - lib/net/daap/song.rb
53
+ - lib/net/daap/speed_hacks.rb
54
+ - test/data/mt-daapd/02dd88de4b3a69c74bcc56c1acca9ae5.txt
55
+ - test/data/mt-daapd/0de583b288d8ae30f89acb26d4c8535b.txt
56
+ - test/data/mt-daapd/4146ec82a0f0a638db9293a0c2039e6b.txt
57
+ - test/data/mt-daapd/51a2a6f2a53743bec7e79fe0d074dd28.txt
58
+ - test/data/mt-daapd/6069971903eef3c8c71ec2c7b395bfeb.txt
59
+ - test/data/mt-daapd/7102a16e834342b8264f1fb5226690e5.txt
60
+ - test/data/mt-daapd/9d29fb31969da7757fa2f4baa3a52fe9.txt
61
+ - test/data/mt-daapd/a52dd33cc99471cc156528c06b22e709.txt
62
+ - test/data/mt-daapd/a600829e59b3d719b32f25323a2719b0.txt
63
+ - test/data/mt-daapd/e2552df8d742fe31d6cc6e1e41e496b3.txt
64
+ - test/data/mt-daapd/fc631aa54b83344df9ccf1fbaa7684b0.txt
65
+ - test/data/song_data.txt
66
+ - test/data/song_structure.txt
67
+ - test/mock_server.rb
68
+ - test/server_saver.rb
69
+ - test/test_artists.rb
70
+ - test/test_client.rb
71
+ - test/test_download.rb
72
+ - test/test_playlist.rb
73
+ - test/test_protocol.rb
73
74
  test_files:
74
- - test/ts_daap.rb
75
- rdoc_options:
76
- - "--main"
77
- - README
78
- - "--title"
79
- - "'Net::DAAP::Client RDoc'"
80
- extra_rdoc_files:
81
- - README
82
- - LICENSE
83
- - CHANGELOG
84
- - EXAMPLES
85
- - NOTES
75
+ - test/test_artists.rb
76
+ - test/test_client.rb
77
+ - test/test_download.rb
78
+ - test/test_playlist.rb
79
+ - test/test_protocol.rb
80
+ rdoc_options: []
81
+
82
+ extra_rdoc_files: []
83
+
86
84
  executables: []
85
+
87
86
  extensions: []
87
+
88
88
  requirements: []
89
+
89
90
  dependencies:
90
- - !ruby/object:Gem::Dependency
91
- name: digest-m4p
92
- version_requirement:
93
- version_requirements: !ruby/object:Gem::Version::Requirement
94
- requirements:
95
- -
96
- - ">="
97
- - !ruby/object:Gem::Version
98
- version: 0.0.1
99
- version:
91
+ - !ruby/object:Gem::Dependency
92
+ name: digest-m4p
93
+ version_requirement:
94
+ version_requirements: !ruby/object:Gem::Version::Requirement
95
+ requirements:
96
+ - - ">"
97
+ - !ruby/object:Gem::Version
98
+ version: 0.0.0
99
+ version:
100
+ - !ruby/object:Gem::Dependency
101
+ name: hoe
102
+ version_requirement:
103
+ version_requirements: !ruby/object:Gem::Version::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: 1.2.0
108
+ version:
@@ -1,23 +0,0 @@
1
- require 'yaml/stringio'
2
- require 'fileutils'
3
- require 'test/unit/testsuite'
4
- require 'test/unit/ui/reporter'
5
- require 'test/unit/ui/console/testrunner'
6
-
7
- fail "Missing results directory" if ARGV.empty?
8
- html_dir = ARGV[0]
9
-
10
- FileUtils.rm_r html_dir rescue nil
11
- FileUtils.mkdir_p html_dir
12
-
13
- Dir['tc_*.rb'].each do |fn|
14
- load fn
15
- end
16
-
17
- suite = Test::Unit::TestSuite.new
18
- ObjectSpace.each_object(Class) do |cls|
19
- next if cls == Test::Unit::TestCase
20
- suite << cls.suite if cls.respond_to?(:suite)
21
- end
22
-
23
- Test::Unit::UI::Reporter.run(suite, html_dir)
@@ -1,14 +0,0 @@
1
- $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
- $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
-
4
- require 'yaml'
5
-
6
-
7
- require 'rubygems'
8
- require 'test/unit'
9
- require 'tc_client'
10
- require 'tc_protocol'
11
- require 'tc_playlist'
12
- require 'tc_artists'
13
- require 'tc_download'
14
-