sports_db 0.0.6 → 0.0.7
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/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