bulk_ops 0.1.22 → 0.1.23
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/bulk_ops/github_access.rb +2 -4
- data/lib/bulk_ops/parser.rb +7 -5
- data/lib/bulk_ops/version.rb +1 -1
- data/lib/bulk_ops/work_job.rb +1 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3653b9554a93348ce398063d0b5fb98d01e075ac70efaee09b3081f49fa036e1
|
4
|
+
data.tar.gz: 01eb0bdb7084fb3e0d37b417d82b47772dc5d7734428f47f91168f81724c2139
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d77355a39703eca5010a42b3bfcb0bcd872468e77b9b15e8f57bc68042dc684c2afe57d296c858cd5d6a68e60668c6bd2a11f4e3125e1d428dd5cd1e5dd1e2e
|
7
|
+
data.tar.gz: 6ee7e9c2d50231d555a9adde17a6c27b6f52041533e86a9727bb9d9caf2eafb9f8ba18e6cae76f8ef010980d3b09981e9c7e794ed54dd1b8dbab776060e923bc
|
@@ -2,7 +2,7 @@ require "octokit"
|
|
2
2
|
require "socket"
|
3
3
|
require "securerandom"
|
4
4
|
require 'base64'
|
5
|
-
|
5
|
+
require 'erb'
|
6
6
|
class BulkOps::GithubAccess
|
7
7
|
|
8
8
|
attr_accessor :name
|
@@ -272,8 +272,6 @@ class BulkOps::GithubAccess
|
|
272
272
|
end
|
273
273
|
|
274
274
|
def github_config
|
275
|
-
@github_config ||=
|
275
|
+
@github_config ||= YAML.load(ERB.new(File.read("#{Rails.root}/config/github.yml")).result)[Rails.env]
|
276
276
|
end
|
277
|
-
|
278
|
-
|
279
277
|
end
|
data/lib/bulk_ops/parser.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
class BulkOps::Parser
|
2
3
|
require 'uri'
|
3
4
|
|
@@ -8,7 +9,7 @@ class BulkOps::Parser
|
|
8
9
|
def self.is_file_set? metadata, row_number
|
9
10
|
return false unless metadata[row_number].present?
|
10
11
|
# If the work type is explicitly specified, use that
|
11
|
-
if (type_key = metadata[row_number].to_h.keys.find{|key| key.downcase.gsub(/[_\-\s]/,"").include?("worktype") })
|
12
|
+
if (type_key = metadata[row_number].to_h.keys.find{|key| key.to_s.downcase.gsub(/[_\-\s]/,"").include?("worktype") })
|
12
13
|
return true if metadata[row_number][type_key].downcase == "fileset"
|
13
14
|
return false if metadata[row_number][type_key].present?
|
14
15
|
end
|
@@ -57,6 +58,7 @@ class BulkOps::Parser
|
|
57
58
|
(0...@raw_row.length).each do |i|
|
58
59
|
header = @raw_row.headers[i]
|
59
60
|
value = @raw_row[i]
|
61
|
+
next unless value.present?
|
60
62
|
# separate values in identical columns using the separator
|
61
63
|
row[header] = (Array(row[header]) << value).join(BulkOps::SEPARATOR)
|
62
64
|
end
|
@@ -65,9 +67,9 @@ class BulkOps::Parser
|
|
65
67
|
|
66
68
|
def connect_existing_work
|
67
69
|
return unless (column_name = operation.options["update_identifier"])
|
68
|
-
return unless (key = @raw_row.keys.find{|key| key.to_s.parameterize.downcase.gsub("_","") == column_name.to_s.parameterize.downcase.gsub("_","")})
|
69
|
-
return unless (value = @raw_row[key])
|
70
|
-
return unless (work_id = find_work_id_from_unique_metadata(key, value))
|
70
|
+
return unless (key = @raw_row.to_h.keys.find{|key| key.to_s.parameterize.downcase.gsub("_","") == column_name.to_s.parameterize.downcase.gsub("_","")})
|
71
|
+
return unless (value = @raw_row[key]).present?
|
72
|
+
return unless (work_id = find_work_id_from_unique_metadata(key, value))
|
71
73
|
proxy.update(work_id: work_id)
|
72
74
|
end
|
73
75
|
|
@@ -76,7 +78,7 @@ class BulkOps::Parser
|
|
76
78
|
query = "_query_:\"{!dismax qf=#{field_solr_name}}#{value}\""
|
77
79
|
response = ActiveFedora::SolrService.instance.conn.get(ActiveFedora::SolrService.select_path, params: { fq: query, rows: 1, start: 0})["response"]
|
78
80
|
if response["numFound"] > 1
|
79
|
-
report_error( :id_not_unique , "", row_number: row_number, object_id: @proxy.id, options_name: field_name, option_values: value )
|
81
|
+
report_error( :id_not_unique , "", row_number: row_number, object_id: @proxy.id, options_name: field_name, option_values: value )
|
80
82
|
end
|
81
83
|
return response["docs"][0]["id"]
|
82
84
|
end
|
data/lib/bulk_ops/version.rb
CHANGED
data/lib/bulk_ops/work_job.rb
CHANGED
@@ -76,7 +76,7 @@ class BulkOps::WorkJob < ActiveJob::Base
|
|
76
76
|
end
|
77
77
|
else
|
78
78
|
@work = workClass.capitalize.constantize.new
|
79
|
-
return :
|
79
|
+
return :create
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
@@ -105,9 +105,4 @@ class BulkOps::WorkJob < ActiveJob::Base
|
|
105
105
|
@work_proxy.update(atts)
|
106
106
|
end
|
107
107
|
|
108
|
-
def define_work(workClass)
|
109
|
-
#override this unless you want a simple ingest
|
110
|
-
@work = workClass.capitalize.constantize.new
|
111
|
-
end
|
112
|
-
|
113
108
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bulk_ops
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ned Henry, UCSC Library Digital Initiatives
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|