vnews 0.4.1 → 0.4.2
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.
- 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
|