maltese 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/maltese/cli.rb +3 -3
- data/lib/maltese/sitemap.rb +7 -6
- data/lib/maltese/version.rb +1 -1
- data/spec/cli_spec.rb +4 -12
- data/spec/fixtures/vcr_cassettes/Maltese_CLI/sitemap/should_succeed.yml +21 -21
- data/spec/fixtures/vcr_cassettes/Maltese_Sitemap/push_data/should_report_if_there_are_no_works_returned_by_the_Datacite_Solr_API.yml +13 -13
- data/spec/fixtures/vcr_cassettes/Maltese_Sitemap/push_data/should_report_if_there_are_works_returned_by_the_Datacite_Solr_API.yml +129 -15
- data/spec/fixtures/vcr_cassettes/Maltese_Sitemap/queue_jobs/should_report_if_there_are_works_returned_by_the_Datacite_Solr_API.yml +18 -132
- data/spec/spec_helper.rb +1 -1
- metadata +1 -3
- data/lib/maltese/utils.rb +0 -87
- data/public/sitemap.xml.gz +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c63d39d911bf3128f4977e8689046491a4cd7fd2
|
4
|
+
data.tar.gz: 1d0b468a7f9074dff62a4f5ea7ac24899a9110e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc76a156939794d41df9c0c3c7af34c7ab90d2eaeea6ce199c2d0ce693031e66523d6dd688a77128812c21b9940cf3091a062f0137d232f6e0ead3693d3bdb22
|
7
|
+
data.tar.gz: 5b9ef60d80b7c69f2f0d988b9886e4a4b2e22bb851c9f576b322a62d573a91ffb2e88b8bfa6cf9259793c626182c41e36acbbaf2b64de628f1eea007ee212b77
|
data/Gemfile.lock
CHANGED
data/lib/maltese/cli.rb
CHANGED
@@ -18,9 +18,9 @@ module Maltese
|
|
18
18
|
end
|
19
19
|
|
20
20
|
desc "sitemap", "generate sitemap for DataCite Search"
|
21
|
-
method_option :sitemap_bucket, type: :string
|
22
|
-
method_option :from_date, type: :string
|
23
|
-
method_option :until_date, type: :string
|
21
|
+
method_option :sitemap_bucket, type: :string
|
22
|
+
method_option :from_date, type: :string
|
23
|
+
method_option :until_date, type: :string
|
24
24
|
def sitemap
|
25
25
|
sitemap = Maltese::Sitemap.new(options)
|
26
26
|
sitemap.queue_jobs
|
data/lib/maltese/sitemap.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Maltese
|
2
2
|
class Sitemap
|
3
|
-
attr_reader :sitemap_bucket, :
|
3
|
+
attr_reader :sitemap_bucket, :from_date, :until_date
|
4
4
|
|
5
5
|
# load ENV variables from container environment if json file exists
|
6
6
|
# see https://github.com/phusion/baseimage-docker#envvar_dumps
|
@@ -11,7 +11,7 @@ module Maltese
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def initialize(attributes={})
|
14
|
-
@sitemap_bucket = attributes[:sitemap_bucket]|| "search.datacite.org"
|
14
|
+
@sitemap_bucket = attributes[:sitemap_bucket].presence|| "search.datacite.org"
|
15
15
|
@from_date = attributes[:from_date].presence || (Time.now.to_date - 1.day).iso8601
|
16
16
|
@until_date = attributes[:until_date].presence || Time.now.to_date.iso8601
|
17
17
|
end
|
@@ -25,11 +25,11 @@ module Maltese
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def sitemaps_host
|
28
|
-
"
|
28
|
+
"https://s3.amazonaws.com/#{sitemap_bucket}/"
|
29
29
|
end
|
30
30
|
|
31
31
|
def sitemaps_path
|
32
|
-
'sitemaps/'
|
32
|
+
ENV['RACK'] == "test" ? 'sitemaps-test' : 'sitemaps/'
|
33
33
|
end
|
34
34
|
|
35
35
|
def timeout
|
@@ -54,7 +54,8 @@ module Maltese
|
|
54
54
|
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
|
55
55
|
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
|
56
56
|
fog_directory: sitemap_bucket,
|
57
|
-
fog_region: ENV['AWS_REGION']
|
57
|
+
fog_region: ENV['AWS_REGION'],
|
58
|
+
path_style: true)
|
58
59
|
end
|
59
60
|
|
60
61
|
def fog_storage
|
@@ -119,7 +120,7 @@ module Maltese
|
|
119
120
|
Maremma.get(query_url, options)
|
120
121
|
end
|
121
122
|
|
122
|
-
def parse_data(result
|
123
|
+
def parse_data(result)
|
123
124
|
return result.body.fetch("errors") if result.body.fetch("errors", nil).present?
|
124
125
|
|
125
126
|
items = result.body.fetch("data", {}).fetch('response', {}).fetch('docs', nil)
|
data/lib/maltese/version.rb
CHANGED
data/spec/cli_spec.rb
CHANGED
@@ -6,12 +6,10 @@ describe Maltese::CLI do
|
|
6
6
|
described_class.new
|
7
7
|
end
|
8
8
|
|
9
|
-
let(:push_url) { ENV['VOLPINO_URL'] }
|
10
|
-
let(:access_token) { ENV['VOLPINO_TOKEN'] }
|
11
9
|
let(:from_date) { "2015-04-07" }
|
12
10
|
let(:until_date) { "2015-04-08" }
|
13
|
-
let(:
|
14
|
-
|
11
|
+
let(:sitemap_bucket) { "search.datacite.org" }
|
12
|
+
let(:cli_options) { { sitemap_bucket: sitemap_bucket,
|
15
13
|
from_date: from_date,
|
16
14
|
until_date: until_date } }
|
17
15
|
|
@@ -19,7 +17,7 @@ describe Maltese::CLI do
|
|
19
17
|
it 'should succeed' do
|
20
18
|
subject.options = cli_options
|
21
19
|
expect { subject.sitemap }.to output(/2522 links/).to_stdout
|
22
|
-
sitemap = Zlib::GzipReader.open("public/sitemap.xml.gz") { |gz| gz.read }
|
20
|
+
sitemap = Zlib::GzipReader.open("public/sitemaps-test/sitemap.xml.gz") { |gz| gz.read }
|
23
21
|
doc = Nokogiri::XML(sitemap)
|
24
22
|
expect(doc.xpath("//xmlns:url").size).to eq(2522)
|
25
23
|
expect(doc.xpath("//xmlns:loc").last.text).to eq("https://search.datacite.org/works/10.6084/M9.FIGSHARE.1371139")
|
@@ -28,16 +26,10 @@ describe Maltese::CLI do
|
|
28
26
|
it 'should succeed with no works' do
|
29
27
|
from_date = "2005-04-07"
|
30
28
|
until_date = "2005-04-08"
|
31
|
-
subject.options = {
|
32
|
-
access_token: access_token,
|
29
|
+
subject.options = { sitemap_bucket: sitemap_bucket,
|
33
30
|
from_date: from_date,
|
34
31
|
until_date: until_date }
|
35
32
|
expect { subject.sitemap }.to output("No works found for date range 2005-04-07 - 2005-04-08.\n").to_stdout
|
36
33
|
end
|
37
|
-
|
38
|
-
# it 'should fail' do
|
39
|
-
# subject.options = cli_options.except(:access_token)
|
40
|
-
# expect { subject.sitemap }.to output(/An error occured: Access token missing.\n/).to_stdout
|
41
|
-
# end
|
42
34
|
end
|
43
35
|
end
|