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 +10 -21
- data/lib/vnews/feed.rb +1 -0
- data/lib/vnews/folder.rb +6 -16
- data/lib/vnews/version.rb +1 -1
- metadata +2 -2
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
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
104
|
-
|
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
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
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: vnews
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.4.
|
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-
|
13
|
+
date: 2011-03-16 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|