discovery-indexer 1.0.1 → 2.0.0
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6cda10dff64c547a94d5623b8d4eb99adc38fe55
|
4
|
+
data.tar.gz: 03f8ab54ee1cb990d54260f1d883b92869cc5d82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0ad8a756ae0904c5a9d61426a93895cbf1af6d46d4f61b36ff1ba94cf4beae0b671dcbe7e2c6ff419a811c3e71462f09db20e504e4949ee1da1075f8a16c1e4
|
7
|
+
data.tar.gz: b1c95061edb64ce7d585f583a3c932d0fc4fd220c591152decdb908ce8b1e40e9d0915cfb13ab0eaa9ab26061038b177f355fb37242700628d4e098b9ea6edf1
|
@@ -69,6 +69,14 @@ module DiscoveryIndexer
|
|
69
69
|
# ["pc0065_b08_f10_i031.jp2","pc0065_b08_f10_i032.jp2"]
|
70
70
|
attr_accessor :image_ids
|
71
71
|
|
72
|
+
# @!attribute [rw] sw_image_ids
|
73
|
+
# @return [Array] a list of the image ids and corresponding druids with %2F
|
74
|
+
# separator from the file and externalFile tags in the content_metadata
|
75
|
+
# specifically for Searchworks
|
76
|
+
# @example
|
77
|
+
# ["xx888yy9999%2Fpc0065_b08_f10_i031.jp2","aa111bb2222%2Fpc0065_b08_f10_i032.jp2"]
|
78
|
+
attr_accessor :sw_image_ids
|
79
|
+
|
72
80
|
# @!attribute [rw] catkey
|
73
81
|
# @return [String] the catkey attribute in identity_metadata
|
74
82
|
attr_accessor :catkey
|
@@ -31,6 +31,7 @@ module DiscoveryIndexer
|
|
31
31
|
purlxml_model.release_tags_hash = parse_release_tags_hash
|
32
32
|
purlxml_model.file_ids = parse_file_ids
|
33
33
|
purlxml_model.image_ids = parse_image_ids
|
34
|
+
purlxml_model.sw_image_ids = parse_sw_image_ids
|
34
35
|
purlxml_model.catkey = parse_catkey
|
35
36
|
purlxml_model.barcode = parse_barcode
|
36
37
|
purlxml_model.label = parse_label
|
@@ -142,14 +143,28 @@ module DiscoveryIndexer
|
|
142
143
|
dct
|
143
144
|
end
|
144
145
|
|
145
|
-
# the @id attribute of resource/file elements that match the image type, including extension
|
146
|
+
# the @id attribute of resource/file elements that match the image, page, or thumb resource type, including extension
|
146
147
|
# @return [Array<String>] filenames
|
147
148
|
def parse_image_ids
|
148
149
|
content_md = parse_content_metadata
|
149
|
-
return
|
150
|
+
return [] if content_md.nil?
|
150
151
|
content_md.xpath('//resource[@type="page" or @type="image" or @type="thumb"]/file[@mimetype="image/jp2"]/@id').map(&:to_s)
|
151
152
|
end
|
152
153
|
|
154
|
+
# the druid and id attribute of resource/file and objectId and fileId of the
|
155
|
+
# resource/externalFile elements that match the image, page, or thumb resource type, including extension
|
156
|
+
# Also, prepends the corresponding druid and %2F specifically for Searchworks use
|
157
|
+
# @return [Array<String>] filenames
|
158
|
+
def parse_sw_image_ids
|
159
|
+
content_md = parse_content_metadata
|
160
|
+
return [] if content_md.nil?
|
161
|
+
content_md.xpath('//resource[@type="page" or @type="image" or @type="thumb"]').map do |node|
|
162
|
+
node.xpath('./file[@mimetype="image/jp2"]/@id').map{ |x| "#{@druid}%2F" + x } << node.xpath('./externalFile[@mimetype="image/jp2"]').map do |y|
|
163
|
+
"#{y.attributes['objectId'].text.split(':').last}" + "%2F" + "#{y.attributes['fileId']}"
|
164
|
+
end
|
165
|
+
end.flatten
|
166
|
+
end
|
167
|
+
|
153
168
|
def parse_sourceid
|
154
169
|
get_value(@purlxml_ng_doc.css('//identityMetadata/sourceId'))
|
155
170
|
end
|
@@ -165,14 +180,9 @@ module DiscoveryIndexer
|
|
165
180
|
# the @id attribute of resource/file elements, including extension
|
166
181
|
# @return [Array<String>] filenames
|
167
182
|
def parse_file_ids
|
168
|
-
ids = []
|
169
183
|
content_md = parse_content_metadata
|
170
|
-
return
|
171
|
-
content_md.xpath('//resource/file/@id').
|
172
|
-
ids << node.text unless node.text.empty?
|
173
|
-
end
|
174
|
-
return nil if ids.empty?
|
175
|
-
ids
|
184
|
+
return [] if content_md.nil?
|
185
|
+
content_md.xpath('//resource/file/@id').map { |x| x.text }.compact
|
176
186
|
end
|
177
187
|
|
178
188
|
# @return catkey value from the DOR identity_metadata, or nil if there is no catkey
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discovery-indexer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ahmed AlSum
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-02-
|
12
|
+
date: 2016-02-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|