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
@@ -1,66 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# Name:: Automatic::Plugin::Subscription::GoogleReaderStar
|
3
|
-
# Author:: soramugi <http://soramugi.net>
|
4
|
-
# 774 <http://id774.net>
|
5
|
-
# Created:: Feb 10, 2013
|
6
|
-
# Updated:: Jun 28, 2013
|
7
|
-
# Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
|
8
|
-
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
9
|
-
|
10
|
-
module Automatic::Plugin
|
11
|
-
class SubscriptionGoogleReaderStar
|
12
|
-
require 'open-uri'
|
13
|
-
require 'nokogiri'
|
14
|
-
require 'rss'
|
15
|
-
|
16
|
-
def initialize(config, pipeline=[])
|
17
|
-
@config = config
|
18
|
-
@pipeline = pipeline
|
19
|
-
end
|
20
|
-
|
21
|
-
def run
|
22
|
-
@return_feeds = []
|
23
|
-
@config['feeds'].each {|feed|
|
24
|
-
retries = 0
|
25
|
-
begin
|
26
|
-
Automatic::Log.puts("info", "Parsing: #{feed}")
|
27
|
-
@return_feeds << self.parse(Automatic::FeedParser.get(feed).items)
|
28
|
-
rescue
|
29
|
-
retries += 1
|
30
|
-
Automatic::Log.puts("error", "ErrorCount: #{retries}, Fault in parsing: #{feed}")
|
31
|
-
sleep @config['interval'].to_i unless @config['interval'].nil?
|
32
|
-
retry if retries <= @config['retry'].to_i unless @config['retry'].nil?
|
33
|
-
end
|
34
|
-
}
|
35
|
-
@return_feeds
|
36
|
-
end
|
37
|
-
|
38
|
-
def parse(feeds = [])
|
39
|
-
RSS::Maker.make("2.0") {|maker|
|
40
|
-
maker.xml_stylesheets.new_xml_stylesheet
|
41
|
-
maker.channel.title = "Automatic Ruby"
|
42
|
-
maker.channel.description = "Automatic Ruby"
|
43
|
-
maker.channel.link = "https://github.com/automaticruby/automaticruby"
|
44
|
-
maker.items.do_sort = true
|
45
|
-
|
46
|
-
unless feeds.nil?
|
47
|
-
feeds.each {|feed|
|
48
|
-
unless feed.link.href.nil?
|
49
|
-
Automatic::Log.puts("info", "Feed: #{feed.link.href}")
|
50
|
-
item = maker.items.new_item
|
51
|
-
item.title = feed.title.content # google reader feed
|
52
|
-
item.link = feed.link.href # google reader feed
|
53
|
-
begin
|
54
|
-
item.description = feed.content
|
55
|
-
item.date = feed.dc_date || Time.now
|
56
|
-
rescue NoMethodError
|
57
|
-
Automatic::Log.puts("warn", "Undefined field detected in feed.")
|
58
|
-
end
|
59
|
-
end
|
60
|
-
}
|
61
|
-
end
|
62
|
-
}
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
66
|
-
end
|
@@ -1,74 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# Name:: Automatic::Plugin::Subscription::GoogleReaderStar
|
3
|
-
# Author:: soramugi <http://soramugi.net>
|
4
|
-
# 774 <http://id774.net>
|
5
|
-
# Created:: Feb 10, 2013
|
6
|
-
# Updated:: Feb 17, 2013
|
7
|
-
# Copyright:: Copyright (c) 2012-2013 Automatic Ruby Developers.
|
8
|
-
# License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
|
9
|
-
|
10
|
-
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
11
|
-
|
12
|
-
require 'subscription/google_reader_star'
|
13
|
-
|
14
|
-
describe Automatic::Plugin::SubscriptionGoogleReaderStar do
|
15
|
-
context "with empty feeds" do
|
16
|
-
subject {
|
17
|
-
Automatic::Plugin::SubscriptionGoogleReaderStar.new(
|
18
|
-
{ 'feeds' => [] }
|
19
|
-
)
|
20
|
-
}
|
21
|
-
|
22
|
-
its(:run) { should be_empty }
|
23
|
-
end
|
24
|
-
|
25
|
-
context "with feeds whose invalid URL" do
|
26
|
-
subject {
|
27
|
-
Automatic::Plugin::SubscriptionGoogleReaderStar.new(
|
28
|
-
{ 'feeds' => ["invalid_url"] }
|
29
|
-
)
|
30
|
-
}
|
31
|
-
|
32
|
-
its(:run) { should be_empty }
|
33
|
-
end
|
34
|
-
|
35
|
-
context "with feeds whose valid URL" do
|
36
|
-
subject {
|
37
|
-
Automatic::Plugin::SubscriptionGoogleReaderStar.new(
|
38
|
-
{ 'feeds' => [
|
39
|
-
"http://www.google.com/reader/public/atom/user%2F00482198897189159802%2Fstate%2Fcom.google%2Fstarred"]
|
40
|
-
}
|
41
|
-
)
|
42
|
-
}
|
43
|
-
|
44
|
-
its(:run) { should have(1).feed }
|
45
|
-
end
|
46
|
-
|
47
|
-
context "with retry to feeds whose valid URL" do
|
48
|
-
subject {
|
49
|
-
Automatic::Plugin::SubscriptionGoogleReaderStar.new(
|
50
|
-
{ 'feeds' => [
|
51
|
-
"http://www.google.com/reader/public/atom/user%2F00482198897189159802%2Fstate%2Fcom.google%2Fstarred"],
|
52
|
-
'retry' => 3,
|
53
|
-
'interval' => 5
|
54
|
-
}
|
55
|
-
)
|
56
|
-
}
|
57
|
-
|
58
|
-
its(:run) { should have(1).feed }
|
59
|
-
end
|
60
|
-
|
61
|
-
context "with retry to feeds whose invalid URL" do
|
62
|
-
subject {
|
63
|
-
Automatic::Plugin::SubscriptionGoogleReaderStar.new(
|
64
|
-
{ 'feeds' => ["invalid_url"],
|
65
|
-
'retry' => 1,
|
66
|
-
'interval' => 1
|
67
|
-
}
|
68
|
-
)
|
69
|
-
}
|
70
|
-
|
71
|
-
its(:run) { should be_empty }
|
72
|
-
end
|
73
|
-
|
74
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
global:
|
2
|
-
timezone: Asia/Tokyo
|
3
|
-
cache:
|
4
|
-
base: /tmp
|
5
|
-
log:
|
6
|
-
level: info
|
7
|
-
|
8
|
-
plugins:
|
9
|
-
- module: SubscriptionGoogleReaderStar
|
10
|
-
config:
|
11
|
-
feeds:
|
12
|
-
- http://www.google.com/reader/public/atom/user%2F00482198897189159802%2Fstate%2Fcom.google%2Fstarred
|
13
|
-
|
14
|
-
- module: SubscriptionGoogleReaderStar
|
15
|
-
config:
|
16
|
-
feeds:
|
17
|
-
- http://www.google.com/reader/public/atom/user%2F00482198897189159802%2Fstate%2Fcom.google%2Fstarred
|
18
|
-
internal: 1
|
19
|
-
|
20
|
-
- module: SubscriptionGoogleReaderStar
|
21
|
-
config:
|
22
|
-
feeds:
|
23
|
-
- http://www.google.com/reader/public/atom/user%2F00482198897189159802%2Fstate%2Fcom.google%2Fstarred
|
24
|
-
internal: 5
|
25
|
-
retry: 5
|
26
|
-
|
27
|
-
- module: StorePermalink
|
28
|
-
config:
|
29
|
-
db: test_googlestar.db
|
30
|
-
|
31
|
-
#- module: PublishConsole
|
32
|
-
|