rubypodder 0.1.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ require 'rake/gempackagetask'
4
4
  spec = Gem::Specification.new do |s|
5
5
  s.platform = Gem::Platform::RUBY
6
6
  s.name = "rubypodder"
7
- s.version = "0.1.4"
7
+ s.version = "1.0.0"
8
8
  s.author = "Lex Miller"
9
9
  s.email = "lex.miller @nospam@ gmail.com"
10
10
  s.summary = "A podcast aggregator without an interface"
data/lib/rubypodder.rb CHANGED
@@ -17,7 +17,7 @@ end
17
17
 
18
18
  class RubyPodder
19
19
 
20
- Version = 'rubypodder v0.1.4'
20
+ Version = 'rubypodder v1.0.0'
21
21
 
22
22
  attr_reader :conf_file, :log_file, :done_file, :date_dir
23
23
 
@@ -90,6 +90,16 @@ class RubyPodder
90
90
  end
91
91
  end
92
92
 
93
+ def download_all(items)
94
+ items.each do |item|
95
+ begin
96
+ download(item.enclosure.url)
97
+ rescue
98
+ @log.warn(" No media to download for this item")
99
+ end
100
+ end
101
+ end
102
+
93
103
  def remove_dir_if_empty(dirname)
94
104
  begin
95
105
  Dir.rmdir(dirname)
@@ -116,9 +126,7 @@ class RubyPodder
116
126
  next
117
127
  end
118
128
  @log.info("Channel: #{rss.channel.title}")
119
- rss.items.each do |item|
120
- download(item.enclosure.url)
121
- end
129
+ download_all(rss.items)
122
130
  end
123
131
  remove_dir_if_empty(@date_dir)
124
132
  @log.info("Finished")
@@ -150,6 +150,26 @@ class TC_RubyPodder < Test::Unit::TestCase
150
150
  assert_equal("http://podcast.rickygervais.com/guspecials_halloween.mp3", rss.items[0].enclosure.url)
151
151
  end
152
152
 
153
+ def test_item_with_no_enclosure
154
+ rss_source = <<-END_OF_STRING
155
+ <?xml version="1.0" encoding="utf-8"?>
156
+ <rss>
157
+ <channel>
158
+ <title>The Ricky Gervais Show</title>
159
+ <item>
160
+ <title>The Podfather Part I - Halloween</title>
161
+ </item>
162
+ </channel>
163
+ </rss>
164
+ END_OF_STRING
165
+
166
+ # Code here to test that a run doesn't throw an exception if there is no enclosure.
167
+ # (Remove enclosure from the above test XML)
168
+ #
169
+ rss = @rp.parse_rss(rss_source)
170
+ assert_nothing_raised { @rp.download_all(rss.items) }
171
+ end
172
+
153
173
  def test_dest_file_name(url)
154
174
  correct_dest_file_name = @rp.date_dir + "/" + "podcast.mp3"
155
175
  dest_file_name = @rp.dest_file_name("http://www.podcast.com/podcast.mp3")
data/tests/tc_stdout.rb CHANGED
@@ -40,7 +40,7 @@ class TC_stdout < Test::Unit::TestCase
40
40
  end
41
41
 
42
42
  def test_version
43
- assert_equal "rubypodder v0.1.4\n", wrap { puts `ruby #{@bindir}/rubypodder --version` }
43
+ assert_equal "rubypodder v1.0.0\n", wrap { puts `ruby #{@bindir}/rubypodder --version` }
44
44
  assert exits_without_doing_anything { `ruby #{@bindir}/rubypodder --version` }, "--version doesn't exit immediately"
45
45
  end
46
46
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: rubypodder
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.4
7
- date: 2007-05-17 00:00:00 +09:00
6
+ version: 1.0.0
7
+ date: 2007-09-12 00:00:00 +09:00
8
8
  summary: A podcast aggregator without an interface
9
9
  require_paths:
10
10
  - lib