vnews 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/vnews/config.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'vnews/sql'
2
2
  require 'yaml'
3
- require 'thread_pool'
4
3
  require 'vnews/constants'
5
4
  require 'timeout'
6
5
 
@@ -87,29 +86,19 @@ class Vnews
87
86
 
88
87
  puts "Adding feeds: #{(new_feeds - old_feeds).inspect}"
89
88
  puts "Adding folder-feed associations: #{(ff - old_ff).inspect}"
90
- feeds2 = []
91
- pool = ThreadPool.new Vnews::POOLSIZE
92
- puts "Using thread pool size of 10"
93
- # TODO sometimes feeds are downloaded twice;
94
89
  ff.each do |feed_url, folder|
95
- pool.process do
96
- begin
97
- Timeout::timeout(Vnews::TIMEOUT) do
98
- feeds2 << Vnews::Feed.fetch_feed(feed_url, folder)
90
+ begin
91
+ Timeout::timeout(Vnews::TIMEOUT) do
92
+ feed_url, f, folder = *Vnews::Feed.fetch_feed(feed_url, folder)
93
+ folder ||= "Misc"
94
+ if f.nil?
95
+ $stderr.print "\nNo feed found for #{feed_url}\n"
96
+ else
97
+ Vnews::Feed.save_feed(feed_url, f, folder)
99
98
  end
100
- rescue Timeout::Error
101
- puts "TIMEOUT ERROR: #{feed_url}"
102
99
  end
103
- end
104
- end
105
- pool.join
106
- feeds2.each do |x|
107
- feed_url, f, folder = *x
108
- folder ||= "Misc"
109
- if f.nil?
110
- $stderr.print "\nNo feed found for #{feed_url}\n"
111
- else
112
- Vnews::Feed.save_feed(feed_url, f, folder)
100
+ rescue Timeout::Error
101
+ puts "TIMEOUT ERROR: #{feed_url}"
113
102
  end
114
103
  end
115
104
  $stderr.puts "\nDone."
data/lib/vnews/feed.rb CHANGED
@@ -48,6 +48,7 @@ class Vnews
48
48
  Vnews.sql_client.insert_item item.merge(:feed => feed_url, :feed_title => f[:meta][:title])
49
49
  $stderr.print "."
50
50
  end
51
+ print "\n"
51
52
  rescue
52
53
  puts "ERROR: dump: #{feed_url.inspect}, #{folder.inspect}: #{f.inspect} "
53
54
  raise
data/lib/vnews/folder.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'vnews/feed'
2
- require 'thread_pool'
3
2
  require 'vnews/constants'
4
3
 
5
4
  class Vnews
@@ -12,25 +11,16 @@ class Vnews
12
11
  require 'vnews/display'
13
12
  folder = Vnews::Display.strip_item_count(folder)
14
13
  puts "Updating folder: #{folder.inspect}"
15
- feeds = []
16
- pool = ThreadPool.new Vnews::POOLSIZE
17
- puts "Using thread pool size of #{Vnews::POOLSIZE}"
18
14
  Vnews.sql_client.feeds_in_folder(folder.strip).each do |feed|
19
- pool.process do
20
- begin
21
- Timeout::timeout(Vnews::TIMEOUT) do
22
- feeds << Vnews::Feed.fetch_feed(feed, folder)
23
- end
24
- rescue Timeout::Error
25
- puts "TIMEOUT ERROR: #{feed_url}"
15
+ begin
16
+ Timeout::timeout(Vnews::TIMEOUT) do
17
+ feed_url, f, folder = *Vnews::Feed.fetch_feed(feed, folder)
18
+ Vnews::Feed.save_feed feed_url, f, folder
26
19
  end
20
+ rescue Timeout::Error
21
+ puts "TIMEOUT ERROR: #{feed_url}"
27
22
  end
28
23
  end
29
- pool.join
30
- puts "Saving data to database"
31
- feeds.select {|x| x[1]}.compact.each do |feed_url, f, folder|
32
- Vnews::Feed.save_feed feed_url, f, folder
33
- end
34
24
  puts "\nDone"
35
25
  end
36
26
  end
data/lib/vnews/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  class Vnews
2
- VERSION = '0.4.1'
2
+ VERSION = '0.4.2'
3
3
  end
4
4
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: vnews
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.4.1
5
+ version: 0.4.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Daniel Choi
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-08 00:00:00 -05:00
13
+ date: 2011-03-16 00:00:00 -04:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency