daapclient 0.1.0 → 0.2.0

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.
Files changed (107) hide show
  1. data/CHANGELOG +36 -0
  2. data/EXAMPLES +79 -0
  3. data/LICENSE +340 -0
  4. data/NOTES +33 -0
  5. data/README +7 -31
  6. data/lib/net/daap.rb +34 -20
  7. data/lib/net/daap/album.rb +16 -0
  8. data/lib/net/daap/artist.rb +16 -0
  9. data/lib/net/daap/daap_version.rb +7 -0
  10. data/lib/net/daap/database.rb +54 -27
  11. data/lib/net/daap/dmap.rb +13 -24
  12. data/lib/net/daap/playlist.rb +4 -5
  13. data/lib/net/daap/song.rb +10 -8
  14. data/test/data/mt-daapd/02dd88de4b3a69c74bcc56c1acca9ae5.txt +0 -0
  15. data/test/data/mt-daapd/0de583b288d8ae30f89acb26d4c8535b.txt +0 -0
  16. data/test/data/mt-daapd/4146ec82a0f0a638db9293a0c2039e6b.txt +0 -0
  17. data/test/data/mt-daapd/51a2a6f2a53743bec7e79fe0d074dd28.txt +0 -0
  18. data/test/data/mt-daapd/6069971903eef3c8c71ec2c7b395bfeb.txt +0 -0
  19. data/test/data/mt-daapd/{e9a8e709c2116651157182f130207048.txt → 7102a16e834342b8264f1fb5226690e5.txt} +0 -0
  20. data/test/data/mt-daapd/9d29fb31969da7757fa2f4baa3a52fe9.txt +0 -0
  21. data/test/data/mt-daapd/a52dd33cc99471cc156528c06b22e709.txt +0 -0
  22. data/test/data/mt-daapd/a600829e59b3d719b32f25323a2719b0.txt +0 -0
  23. data/test/data/mt-daapd/e2552df8d742fe31d6cc6e1e41e496b3.txt +0 -0
  24. data/test/data/mt-daapd/fc631aa54b83344df9ccf1fbaa7684b0.txt +0 -0
  25. data/test/data/song_data.txt +0 -0
  26. data/test/data/song_structure.txt +209 -0
  27. data/test/mock_server.rb +56 -0
  28. data/test/server_saver.rb +31 -0
  29. data/test/tc_artists.rb +33 -0
  30. data/test/tc_client.rb +47 -116
  31. data/test/tc_download.rb +29 -0
  32. data/test/tc_playlist.rb +37 -0
  33. data/test/tc_protocol.rb +3 -0
  34. data/test/test_daap.rb +23 -0
  35. data/test/ts_daap.rb +7 -0
  36. metadata +41 -97
  37. data/doc/classes/Net.html +0 -127
  38. data/doc/classes/Net/DAAP.html +0 -168
  39. data/doc/classes/Net/DAAP/Client.html +0 -269
  40. data/doc/classes/Net/DAAP/Client.src/M000003.html +0 -20
  41. data/doc/classes/Net/DAAP/Client.src/M000004.html +0 -28
  42. data/doc/classes/Net/DAAP/Client.src/M000005.html +0 -33
  43. data/doc/classes/Net/DAAP/Client.src/M000006.html +0 -37
  44. data/doc/classes/Net/DAAP/Client.src/M000007.html +0 -20
  45. data/doc/classes/Net/DAAP/Client.src/M000008.html +0 -24
  46. data/doc/classes/Net/DAAP/Client.src/M000009.html +0 -18
  47. data/doc/classes/Net/DAAP/DAAPv2.html +0 -165
  48. data/doc/classes/Net/DAAP/DAAPv2.src/M000016.html +0 -30
  49. data/doc/classes/Net/DAAP/DAAPv2.src/M000017.html +0 -21
  50. data/doc/classes/Net/DAAP/DAAPv3.html +0 -178
  51. data/doc/classes/Net/DAAP/DAAPv3.src/M000018.html +0 -30
  52. data/doc/classes/Net/DAAP/DAAPv3.src/M000019.html +0 -23
  53. data/doc/classes/Net/DAAP/DMAP.html +0 -176
  54. data/doc/classes/Net/DAAP/DMAP.src/M000013.html +0 -20
  55. data/doc/classes/Net/DAAP/DMAP.src/M000014.html +0 -18
  56. data/doc/classes/Net/DAAP/DMAP.src/M000015.html +0 -24
  57. data/doc/classes/Net/DAAP/Database.html +0 -224
  58. data/doc/classes/Net/DAAP/Database.src/M000010.html +0 -25
  59. data/doc/classes/Net/DAAP/Database.src/M000011.html +0 -21
  60. data/doc/classes/Net/DAAP/Database.src/M000012.html +0 -35
  61. data/doc/classes/Net/DAAP/Playlist.html +0 -192
  62. data/doc/classes/Net/DAAP/Playlist.src/M000001.html +0 -24
  63. data/doc/classes/Net/DAAP/Playlist.src/M000002.html +0 -30
  64. data/doc/classes/Net/DAAP/Song.html +0 -208
  65. data/doc/classes/Net/DAAP/Song.src/M000020.html +0 -27
  66. data/doc/classes/Net/DAAP/Song.src/M000021.html +0 -19
  67. data/doc/created.rid +0 -1
  68. data/doc/files/CHANGELOG.html +0 -134
  69. data/doc/files/LICENSE.html +0 -531
  70. data/doc/files/README.html +0 -182
  71. data/doc/files/lib/net/daap/database_rb.html +0 -101
  72. data/doc/files/lib/net/daap/dmap_rb.html +0 -101
  73. data/doc/files/lib/net/daap/playlist_rb.html +0 -101
  74. data/doc/files/lib/net/daap/song_rb.html +0 -101
  75. data/doc/files/lib/net/daap_rb.html +0 -114
  76. data/doc/fr_class_index.html +0 -35
  77. data/doc/fr_file_index.html +0 -34
  78. data/doc/fr_method_index.html +0 -47
  79. data/doc/index.html +0 -24
  80. data/doc/rdoc-style.css +0 -208
  81. data/lib/CVS/Entries +0 -1
  82. data/lib/CVS/Repository +0 -1
  83. data/lib/CVS/Root +0 -1
  84. data/lib/net/CVS/Entries +0 -2
  85. data/lib/net/CVS/Repository +0 -1
  86. data/lib/net/CVS/Root +0 -1
  87. data/lib/net/daap/CVS/Entries +0 -5
  88. data/lib/net/daap/CVS/Repository +0 -1
  89. data/lib/net/daap/CVS/Root +0 -1
  90. data/test/CVS/Entries +0 -4
  91. data/test/CVS/Repository +0 -1
  92. data/test/CVS/Root +0 -1
  93. data/test/data/CVS/Entries +0 -1
  94. data/test/data/CVS/Repository +0 -1
  95. data/test/data/CVS/Root +0 -1
  96. data/test/data/mt-daapd/079aca35773150da9fd98db10c7fd0c0.txt +0 -0
  97. data/test/data/mt-daapd/2972f65088b42a06b5d3ca089d71791d.txt +0 -0
  98. data/test/data/mt-daapd/440c2217e6207c54c317c296f71f9769.txt +0 -0
  99. data/test/data/mt-daapd/4d1ce9f941cbd823ed06f1f1baa5a3b9.txt +0 -0
  100. data/test/data/mt-daapd/7bded8b540fd082f102d25e181b47bc4.txt +0 -0
  101. data/test/data/mt-daapd/CVS/Entries +0 -11
  102. data/test/data/mt-daapd/CVS/Repository +0 -1
  103. data/test/data/mt-daapd/CVS/Root +0 -1
  104. data/test/data/mt-daapd/b3e894b87111bdba88e4765967f4b45a.txt +0 -0
  105. data/test/data/mt-daapd/d56b699830e77ba53855679cb1d252da.txt +0 -0
  106. data/test/data/mt-daapd/e61ce3062cb76770658896b778ad06cd.txt +0 -0
  107. data/test/data/mt-daapd/f9073959a0afacebfab7e3bf19c2714a.txt +0 -0
@@ -0,0 +1,29 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+ $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
+
4
+ require 'test/unit'
5
+ require 'net/daap'
6
+ require 'mock_server'
7
+
8
+ class DAAPDownloadTest < Test::Unit::TestCase
9
+ def setup
10
+ @daap = Net::DAAP::Client.new(SERVER)
11
+ @daap.connect
12
+ end
13
+
14
+ def teardown
15
+ @daap.disconnect
16
+ end
17
+
18
+ def test_get_song
19
+ song_data = nil
20
+ @daap.databases do |db|
21
+ db.songs.each do |song|
22
+ next unless song.artist.name == 'Idlewild'
23
+ next unless song.name == 'Hidden Track 2'
24
+ song_data = song.get
25
+ end
26
+ end
27
+ assert_equal(FILE_DATA, song_data)
28
+ end
29
+ end
@@ -0,0 +1,37 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+ $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
+
4
+ require 'test/unit'
5
+ require 'net/daap'
6
+ require 'mock_server'
7
+
8
+ class DAAPClientPlaylistTest < Test::Unit::TestCase
9
+ def setup
10
+ @daap = Net::DAAP::Client.new(SERVER)
11
+ @daap.connect
12
+ end
13
+
14
+ def test_playlist_name
15
+ playlists = @daap.databases[0].playlists
16
+ assert_equal(3, playlists.length)
17
+ assert_equal("Aaron's Music", playlists[0].name)
18
+ assert_equal("Recently Added", playlists[1].name)
19
+ assert_equal("Non-DRMed Music", playlists[2].name)
20
+
21
+ playlists.each do |pl|
22
+ #next unless pl.name == "Recently Added"
23
+ assert_equal(26, pl.songs.length)
24
+ songs_hash = Hash.new
25
+ pl.songs.each do |song|
26
+ songs_hash[song.id] = { :size => song.size, :album => song.album.to_s,
27
+ :name => song.name, :artist => song.artist.to_s, :format => song.format,
28
+ :persistentid => song.persistentid, :itemid => song.id }
29
+ end
30
+ assert_equal(HASH, songs_hash)
31
+ end
32
+ end
33
+
34
+ def teardown
35
+ @daap.disconnect
36
+ end
37
+ end
data/test/tc_protocol.rb CHANGED
@@ -1,3 +1,6 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+ $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
+
1
4
  require 'test/unit'
2
5
  require 'net/daap'
3
6
  require 'digest/md5'
data/test/test_daap.rb ADDED
@@ -0,0 +1,23 @@
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)
data/test/ts_daap.rb CHANGED
@@ -1,6 +1,13 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+ $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
+
4
+ require 'yaml'
5
+
2
6
 
3
7
  require 'test/unit'
4
8
  require 'tc_client'
5
9
  require 'tc_protocol'
10
+ require 'tc_playlist'
11
+ require 'tc_artists'
12
+ require 'tc_download'
6
13
 
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.10
2
+ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: daapclient
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.0
7
- date: 2005-12-16
6
+ version: 0.2.0
7
+ date: 2006-05-11 00:00:00 -07:00
8
8
  summary: Net::DAAP::Client is an iTunes share client.
9
9
  require_paths:
10
10
  - lib
@@ -12,7 +12,7 @@ email: aaronp@rubyforge.org
12
12
  homepage: daapclient.rubyforge.org
13
13
  rubyforge_project: daapclient
14
14
  description:
15
- autorequire: net/daap
15
+ autorequire:
16
16
  default_executable:
17
17
  bindir: bin
18
18
  has_rdoc: true
@@ -24,119 +24,63 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
24
24
  version: 0.0.0
25
25
  version:
26
26
  platform: ruby
27
+ signing_key:
28
+ cert_chain:
27
29
  authors:
28
30
  - Aaron Patterson
29
31
  files:
30
- - test/CVS
31
32
  - test/data
33
+ - test/mock_server.rb
34
+ - test/server_saver.rb
35
+ - test/tc_artists.rb
32
36
  - test/tc_client.rb
37
+ - test/tc_download.rb
38
+ - test/tc_playlist.rb
33
39
  - test/tc_protocol.rb
40
+ - test/test_daap.rb
34
41
  - test/ts_daap.rb
35
- - test/CVS/Entries
36
- - test/CVS/Repository
37
- - test/CVS/Root
38
- - test/data/CVS
39
42
  - test/data/mt-daapd
40
- - test/data/CVS/Entries
41
- - test/data/CVS/Repository
42
- - test/data/CVS/Root
43
- - test/data/mt-daapd/079aca35773150da9fd98db10c7fd0c0.txt
44
- - test/data/mt-daapd/2972f65088b42a06b5d3ca089d71791d.txt
45
- - test/data/mt-daapd/440c2217e6207c54c317c296f71f9769.txt
46
- - test/data/mt-daapd/4d1ce9f941cbd823ed06f1f1baa5a3b9.txt
47
- - test/data/mt-daapd/7bded8b540fd082f102d25e181b47bc4.txt
48
- - test/data/mt-daapd/b3e894b87111bdba88e4765967f4b45a.txt
49
- - test/data/mt-daapd/CVS
50
- - test/data/mt-daapd/d56b699830e77ba53855679cb1d252da.txt
51
- - test/data/mt-daapd/e61ce3062cb76770658896b778ad06cd.txt
52
- - test/data/mt-daapd/e9a8e709c2116651157182f130207048.txt
53
- - test/data/mt-daapd/f9073959a0afacebfab7e3bf19c2714a.txt
54
- - test/data/mt-daapd/CVS/Entries
55
- - test/data/mt-daapd/CVS/Repository
56
- - test/data/mt-daapd/CVS/Root
57
- - lib/CVS
43
+ - test/data/song_data.txt
44
+ - test/data/song_structure.txt
45
+ - test/data/mt-daapd/02dd88de4b3a69c74bcc56c1acca9ae5.txt
46
+ - test/data/mt-daapd/0de583b288d8ae30f89acb26d4c8535b.txt
47
+ - test/data/mt-daapd/4146ec82a0f0a638db9293a0c2039e6b.txt
48
+ - test/data/mt-daapd/51a2a6f2a53743bec7e79fe0d074dd28.txt
49
+ - test/data/mt-daapd/6069971903eef3c8c71ec2c7b395bfeb.txt
50
+ - test/data/mt-daapd/7102a16e834342b8264f1fb5226690e5.txt
51
+ - test/data/mt-daapd/9d29fb31969da7757fa2f4baa3a52fe9.txt
52
+ - test/data/mt-daapd/a52dd33cc99471cc156528c06b22e709.txt
53
+ - test/data/mt-daapd/a600829e59b3d719b32f25323a2719b0.txt
54
+ - test/data/mt-daapd/e2552df8d742fe31d6cc6e1e41e496b3.txt
55
+ - test/data/mt-daapd/fc631aa54b83344df9ccf1fbaa7684b0.txt
58
56
  - lib/net
59
- - lib/CVS/Entries
60
- - lib/CVS/Repository
61
- - lib/CVS/Root
62
- - lib/net/CVS
63
57
  - lib/net/daap
64
58
  - lib/net/daap.rb
65
- - lib/net/CVS/Entries
66
- - lib/net/CVS/Repository
67
- - lib/net/CVS/Root
68
- - lib/net/daap/CVS
59
+ - lib/net/daap/album.rb
60
+ - lib/net/daap/artist.rb
61
+ - lib/net/daap/daap_version.rb
69
62
  - lib/net/daap/database.rb
70
63
  - lib/net/daap/dmap.rb
71
64
  - lib/net/daap/playlist.rb
72
65
  - lib/net/daap/song.rb
73
- - lib/net/daap/CVS/Entries
74
- - lib/net/daap/CVS/Repository
75
- - lib/net/daap/CVS/Root
76
- - doc/classes
77
- - doc/created.rid
78
- - doc/files
79
- - doc/fr_class_index.html
80
- - doc/fr_file_index.html
81
- - doc/fr_method_index.html
82
- - doc/index.html
83
- - doc/rdoc-style.css
84
- - doc/classes/Net
85
- - doc/classes/Net.html
86
- - doc/classes/Net/DAAP
87
- - doc/classes/Net/DAAP.html
88
- - doc/classes/Net/DAAP/Client.html
89
- - doc/classes/Net/DAAP/Client.src
90
- - doc/classes/Net/DAAP/DAAPv2.html
91
- - doc/classes/Net/DAAP/DAAPv2.src
92
- - doc/classes/Net/DAAP/DAAPv3.html
93
- - doc/classes/Net/DAAP/DAAPv3.src
94
- - doc/classes/Net/DAAP/Database.html
95
- - doc/classes/Net/DAAP/Database.src
96
- - doc/classes/Net/DAAP/DMAP.html
97
- - doc/classes/Net/DAAP/DMAP.src
98
- - doc/classes/Net/DAAP/Playlist.html
99
- - doc/classes/Net/DAAP/Playlist.src
100
- - doc/classes/Net/DAAP/Song.html
101
- - doc/classes/Net/DAAP/Song.src
102
- - doc/classes/Net/DAAP/Client.src/M000003.html
103
- - doc/classes/Net/DAAP/Client.src/M000004.html
104
- - doc/classes/Net/DAAP/Client.src/M000005.html
105
- - doc/classes/Net/DAAP/Client.src/M000006.html
106
- - doc/classes/Net/DAAP/Client.src/M000007.html
107
- - doc/classes/Net/DAAP/Client.src/M000008.html
108
- - doc/classes/Net/DAAP/Client.src/M000009.html
109
- - doc/classes/Net/DAAP/DAAPv2.src/M000016.html
110
- - doc/classes/Net/DAAP/DAAPv2.src/M000017.html
111
- - doc/classes/Net/DAAP/DAAPv3.src/M000018.html
112
- - doc/classes/Net/DAAP/DAAPv3.src/M000019.html
113
- - doc/classes/Net/DAAP/Database.src/M000010.html
114
- - doc/classes/Net/DAAP/Database.src/M000011.html
115
- - doc/classes/Net/DAAP/Database.src/M000012.html
116
- - doc/classes/Net/DAAP/DMAP.src/M000013.html
117
- - doc/classes/Net/DAAP/DMAP.src/M000014.html
118
- - doc/classes/Net/DAAP/DMAP.src/M000015.html
119
- - doc/classes/Net/DAAP/Playlist.src/M000001.html
120
- - doc/classes/Net/DAAP/Playlist.src/M000002.html
121
- - doc/classes/Net/DAAP/Song.src/M000020.html
122
- - doc/classes/Net/DAAP/Song.src/M000021.html
123
- - doc/files/CHANGELOG.html
124
- - doc/files/lib
125
- - doc/files/LICENSE.html
126
- - doc/files/README.html
127
- - doc/files/lib/net
128
- - doc/files/lib/net/daap
129
- - doc/files/lib/net/daap_rb.html
130
- - doc/files/lib/net/daap/database_rb.html
131
- - doc/files/lib/net/daap/dmap_rb.html
132
- - doc/files/lib/net/daap/playlist_rb.html
133
- - doc/files/lib/net/daap/song_rb.html
134
66
  - README
67
+ - LICENSE
68
+ - CHANGELOG
69
+ - EXAMPLES
70
+ - NOTES
135
71
  test_files:
136
72
  - test/ts_daap.rb
137
- rdoc_options: []
73
+ rdoc_options:
74
+ - "--main"
75
+ - README
76
+ - "--title"
77
+ - "'Net::DAAP::Client RDoc'"
138
78
  extra_rdoc_files:
139
79
  - README
80
+ - LICENSE
81
+ - CHANGELOG
82
+ - EXAMPLES
83
+ - NOTES
140
84
  executables: []
141
85
  extensions: []
142
86
  requirements: []
data/doc/classes/Net.html DELETED
@@ -1,127 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Net</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">Net</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/lib/net/daap/database_rb.html">
59
- lib/net/daap/database.rb
60
- </a>
61
- <br />
62
- <a href="../files/lib/net/daap/dmap_rb.html">
63
- lib/net/daap/dmap.rb
64
- </a>
65
- <br />
66
- <a href="../files/lib/net/daap/playlist_rb.html">
67
- lib/net/daap/playlist.rb
68
- </a>
69
- <br />
70
- <a href="../files/lib/net/daap/song_rb.html">
71
- lib/net/daap/song.rb
72
- </a>
73
- <br />
74
- <a href="../files/lib/net/daap_rb.html">
75
- lib/net/daap.rb
76
- </a>
77
- <br />
78
- </td>
79
- </tr>
80
-
81
- </table>
82
- </div>
83
- <!-- banner header -->
84
-
85
- <div id="bodyContent">
86
-
87
-
88
-
89
- <div id="contextContent">
90
-
91
-
92
-
93
- </div>
94
-
95
-
96
- </div>
97
-
98
-
99
- <!-- if includes -->
100
-
101
- <div id="section">
102
-
103
- <div id="class-list">
104
- <h3 class="section-bar">Classes and Modules</h3>
105
-
106
- Module <a href="Net/DAAP.html" class="link">Net::DAAP</a><br />
107
-
108
- </div>
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
- <!-- if method_list -->
117
-
118
-
119
- </div>
120
-
121
-
122
- <div id="validator-badges">
123
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
124
- </div>
125
-
126
- </body>
127
- </html>
@@ -1,168 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Net::DAAP</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">Net::DAAP</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/net/daap/database_rb.html">
59
- lib/net/daap/database.rb
60
- </a>
61
- <br />
62
- <a href="../../files/lib/net/daap/dmap_rb.html">
63
- lib/net/daap/dmap.rb
64
- </a>
65
- <br />
66
- <a href="../../files/lib/net/daap/playlist_rb.html">
67
- lib/net/daap/playlist.rb
68
- </a>
69
- <br />
70
- <a href="../../files/lib/net/daap/song_rb.html">
71
- lib/net/daap/song.rb
72
- </a>
73
- <br />
74
- <a href="../../files/lib/net/daap_rb.html">
75
- lib/net/daap.rb
76
- </a>
77
- <br />
78
- </td>
79
- </tr>
80
-
81
- </table>
82
- </div>
83
- <!-- banner header -->
84
-
85
- <div id="bodyContent">
86
-
87
-
88
-
89
- <div id="contextContent">
90
-
91
- <div id="description">
92
- <h1>Synopsis</h1>
93
- <p>
94
- The <a href="DAAP.html">DAAP</a> library is used for browsing an iTunes
95
- share. Make sure that Digest::M4P is installed before using this library.
96
- </p>
97
- <h2>Example</h2>
98
- <pre>
99
- require 'rubygems'
100
- require 'net/daap'
101
-
102
- daap = Net::DAAP::Client.new('localhost')
103
- daap.connect do |dsn|
104
-
105
- daap.databases do |db|
106
- puts &quot;All songs in the database&quot;
107
- db.songs do |song|
108
- puts &quot;#{song.artist} - #{song.name}&quot;
109
- end
110
-
111
- puts &quot;Songs for each playlist&quot;
112
- db.playlists do |pl|
113
- puts &quot;Playlist name: #{pl.name}&quot;
114
- pl.songs do |song|
115
- puts &quot;#{song.artist} - #{song.name}&quot;
116
- File::open(&quot;dl/#{song.artist} - #{song.name}.#{song.format}&quot;, &quot;w&quot;) do |f|
117
- f &lt;&lt; song.get
118
- end
119
- end
120
- end
121
- end
122
- end
123
- </pre>
124
-
125
- </div>
126
-
127
-
128
- </div>
129
-
130
-
131
- </div>
132
-
133
-
134
- <!-- if includes -->
135
-
136
- <div id="section">
137
-
138
- <div id="class-list">
139
- <h3 class="section-bar">Classes and Modules</h3>
140
-
141
- Class <a href="DAAP/Client.html" class="link">Net::DAAP::Client</a><br />
142
- Class <a href="DAAP/DAAPv2.html" class="link">Net::DAAP::DAAPv2</a><br />
143
- Class <a href="DAAP/DAAPv3.html" class="link">Net::DAAP::DAAPv3</a><br />
144
- Class <a href="DAAP/DMAP.html" class="link">Net::DAAP::DMAP</a><br />
145
- Class <a href="DAAP/Database.html" class="link">Net::DAAP::Database</a><br />
146
- Class <a href="DAAP/Playlist.html" class="link">Net::DAAP::Playlist</a><br />
147
- Class <a href="DAAP/Song.html" class="link">Net::DAAP::Song</a><br />
148
-
149
- </div>
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
- <!-- if method_list -->
158
-
159
-
160
- </div>
161
-
162
-
163
- <div id="validator-badges">
164
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
165
- </div>
166
-
167
- </body>
168
- </html>