newsfetcher 0.86 → 0.87
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.
- checksums.yaml +4 -4
- data/lib/newsfetcher/command.rb +1 -1
- data/lib/newsfetcher/commands/add.rb +2 -2
- data/lib/newsfetcher/extensions/addressable-uri.rb +4 -4
- data/lib/newsfetcher/fetcher.rb +1 -1
- data/lib/newsfetcher/profile.rb +9 -9
- data/lib/newsfetcher/subscription.rb +1 -1
- data/lib/newsfetcher.rb +1 -0
- data/newsfetcher.gemspec +2 -2
- data/test/main_test.rb +3 -3
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6b822d63d603e3bb424e7e5222a71f0c399dd8f771c26c284c9100344e17f827
|
|
4
|
+
data.tar.gz: 20cefc24db63cb25b31a9bdd1406af0bb2e98286ca467a7fc244186824391332
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: afa5c0d81d76cb20a8229cd7cfa215f013343a546a282c3d39b749c5d3518530a6acebcb6a6356ce19149e361cfd4847a5b4dcae76b55e1d7fb8edaa473f82bc
|
|
7
|
+
data.tar.gz: 61ac122ca9b74c773a6411697c28943cca4f66d3ca9b438cca518953f292b7221003a05fcf9a9c92e9f30f5facca829d546416185e15d7364e75cd6d5a2714b6
|
data/lib/newsfetcher/command.rb
CHANGED
|
@@ -12,7 +12,7 @@ module NewsFetcher
|
|
|
12
12
|
config = config_file.exist? ? BaseConfig.load(config_file) : BaseConfig.make
|
|
13
13
|
config.log_level = @log_level.downcase.to_sym if @log_level
|
|
14
14
|
config.max_threads = @max_threads&.to_i if @max_threads
|
|
15
|
-
@profile = Profile.new(dir
|
|
15
|
+
@profile = Profile.new(dir:, config:) or raise Error, "Profile not loaded"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
end
|
|
@@ -8,8 +8,8 @@ module NewsFetcher
|
|
|
8
8
|
super
|
|
9
9
|
uri, path, id = *args
|
|
10
10
|
raise Error, "No URI specified" unless uri
|
|
11
|
-
|
|
12
|
-
warn "Added subscription: #{
|
|
11
|
+
subscription = @profile.add_subscription(uri:, id:, path:)
|
|
12
|
+
warn "Added subscription: #{subscription.id}"
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
end
|
|
@@ -4,12 +4,12 @@ module Addressable
|
|
|
4
4
|
|
|
5
5
|
def make_subscription_id
|
|
6
6
|
[
|
|
7
|
-
host.to_s
|
|
8
|
-
.sub(/^(www|ssl|en|feeds
|
|
7
|
+
host.to_s
|
|
8
|
+
.sub(/^(www|ssl|en|feeds?|rss|blogs?|news?|old)[\d\-]?.*?\./i, '')
|
|
9
9
|
.sub(/\.(com|org|net|info|edu|co\.uk|wordpress\.com|blogspot\.com|feedburner\.com)$/i, ''),
|
|
10
|
-
path.to_s
|
|
10
|
+
path.to_s
|
|
11
11
|
.gsub(/\b(\.?feeds?|index|atom|rss|rss2|xml|rdf|php|blog|posts|default)\b/i, ''),
|
|
12
|
-
query.to_s
|
|
12
|
+
query.to_s
|
|
13
13
|
.gsub(/\b(format|feed|type|q)=(atom|rss\.xml|rss2?|xml)/i, ''),
|
|
14
14
|
] \
|
|
15
15
|
.join(' ')
|
data/lib/newsfetcher/fetcher.rb
CHANGED
data/lib/newsfetcher/profile.rb
CHANGED
|
@@ -7,7 +7,7 @@ module NewsFetcher
|
|
|
7
7
|
|
|
8
8
|
include SetParams
|
|
9
9
|
|
|
10
|
-
def initialize(
|
|
10
|
+
def initialize(...)
|
|
11
11
|
super
|
|
12
12
|
setup_logger
|
|
13
13
|
setup_styles
|
|
@@ -59,7 +59,7 @@ module NewsFetcher
|
|
|
59
59
|
subscription_dir = subscriptions_dir / id
|
|
60
60
|
begin
|
|
61
61
|
subscription_config = @config.load(subscription_dir / ConfigFileName)
|
|
62
|
-
rescue
|
|
62
|
+
rescue Simple::Configurator::Error => e
|
|
63
63
|
raise "#{id}: #{e}"
|
|
64
64
|
end
|
|
65
65
|
Subscription.new(id: id, dir: subscription_dir, config: subscription_config, styles: @styles)
|
|
@@ -74,14 +74,14 @@ module NewsFetcher
|
|
|
74
74
|
raise Error, "Bad URI: #{uri}" unless uri.absolute?
|
|
75
75
|
id ||= uri.make_subscription_id
|
|
76
76
|
id = "#{path}/#{id}" if path
|
|
77
|
-
|
|
78
|
-
raise Error, "Subscription already exists in #{
|
|
79
|
-
|
|
80
|
-
config = @config.make(uri:
|
|
81
|
-
config_file =
|
|
77
|
+
dir = subscriptions_dir / id
|
|
78
|
+
raise Error, "Subscription already exists in #{dir}" if dir.exist?
|
|
79
|
+
dir.mkpath
|
|
80
|
+
config = @config.make(uri:)
|
|
81
|
+
config_file = dir / ConfigFileName
|
|
82
82
|
config.save(config_file)
|
|
83
|
-
$logger.info { "
|
|
84
|
-
|
|
83
|
+
$logger.info { "Added new subscription: #{id} (#{config_file})" }
|
|
84
|
+
Subscription.new(id:, dir:, config:, styles: @styles)
|
|
85
85
|
end
|
|
86
86
|
|
|
87
87
|
end
|
data/lib/newsfetcher.rb
CHANGED
data/newsfetcher.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = 'newsfetcher'
|
|
3
|
-
s.version = '0.
|
|
3
|
+
s.version = '0.87'
|
|
4
4
|
s.summary = 'Monitor RSS/Atom feeds and deliver new items by email'
|
|
5
5
|
s.author = 'John Labovitz'
|
|
6
6
|
s.email = 'johnl@johnlabovitz.com'
|
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
|
|
|
29
29
|
s.add_dependency 'sassc', '~> 2.4'
|
|
30
30
|
s.add_dependency 'set_params', '~> 0.3'
|
|
31
31
|
s.add_dependency 'simple-builder', '~> 0.4'
|
|
32
|
-
s.add_dependency 'simple-command-parser', '~> 1.
|
|
32
|
+
s.add_dependency 'simple-command-parser', '~> 1.3'
|
|
33
33
|
s.add_dependency 'simple-configurator', '~> 0.2'
|
|
34
34
|
s.add_dependency 'simple-printer', '~> 0.4'
|
|
35
35
|
|
data/test/main_test.rb
CHANGED
|
@@ -48,9 +48,9 @@ module NewsFetcher
|
|
|
48
48
|
assert { feed }
|
|
49
49
|
uri = feed[:uri]
|
|
50
50
|
assert { uri }
|
|
51
|
-
|
|
52
|
-
assert { dir.exist? }
|
|
53
|
-
|
|
51
|
+
subscription = @profile.add_subscription(uri: uri, id: id, path: path)
|
|
52
|
+
assert { subscription.dir.exist? }
|
|
53
|
+
subscription
|
|
54
54
|
end
|
|
55
55
|
subscriptions = @profile.find_subscriptions
|
|
56
56
|
assert { subscriptions.count == initial_subscriptions.count }
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: newsfetcher
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '0.
|
|
4
|
+
version: '0.87'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- John Labovitz
|
|
@@ -211,14 +211,14 @@ dependencies:
|
|
|
211
211
|
requirements:
|
|
212
212
|
- - "~>"
|
|
213
213
|
- !ruby/object:Gem::Version
|
|
214
|
-
version: '1.
|
|
214
|
+
version: '1.3'
|
|
215
215
|
type: :runtime
|
|
216
216
|
prerelease: false
|
|
217
217
|
version_requirements: !ruby/object:Gem::Requirement
|
|
218
218
|
requirements:
|
|
219
219
|
- - "~>"
|
|
220
220
|
- !ruby/object:Gem::Version
|
|
221
|
-
version: '1.
|
|
221
|
+
version: '1.3'
|
|
222
222
|
- !ruby/object:Gem::Dependency
|
|
223
223
|
name: simple-configurator
|
|
224
224
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -365,7 +365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
365
365
|
- !ruby/object:Gem::Version
|
|
366
366
|
version: '0'
|
|
367
367
|
requirements: []
|
|
368
|
-
rubygems_version: 4.0.
|
|
368
|
+
rubygems_version: 4.0.5
|
|
369
369
|
specification_version: 4
|
|
370
370
|
summary: Monitor RSS/Atom feeds and deliver new items by email
|
|
371
371
|
test_files:
|