automatic 13.6.0 → 13.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +0 -1
- data/VERSION +1 -1
- data/automatic.gemspec +9 -10
- data/bin/automatic +2 -2
- data/doc/ChangeLog +10 -0
- data/doc/PLUGINS +41 -18
- data/doc/PLUGINS.ja +43 -19
- data/lib/automatic.rb +2 -2
- data/lib/automatic/feed_parser.rb +15 -1
- data/plugins/provide/fluentd.rb +37 -0
- data/plugins/subscription/g_guide.rb +11 -4
- data/plugins/subscription/link.rb +0 -1
- data/plugins/subscription/xml.rb +50 -0
- data/spec/lib/automatic_spec.rb +2 -2
- data/spec/plugins/provide/fluentd_spec.rb +48 -0
- data/spec/plugins/publish/fluentd_spec.rb +2 -2
- data/spec/plugins/subscription/g_guide_spec.rb +9 -3
- data/spec/plugins/subscription/xml_spec.rb +84 -0
- data/test/integration/test_add_pocket.yml +1 -0
- data/test/integration/test_fluentd.yml +3 -2
- data/test/integration/test_instapaper.yml +1 -0
- data/test/integration/test_one.yml +1 -0
- data/test/integration/test_pocket.yml +2 -0
- data/test/integration/test_rand.yml +1 -0
- data/test/integration/test_sanitize.yml +1 -0
- data/test/integration/test_text2feed.yml +1 -0
- data/test/integration/test_twitter_search.yml +1 -0
- data/test/integration/test_weather.yml +1 -0
- data/test/integration/test_xml2fluentd.yml +21 -0
- metadata +42 -98
- data/plugins/subscription/google_reader_star.rb +0 -66
- data/spec/plugins/subscription/google_reader_star_spec.rb +0 -74
- data/test/integration/test_googlestar.yml +0 -32
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 099ebe9f608899e3318f8293889007967d9c4d72
|
4
|
+
data.tar.gz: 88c76fd97d4d934d0dfab965a0cda255b841d5eb
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 58984aa3a163a1fecd59d800bc3cd7602b9fc0c24cdc80a2a247ff1738bc1f3ba369fa2aeda337ce2abbbba0e0ebdd2c8dd85b62819acfafea463ba8e0d84014
|
7
|
+
data.tar.gz: 0f87f0567276ccc1fbe5faf712be010ce826d87a3bd266d7e0327fc9c64f968fa32fd7b350a48c22fafd2b0433705c2b4bb499c510f82becd24dd7ecdb29ebf1
|
data/Gemfile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
13.
|
1
|
+
13.7.0
|
data/automatic.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "automatic"
|
8
|
-
s.version = "13.
|
8
|
+
s.version = "13.7.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["id774"]
|
12
|
-
s.date = "2013-
|
12
|
+
s.date = "2013-07-27"
|
13
13
|
s.description = "Ruby General Automation Framework"
|
14
14
|
s.email = "idnanashi@gmail.com"
|
15
15
|
s.executables = ["automatic"]
|
@@ -54,6 +54,7 @@ Gem::Specification.new do |s|
|
|
54
54
|
"plugins/filter/sort.rb",
|
55
55
|
"plugins/filter/tumblr_resize.rb",
|
56
56
|
"plugins/notify/ikachan.rb",
|
57
|
+
"plugins/provide/fluentd.rb",
|
57
58
|
"plugins/publish/console.rb",
|
58
59
|
"plugins/publish/console_link.rb",
|
59
60
|
"plugins/publish/eject.rb",
|
@@ -72,7 +73,6 @@ Gem::Specification.new do |s|
|
|
72
73
|
"plugins/subscription/chan_toru.rb",
|
73
74
|
"plugins/subscription/feed.rb",
|
74
75
|
"plugins/subscription/g_guide.rb",
|
75
|
-
"plugins/subscription/google_reader_star.rb",
|
76
76
|
"plugins/subscription/link.rb",
|
77
77
|
"plugins/subscription/pocket.rb",
|
78
78
|
"plugins/subscription/text.rb",
|
@@ -80,6 +80,7 @@ Gem::Specification.new do |s|
|
|
80
80
|
"plugins/subscription/twitter.rb",
|
81
81
|
"plugins/subscription/twitter_search.rb",
|
82
82
|
"plugins/subscription/weather.rb",
|
83
|
+
"plugins/subscription/xml.rb",
|
83
84
|
"script/build",
|
84
85
|
"spec/fixtures/sampleRecipe.yml",
|
85
86
|
"spec/lib/automatic/log_spec.rb",
|
@@ -100,6 +101,7 @@ Gem::Specification.new do |s|
|
|
100
101
|
"spec/plugins/filter/sort_spec.rb",
|
101
102
|
"spec/plugins/filter/tumblr_resize_spec.rb",
|
102
103
|
"spec/plugins/notify/ikachan_spec.rb",
|
104
|
+
"spec/plugins/provide/fluentd_spec.rb",
|
103
105
|
"spec/plugins/publish/console_spec.rb",
|
104
106
|
"spec/plugins/publish/eject_spec.rb",
|
105
107
|
"spec/plugins/publish/fluentd_spec.rb",
|
@@ -116,7 +118,6 @@ Gem::Specification.new do |s|
|
|
116
118
|
"spec/plugins/subscription/chan_toru_spec.rb",
|
117
119
|
"spec/plugins/subscription/feed_spec.rb",
|
118
120
|
"spec/plugins/subscription/g_guide_spec.rb",
|
119
|
-
"spec/plugins/subscription/google_reader_star_spec.rb",
|
120
121
|
"spec/plugins/subscription/link_spec.rb",
|
121
122
|
"spec/plugins/subscription/pocket_spec.rb",
|
122
123
|
"spec/plugins/subscription/text_spec.rb",
|
@@ -124,6 +125,7 @@ Gem::Specification.new do |s|
|
|
124
125
|
"spec/plugins/subscription/twitter_search_spec.rb",
|
125
126
|
"spec/plugins/subscription/twitter_spec.rb",
|
126
127
|
"spec/plugins/subscription/weather_spec.rb",
|
128
|
+
"spec/plugins/subscription/xml_spec.rb",
|
127
129
|
"spec/spec_helper.rb",
|
128
130
|
"spec/user_dir/plugins/store/mock.rb",
|
129
131
|
"test/fixtures/sampleOPML.xml",
|
@@ -134,7 +136,6 @@ Gem::Specification.new do |s|
|
|
134
136
|
"test/integration/test_fluentd.yml",
|
135
137
|
"test/integration/test_fulltext.yml",
|
136
138
|
"test/integration/test_googlealert.yml",
|
137
|
-
"test/integration/test_googlestar.yml",
|
138
139
|
"test/integration/test_hatenabookmark.yml",
|
139
140
|
"test/integration/test_ignore.yml",
|
140
141
|
"test/integration/test_ignore2.yml",
|
@@ -151,23 +152,23 @@ Gem::Specification.new do |s|
|
|
151
152
|
"test/integration/test_tumblr2local.yml",
|
152
153
|
"test/integration/test_twitter_search.yml",
|
153
154
|
"test/integration/test_weather.yml",
|
155
|
+
"test/integration/test_xml2fluentd.yml",
|
154
156
|
"vendor/.gitkeep"
|
155
157
|
]
|
156
158
|
s.homepage = "http://github.com/automaticruby/automaticruby"
|
157
159
|
s.licenses = ["GPL"]
|
158
160
|
s.require_paths = ["lib"]
|
159
|
-
s.rubygems_version = "
|
161
|
+
s.rubygems_version = "2.0.5"
|
160
162
|
s.summary = "Automatic Ruby"
|
161
163
|
|
162
164
|
if s.respond_to? :specification_version then
|
163
|
-
s.specification_version =
|
165
|
+
s.specification_version = 4
|
164
166
|
|
165
167
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
166
168
|
s.add_runtime_dependency(%q<json>, ["~> 1.7.7"])
|
167
169
|
s.add_runtime_dependency(%q<sqlite3>, [">= 0"])
|
168
170
|
s.add_runtime_dependency(%q<activesupport>, ["~> 4.0.0"])
|
169
171
|
s.add_runtime_dependency(%q<activerecord>, ["~> 4.0.0"])
|
170
|
-
s.add_runtime_dependency(%q<actionmailer>, ["~> 4.0.0"])
|
171
172
|
s.add_runtime_dependency(%q<hashie>, [">= 0"])
|
172
173
|
s.add_runtime_dependency(%q<gcalapi>, [">= 0"])
|
173
174
|
s.add_runtime_dependency(%q<xml-simple>, [">= 0"])
|
@@ -189,7 +190,6 @@ Gem::Specification.new do |s|
|
|
189
190
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
190
191
|
s.add_dependency(%q<activesupport>, ["~> 4.0.0"])
|
191
192
|
s.add_dependency(%q<activerecord>, ["~> 4.0.0"])
|
192
|
-
s.add_dependency(%q<actionmailer>, ["~> 4.0.0"])
|
193
193
|
s.add_dependency(%q<hashie>, [">= 0"])
|
194
194
|
s.add_dependency(%q<gcalapi>, [">= 0"])
|
195
195
|
s.add_dependency(%q<xml-simple>, [">= 0"])
|
@@ -212,7 +212,6 @@ Gem::Specification.new do |s|
|
|
212
212
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
213
213
|
s.add_dependency(%q<activesupport>, ["~> 4.0.0"])
|
214
214
|
s.add_dependency(%q<activerecord>, ["~> 4.0.0"])
|
215
|
-
s.add_dependency(%q<actionmailer>, ["~> 4.0.0"])
|
216
215
|
s.add_dependency(%q<hashie>, [">= 0"])
|
217
216
|
s.add_dependency(%q<gcalapi>, [">= 0"])
|
218
217
|
s.add_dependency(%q<xml-simple>, [">= 0"])
|
data/bin/automatic
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
# Name:: Automatic::Ruby
|
4
4
|
# Author:: 774 <http://id774.net>
|
5
5
|
# Created:: Feb 18, 2012
|
6
|
-
# Updated::
|
7
|
-
# Copyright::
|
6
|
+
# Updated:: Jul 19, 2013
|
7
|
+
# Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
|
8
8
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
9
9
|
|
10
10
|
root_dir = File.expand_path("..", File.dirname(__FILE__))
|
data/doc/ChangeLog
CHANGED
data/doc/PLUGINS
CHANGED
@@ -38,42 +38,43 @@ SubscriptionLink
|
|
38
38
|
retry: RETRY_COUNT
|
39
39
|
|
40
40
|
|
41
|
-
|
42
|
-
|
41
|
+
SubscriptionXml
|
42
|
+
---------------
|
43
43
|
[Path]
|
44
|
-
/plugins/subscription/
|
44
|
+
/plugins/subscription/xml.rb
|
45
45
|
|
46
46
|
[Abstract]
|
47
|
-
Subscribe
|
48
|
-
|
47
|
+
Subscribe XML API with GET method.
|
48
|
+
This plug-in store encoded XML in content_encoded of RSS feed.
|
49
49
|
|
50
50
|
[Syntax]
|
51
|
-
- module:
|
51
|
+
- module: SubscriptionXml
|
52
52
|
config:
|
53
53
|
urls:
|
54
54
|
- URL
|
55
|
-
- URL ...
|
56
|
-
pages: PAGES
|
55
|
+
- URL ... (XML base API)
|
57
56
|
interval: INTERVAL_FOR_SCRAPING (in seconds.)
|
58
57
|
retry: RETRY_COUNT
|
59
58
|
|
60
59
|
|
61
|
-
|
62
|
-
|
60
|
+
SubscriptionTumblr
|
61
|
+
------------------
|
63
62
|
[Path]
|
64
|
-
/plugins/subscription/
|
63
|
+
/plugins/subscription/tumblr.rb
|
65
64
|
|
66
65
|
[Abstract]
|
67
|
-
Subscribe
|
66
|
+
Subscribe tumblr and extract the links.
|
67
|
+
If pages specified, including past pages.
|
68
68
|
|
69
69
|
[Syntax]
|
70
|
-
- module:
|
70
|
+
- module: SubscriptionTumblr
|
71
71
|
config:
|
72
|
-
|
73
|
-
-
|
74
|
-
-
|
72
|
+
urls:
|
73
|
+
- URL
|
74
|
+
- URL ...
|
75
|
+
pages: PAGES
|
76
|
+
interval: INTERVAL_FOR_SCRAPING (in seconds.)
|
75
77
|
retry: RETRY_COUNT
|
76
|
-
interval: INTERVAL_FOR_RETRY (in seconds.)
|
77
78
|
|
78
79
|
|
79
80
|
SubscriptionTwitter
|
@@ -187,7 +188,7 @@ SubscriptionGGuide
|
|
187
188
|
[Syntax]
|
188
189
|
- module: SubscriptionGGuide
|
189
190
|
config:
|
190
|
-
keyword: 'anime' # search word
|
191
|
+
keyword: 'anime,shogi' # search word (',' dividing and coming out two or more search)
|
191
192
|
station: '地上波' # (It means terrestrial broadcasting in Japanese.)
|
192
193
|
interval: INTERVAL_FOR_SCRAPING (in seconds.)
|
193
194
|
retry: RETRY_COUNT
|
@@ -462,6 +463,28 @@ PublishFluentd
|
|
462
463
|
tag: TAGS (example: automatic.feed)
|
463
464
|
|
464
465
|
|
466
|
+
ProvideFluentd
|
467
|
+
--------------
|
468
|
+
[Path]
|
469
|
+
/plugins/provide/fluentd.rb
|
470
|
+
|
471
|
+
[Abstract]
|
472
|
+
This plugin output content_encoded to fluentd.
|
473
|
+
|
474
|
+
[Description]
|
475
|
+
Provide::Fluentd is different from Publish::Fluentd.
|
476
|
+
|
477
|
+
Publish::Fluentd -> Output feed to flulentd.
|
478
|
+
Provide::Fluentd -> Output content_encoded to fluentd.
|
479
|
+
|
480
|
+
[Syntax]
|
481
|
+
- module: ProvideFluentd
|
482
|
+
config:
|
483
|
+
host: HOSTNAME
|
484
|
+
port: PORT_NUMBER
|
485
|
+
tag: TAGS (example: automatic.feed)
|
486
|
+
|
487
|
+
|
465
488
|
PublishMemcached
|
466
489
|
----------------
|
467
490
|
[Path]
|
data/doc/PLUGINS.ja
CHANGED
@@ -38,42 +38,44 @@ SubscriptionLink
|
|
38
38
|
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
39
39
|
|
40
40
|
|
41
|
-
|
42
|
-
|
41
|
+
SubscriptionXml
|
42
|
+
---------------
|
43
43
|
[パス]
|
44
|
-
/plugins/subscription/
|
44
|
+
/plugins/subscription/xml.rb
|
45
45
|
|
46
46
|
[概要]
|
47
|
-
|
48
|
-
|
47
|
+
XML で提供された API を GET メソッドで購読する
|
48
|
+
このプラグインはエンコードされた XML を RSS フィードの
|
49
|
+
content_encoded に保存する
|
49
50
|
|
50
51
|
[レシピ記法]
|
51
|
-
- module:
|
52
|
+
- module: SubscriptionXml
|
52
53
|
config:
|
53
54
|
urls:
|
54
55
|
- URL
|
55
|
-
- URL ...
|
56
|
-
pages: PAGES
|
56
|
+
- URL ... (XML ベース API)
|
57
57
|
interval: スクレイピングの間隔 (秒数, 省略可)
|
58
58
|
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
59
59
|
|
60
60
|
|
61
|
-
|
62
|
-
|
61
|
+
SubscriptionTumblr
|
62
|
+
------------------
|
63
63
|
[パス]
|
64
|
-
/plugins/subscription/
|
64
|
+
/plugins/subscription/tumblr.rb
|
65
65
|
|
66
66
|
[概要]
|
67
|
-
|
67
|
+
Tumblr を購読し、リンクを抽出する
|
68
|
+
pages が指定された場合、過去のページも遡って購読する
|
68
69
|
|
69
70
|
[レシピ記法]
|
70
|
-
- module:
|
71
|
+
- module: SubscriptionTumblr
|
71
72
|
config:
|
72
|
-
|
73
|
-
-
|
74
|
-
-
|
73
|
+
urls:
|
74
|
+
- URL
|
75
|
+
- URL ...
|
76
|
+
pages: PAGES
|
77
|
+
interval: スクレイピングの間隔 (秒数, 省略可)
|
75
78
|
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
76
|
-
interval: エラー時のリトライ間隔 (秒数, 省略可)
|
77
79
|
|
78
80
|
|
79
81
|
SubscriptionTwitter
|
@@ -188,7 +190,7 @@ SubscriptionGGuide
|
|
188
190
|
[レシピ記法]
|
189
191
|
- module: SubscriptionGGuide
|
190
192
|
config:
|
191
|
-
keyword: '
|
193
|
+
keyword: 'アニメ,将棋' # 検索ワード(','区切りで複数検索)
|
192
194
|
station: '地上波' # 衛星放送の区域(現在は地上波のみ対応)
|
193
195
|
interval: スクレイピングの間隔 (秒数, 省略可)
|
194
196
|
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
@@ -206,7 +208,7 @@ SubscriptionChanToru
|
|
206
208
|
[レシピ記法]
|
207
209
|
- module: SubscriptionChanToru
|
208
210
|
config:
|
209
|
-
keyword: '
|
211
|
+
keyword: 'アニメ,将棋' # 検索ワード(','区切りで複数検索)
|
210
212
|
station: '地上波' # 衛星放送の区域(現在は地上波のみ対応)
|
211
213
|
interval: スクレイピングの間隔 (秒数, 省略可)
|
212
214
|
retry: エラー時のリトライ回数 (回数, 省略時 0)
|
@@ -463,6 +465,28 @@ PublishFluentd
|
|
463
465
|
tag: タグ (例 automatic.feed)
|
464
466
|
|
465
467
|
|
468
|
+
ProvideFluentd
|
469
|
+
--------------
|
470
|
+
[パス]
|
471
|
+
/plugins/provide/fluentd.rb
|
472
|
+
|
473
|
+
[概要]
|
474
|
+
fluentd に content_encoded の内容を出力する
|
475
|
+
|
476
|
+
[説明]
|
477
|
+
このプラグインは Publish::Fluentd とは異なる
|
478
|
+
|
479
|
+
Publish::Fluentd -> フィード全体を fluentd に出力
|
480
|
+
Provide::Fluentd -> content_encoded の内容を fluentd に出力
|
481
|
+
|
482
|
+
[レシピ記法]
|
483
|
+
- module: ProvideFluentd
|
484
|
+
config:
|
485
|
+
host: ホスト名
|
486
|
+
port: ポート番号
|
487
|
+
tag: タグ (例 automatic.feed)
|
488
|
+
|
489
|
+
|
466
490
|
PublishMemcached
|
467
491
|
----------------
|
468
492
|
[パス]
|
data/lib/automatic.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# Name:: Automatic::Ruby
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Feb 18, 2012
|
5
|
-
# Updated::
|
5
|
+
# Updated:: Jul 28, 2013
|
6
6
|
# Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
|
7
7
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
8
|
|
@@ -13,7 +13,7 @@ module Automatic
|
|
13
13
|
require 'automatic/log'
|
14
14
|
require 'automatic/feed_parser'
|
15
15
|
|
16
|
-
VERSION = "13.
|
16
|
+
VERSION = "13.7.0"
|
17
17
|
USER_DIR = "/.automatic"
|
18
18
|
|
19
19
|
class << self
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# Name:: Automatic::FeedParser
|
3
3
|
# Author:: 774 <http://id774.net>
|
4
4
|
# Created:: Feb 19, 2012
|
5
|
-
# Updated::
|
5
|
+
# Updated:: Jul 12, 2013
|
6
6
|
# Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
|
7
7
|
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
8
|
|
@@ -77,5 +77,19 @@ module Automatic
|
|
77
77
|
}
|
78
78
|
end
|
79
79
|
|
80
|
+
def self.content_provide(url, data)
|
81
|
+
RSS::Maker.make("2.0") {|maker|
|
82
|
+
xss = maker.xml_stylesheets.new_xml_stylesheet
|
83
|
+
maker.channel.title = "Automatic Ruby"
|
84
|
+
maker.channel.description = "Automatic Ruby"
|
85
|
+
maker.channel.link = "https://github.com/automaticruby/automaticruby"
|
86
|
+
maker.items.do_sort = true
|
87
|
+
item = maker.items.new_item
|
88
|
+
item.title = "Automatic Ruby"
|
89
|
+
item.link = url
|
90
|
+
item.content_encoded = data
|
91
|
+
item.date = Time.now
|
92
|
+
}
|
93
|
+
end
|
80
94
|
end
|
81
95
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Name:: Automatic::Plugin::Provide::Fluentd
|
3
|
+
# Author:: 774 <http://id774.net>
|
4
|
+
# Created:: Jul 12, 2013
|
5
|
+
# Updated:: Jul 12, 2013
|
6
|
+
# Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
|
7
|
+
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
8
|
+
|
9
|
+
module Automatic::Plugin
|
10
|
+
class ProvideFluentd
|
11
|
+
require 'fluent-logger'
|
12
|
+
require 'active_support'
|
13
|
+
|
14
|
+
def initialize(config, pipeline=[])
|
15
|
+
@config = config
|
16
|
+
@pipeline = pipeline
|
17
|
+
@fluentd = Fluent::Logger::FluentLogger.open(nil,
|
18
|
+
host = @config['host'],
|
19
|
+
port = @config['port'])
|
20
|
+
end
|
21
|
+
|
22
|
+
def run
|
23
|
+
@pipeline.each {|feeds|
|
24
|
+
unless feeds.nil?
|
25
|
+
feeds.items.each {|feed|
|
26
|
+
begin
|
27
|
+
@fluentd.post(@config['tag'], feed.content_encoded)
|
28
|
+
rescue
|
29
|
+
Automatic::Log.puts("error", "Fluent::Logger.post failed, the content_encoded of item may be not kind of Hash.")
|
30
|
+
end
|
31
|
+
}
|
32
|
+
end
|
33
|
+
}
|
34
|
+
@pipeline
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -13,12 +13,19 @@ module Automatic::Plugin
|
|
13
13
|
def initialize(config, pipeline=[])
|
14
14
|
@config = config
|
15
15
|
@pipeline = pipeline
|
16
|
+
unless @config['keyword'].nil? || @config['keyword'].index(',').nil?
|
17
|
+
@keywords = @config['keyword'].split(',')
|
18
|
+
else
|
19
|
+
@keywords = [@config['keyword']]
|
20
|
+
end
|
16
21
|
end
|
17
22
|
|
18
23
|
def run
|
19
24
|
retries = 0
|
20
25
|
begin
|
21
|
-
@
|
26
|
+
@keywords.each {|keyword|
|
27
|
+
@pipeline << Automatic::FeedParser.get(feed_url keyword)
|
28
|
+
}
|
22
29
|
rescue
|
23
30
|
retries += 1
|
24
31
|
Automatic::Log.puts("error", "ErrorCount: #{retries}, Fault in parsing: #{retries}")
|
@@ -28,10 +35,10 @@ module Automatic::Plugin
|
|
28
35
|
@pipeline
|
29
36
|
end
|
30
37
|
|
31
|
-
def feed_url
|
38
|
+
def feed_url keyword = nil
|
32
39
|
feed = G_GUIDE_RSS
|
33
|
-
unless
|
34
|
-
feed += "condition.keyword=#{
|
40
|
+
unless keyword.nil?
|
41
|
+
feed += "condition.keyword=#{keyword}&"
|
35
42
|
end
|
36
43
|
feed += station_param
|
37
44
|
URI.encode(feed)
|