sports_db 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sports_db/twitter_builder.rb +25 -19
- data/lib/sports_db/version.rb +1 -1
- metadata +2 -2
@@ -2,16 +2,26 @@ module SportsDb
|
|
2
2
|
class TwitterBuilder
|
3
3
|
|
4
4
|
def self.update_twitter
|
5
|
+
new_tweets = []
|
6
|
+
|
5
7
|
config = SimpleConfig.for(:feeds)
|
6
8
|
config.twitter_feeds.each do |feed_title, url|
|
7
|
-
parse_feed(url, feed_title)
|
9
|
+
parse_feed(new_tweets, url, feed_title)
|
10
|
+
end
|
11
|
+
|
12
|
+
Twitter.transaction do
|
13
|
+
Twitter.delete_all()
|
14
|
+
new_tweets.each {|t| t.save}
|
15
|
+
p "Tweets saved: #{new_tweets.length}"
|
8
16
|
end
|
9
17
|
end
|
10
18
|
|
11
19
|
def self.update_ncaa_twitter
|
12
|
-
|
20
|
+
new_tweets = []
|
21
|
+
|
22
|
+
config = SimpleConfig.for(:feeds)
|
13
23
|
config.twitter_feeds.each do |feed_title, url|
|
14
|
-
parse_feed(url, feed_title)
|
24
|
+
parse_feed(new_tweets, url, feed_title)
|
15
25
|
end
|
16
26
|
|
17
27
|
ExternalFeed.find(:all, :conditions => ["content_type = ? and provider = ?", "twitter", "Sporting News"]).each do |feed_obj|
|
@@ -22,19 +32,24 @@ class TwitterBuilder
|
|
22
32
|
|
23
33
|
team_obj = Team.find(feed_obj.team_id)
|
24
34
|
feed_name = (team_obj.nil? ? "Unknown" : team_obj.city_name)
|
25
|
-
parse_feed(feed_url, feed_name, feed_obj.team_id)
|
26
|
-
end
|
35
|
+
parse_feed(new_tweets, feed_url, feed_name, feed_obj.team_id)
|
36
|
+
end
|
37
|
+
|
38
|
+
Twitter.transaction do
|
39
|
+
Twitter.delete_all()
|
40
|
+
new_tweets.each {|t| t.save}
|
41
|
+
p "Tweets saved: #{new_tweets.length}"
|
42
|
+
end
|
43
|
+
|
27
44
|
rescue Exception => e
|
28
45
|
Zumobi::ExceptionHandler.error e
|
29
46
|
end
|
30
47
|
|
31
48
|
|
32
|
-
def self.parse_feed(url, feed_title, team_id=nil)
|
49
|
+
def self.parse_feed(new_tweets, url, feed_title, team_id=nil)
|
33
50
|
require 'open-uri'
|
34
|
-
|
35
51
|
p "Twitter - #{feed_title} - #{url}"
|
36
|
-
|
37
|
-
|
52
|
+
|
38
53
|
begin
|
39
54
|
open(url) do |file|
|
40
55
|
doc = Nokogiri::XML(file.read)
|
@@ -77,16 +92,7 @@ class TwitterBuilder
|
|
77
92
|
p 'connection error'
|
78
93
|
rescue Errno::ECONNREFUSED
|
79
94
|
p 'connection error'
|
80
|
-
end
|
81
|
-
|
82
|
-
|
83
|
-
Twitter.transaction do
|
84
|
-
Twitter.delete_all()
|
85
|
-
new_tweets.each {|t| t.save}
|
86
|
-
|
87
|
-
p "Tweets saved: #{new_tweets.length}"
|
88
|
-
end
|
89
|
-
|
95
|
+
end
|
90
96
|
rescue Exception => e
|
91
97
|
Zumobi::ExceptionHandler.error e
|
92
98
|
end
|
data/lib/sports_db/version.rb
CHANGED