libis-services 1.0.13 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec5d59ef32edd2815ea867fc8e0127535d2fd910cd71a9f6d46e0e9ada0a8d3b
4
- data.tar.gz: 4702f944823a4879ae5e58f3cfd2f92d07cefd76a2e593f9550effd2ee1078e8
3
+ metadata.gz: 1bd99d402d42254a80fafbb57d7eab6fb3215d797b90e5f36e1a9923f756b632
4
+ data.tar.gz: 29d6a7a990c36b252657fd630013e3096a7ada5a3d3838c094d550fd5cdc1510
5
5
  SHA512:
6
- metadata.gz: 288b0354c9c30791dfd3f5a95a3fbd75c3ee8f260e7b5e7d7757282b0f9062383013f93390fe182682f14858f147e17705eeb0134208a8f63b8e87eda3dd3ffd
7
- data.tar.gz: 3ea36675567daf55c781a32a8528619643a3a3ae1ac8e3911bfd21504b2f3c9d79ac4bb15f882efdb83bd4248eb5cf520b841336d9dd510bbb110761c0bed0ef
6
+ metadata.gz: fd2183a0eed932b812724a9bea86571ac763f0ca06122fce1f602a221664b4781a9340b6268301f2835418836974f51606b223a6a35b9273c05d0b1f6af6caca
7
+ data.tar.gz: a98d8b557ffb32f0e32f3c3f502e99e74d9e03b364e4699e8f72b958bf18931a4bc9b09b4fb0fb4b165a211f27bd9b793296a5ed27a66735f5bf28d380ddfbc5
@@ -9,7 +9,7 @@ require_relative 'oai_pmh'
9
9
  require 'libis/tools/mets_file'
10
10
 
11
11
  require 'csv'
12
- require 'write_xlsx'
12
+ # require 'write_xlsx'
13
13
  require 'libis/tools/extend/hash'
14
14
  require 'libis/tools/extend/string'
15
15
  require 'awesome_print'
@@ -95,303 +95,303 @@ module Libis
95
95
  deposits
96
96
  end
97
97
 
98
- # @param [String] report_file
99
- # @param [Array] deposits
100
- def get_deposit_report(report_file, deposits)
101
- # create and open Workbook
102
- workbook = WriteXLSX.new(report_file)
103
-
104
- # set up some formatting
105
- ie_data_header_format = workbook.add_format(bold: 1)
106
- rep_name_format = workbook.add_format(bold: 1)
107
- file_header_format = workbook.add_format(bold: 1)
108
-
109
- # First Sheet is an overview of all dossiers
110
- overview = workbook.add_worksheet('IE overview')
111
- ie_data_keys = Set.new %w[id dossier link disposition]
112
- ie_list = [] # ie info will be collected in this array to be printed later
113
-
114
- # iterate over all deposits
115
- deposits.each do |deposit|
116
- # iterate over all IEs
117
- deposit[:ies].sort { |x, y| x[:id] <=> y[:id] }.each do |ie|
118
- @ie = ie
119
- id = (ie[:id] || ie[:ie])
120
- # noinspection RubyStringKeysInHashInspection
121
- ie_data = {
122
- 'id' => "#{id}",
123
- 'dossier' => ie[:title],
124
- 'disposition' => (ie[:content][:dmd]['date'] rescue nil),
125
- 'link' => "http://depot.lias.be/delivery/DeliveryManagerServlet?dps_pid=#{ie[:ie]}",
126
- }.cleanup
127
- [
128
- # (ie[:content][:dmd] rescue nil),
129
- (ie[:content][:amd][:tech]['generalIECharacteristics'] rescue nil),
130
- (ie[:content][:amd][:rights]['accessRightsPolicy'] rescue nil)
131
- ].each do |data|
132
- ie_data.merge! data if data
133
- end
134
- dossier_sheet = workbook.add_worksheet(id.gsub(/[\\\/*?]+/, '.'))
135
- dossier_row = 0
136
-
137
- ie[:content].each do |rep_name, rep|
138
- next unless rep_name.is_a?(String)
139
- @rep = rep
140
- file_data_keys = Set.new %w(folder naam link mimetype puid formaat versie)
141
- file_list = []
142
-
143
- dossier_sheet.write_row(dossier_row, 0, [rep_name], rep_name_format)
144
- %w(preservationType usageType).each do |key|
145
- dossier_row += 1
146
- dossier_sheet.write_row(
147
- dossier_row, 0,
148
- [
149
- key.underscore.gsub('_', ' '),
150
- rep[:amd][:tech]['generalRepCharacteristics'][key]
151
- ]
152
- )
153
- end
154
- dossier_row += 2
155
-
156
- file_proc = lambda do |file|
157
- @file = file
158
- if file[:id]
159
- tech = file[:amd][:tech]
160
- # noinspection RubyStringKeysInHashInspection
161
- file_data = {
162
- 'folder' => (tech['generalFileCharacteristics']['fileOriginalPath'] rescue '').split('/')[1..-1].join('\\'),
163
- 'naam' => (tech['generalFileCharacteristics']['fileOriginalName'] rescue nil),
164
- 'link' => ("http://depot.lias.be/delivery/DeliveryManagerServlet?dps_pid=#{file[:id]}" rescue nil),
165
- 'mimetype' => (tech['fileFormat']['mimeType'] rescue nil),
166
- 'puid' => (tech['fileFormat']['formatRegistryId'] rescue nil),
167
- 'formaat' => (tech['fileFormat']['formatDescription'] rescue nil),
168
- 'versie' => (tech['fileFormat']['formatVersion'] rescue nil),
169
- 'viruscheck' => (tech['fileVirusCheck']['status'] rescue nil),
170
- 'file_type' => (tech['generalFileCharacteristics']['FileEntityType']),
171
- 'groep' => file[:group],
172
- }
173
- data = tech['fileValidation']
174
- if data
175
- valid = (data['isValid'] == 'true') rescue nil
176
- well_formed = (data['isWellFormed'] == 'true') rescue nil
177
- file_data['validatie'] = if valid && well_formed
178
- 'OK'
179
- else
180
- 'niet OK'
181
- end
182
- end
183
- data = tech['significantProperties']
184
- if data
185
- file_data[data['significantPropertiesType']] = data['significantPropertiesValue']
186
- end
187
- data = file[:dmd]
188
- if data
189
- data.each { |key, value| file_data[key] = value }
190
- end
191
- file_list << file_data
192
- file_data_keys.merge file_data.keys
193
- else
194
- file.each do |_, value|
195
- next unless value.is_a? Hash
196
- # noinspection RubyScope
197
- file_proc.call(value)
198
- end
199
- end
200
- end
201
-
202
- rep.keys.each do |key|
203
- file_proc.call(rep[key]) if key.is_a?(String)
204
- end
205
-
206
- table_start = dossier_row
207
- dossier_sheet.write_row(dossier_row, 0, file_data_keys.to_a, file_header_format)
208
- file_list.each do |file_info|
209
- dossier_row += 1
210
- file_data = []
211
- file_data_keys.each { |key| file_data << file_info[key] }
212
- dossier_sheet.write_row(dossier_row, 0, file_data)
213
- end
214
- table_end = dossier_row
215
-
216
- dossier_sheet.add_table(
217
- table_start, 0, table_end, file_data_keys.size - 1,
218
- style: 'Table Style Medium 16', name: rep[:id],
219
- columns: file_data_keys.map { |key| {header: key} }
220
- )
221
-
222
- dossier_row += 2
223
- end
224
- ie_data_keys.merge ie_data.keys
225
- ie_list << ie_data
226
- end
227
- end
228
-
229
- # write ie data to overview worksheet
230
- overview.write_row(0, 0, ie_data_keys.to_a, ie_data_header_format)
231
- overview_row = 1
232
- ie_list.each do |ie_info|
233
- ie_data = []
234
- ie_data_keys.each { |key| ie_data << ie_info[key] }
235
- overview.write_row(overview_row, 0, ie_data)
236
- overview_row += 1
237
- end
238
-
239
- rescue Exception => e
240
- puts e.message
241
- puts e.backtrace
242
- # close and save workbook
243
- ensure
244
- workbook.close
245
- end
246
-
247
- # @param [String] report_file
248
- # @param [Array] deposits
249
- def get_dav_deposit_report(report_file, deposits)
250
- # create and open Workbook
251
- workbook = WriteXLSX.new(report_file)
252
-
253
- # set up some formatting
254
- ie_data_header_format = workbook.add_format(bold: 1)
255
- rep_name_format = workbook.add_format(bold: 1)
256
- file_header_format = workbook.add_format(bold: 1)
257
-
258
- # First Sheet is an overview of all dossiers
259
- overview = workbook.add_worksheet('dossier overzicht')
260
- ie_data_keys = Set.new %w[id dossier link disposition]
261
- ie_list = [] # ie info will be collected in this array to be printed later
262
-
263
- # iterate over all deposits
264
- deposits.each do |deposit|
265
- # iterate over all IEs
266
- deposit[:ies].sort { |x, y| x[:id] <=> y[:id] }.each do |ie|
267
- @ie = ie
268
- id = (ie[:id] || ie[:ie])
269
- # noinspection RubyStringKeysInHashInspection
270
- ie_data = {
271
- 'id' => "#{id}",
272
- 'dossier' => ie[:title],
273
- 'disposition' => (ie[:content][:dmd]['date'] rescue nil),
274
- 'link' => "http://depot.lias.be/delivery/DeliveryManagerServlet?dps_pid=#{ie[:ie]}",
275
- }.cleanup
276
- [
277
- # (ie[:content][:dmd] rescue nil),
278
- (ie[:content][:amd][:tech]['generalIECharacteristics'] rescue nil),
279
- (ie[:content][:amd][:rights]['accessRightsPolicy'] rescue nil)
280
- ].each do |data|
281
- ie_data.merge! data if data
282
- end
283
- dossier_sheet = workbook.add_worksheet(id.gsub(/[\\\/*?]+/, '.'))
284
- dossier_row = 0
285
-
286
- ie[:content].each do |rep_name, rep|
287
- next unless rep_name.is_a?(String)
288
- @rep = rep
289
- file_data_keys = Set.new %w(folder naam link mimetype puid formaat versie)
290
- file_list = []
291
-
292
- dossier_sheet.write_row(dossier_row, 0, [rep_name], rep_name_format)
293
- %w(preservationType usageType).each do |key|
294
- dossier_row += 1
295
- dossier_sheet.write_row(
296
- dossier_row, 0,
297
- [
298
- key.underscore.gsub('_', ' '),
299
- rep[:amd][:tech]['generalRepCharacteristics'][key]
300
- ]
301
- )
302
- end
303
- dossier_row += 2
304
-
305
- file_proc = lambda do |file|
306
- @file = file
307
- if file[:id]
308
- tech = file[:amd][:tech]
309
- # noinspection RubyStringKeysInHashInspection
310
- file_data = {
311
- 'folder' => (tech['generalFileCharacteristics']['fileOriginalPath'] rescue '').split('/')[1..-1].join('\\'),
312
- 'naam' => (tech['generalFileCharacteristics']['fileOriginalName'] rescue nil),
313
- 'link' => ("http://depot.lias.be/delivery/DeliveryManagerServlet?dps_pid=#{file[:id]}" rescue nil),
314
- 'mimetype' => (tech['fileFormat']['mimeType'] rescue nil),
315
- 'puid' => (tech['fileFormat']['formatRegistryId'] rescue nil),
316
- 'formaat' => (tech['fileFormat']['formatDescription'] rescue nil),
317
- 'versie' => (tech['fileFormat']['formatVersion'] rescue nil),
318
- 'viruscheck' => (tech['fileVirusCheck']['status'] rescue nil),
319
- 'file_type' => (tech['generalFileCharacteristics']['FileEntityType']),
320
- 'groep' => file[:group],
321
- }
322
- data = tech['fileValidation']
323
- if data
324
- valid = (data['isValid'] == 'true') rescue nil
325
- well_formed = (data['isWellFormed'] == 'true') rescue nil
326
- file_data['validatie'] = if valid && well_formed
327
- 'OK'
328
- else
329
- 'niet OK'
330
- end
331
- end
332
- data = tech['significantProperties']
333
- if data
334
- file_data[data['significantPropertiesType']] = data['significantPropertiesValue']
335
- end
336
- data = file[:dmd]
337
- if data
338
- data.each { |key, value| file_data[key] = value }
339
- end
340
- file_list << file_data
341
- file_data_keys.merge file_data.keys
342
- else
343
- file.each do |_, value|
344
- next unless value.is_a? Hash
345
- # noinspection RubyScope
346
- file_proc.call(value)
347
- end
348
- end
349
- end
350
-
351
- rep.keys.each do |key|
352
- file_proc.call(rep[key]) if key.is_a?(String)
353
- end
354
-
355
- table_start = dossier_row
356
- dossier_sheet.write_row(dossier_row, 0, file_data_keys.to_a, file_header_format)
357
- file_list.each do |file_info|
358
- dossier_row += 1
359
- file_data = []
360
- file_data_keys.each { |key| file_data << file_info[key] }
361
- dossier_sheet.write_row(dossier_row, 0, file_data)
362
- end
363
- table_end = dossier_row
364
-
365
- dossier_sheet.add_table(
366
- table_start, 0, table_end, file_data_keys.size - 1,
367
- style: 'Table Style Medium 16', name: rep[:id],
368
- columns: file_data_keys.map { |key| {header: key} }
369
- )
370
-
371
- dossier_row += 2
372
- end
373
- ie_data_keys.merge ie_data.keys
374
- ie_list << ie_data
375
- end
376
- end
377
-
378
- # write ie data to overview worksheet
379
- overview.write_row(0, 0, ie_data_keys.to_a, ie_data_header_format)
380
- overview_row = 1
381
- ie_list.each do |ie_info|
382
- ie_data = []
383
- ie_data_keys.each { |key| ie_data << ie_info[key] }
384
- overview.write_row(overview_row, 0, ie_data)
385
- overview_row += 1
386
- end
387
-
388
- rescue Exception => e
389
- puts e.message
390
- puts e.backtrace
391
- # close and save workbook
392
- ensure
393
- workbook.close
394
- end
98
+ # # @param [String] report_file
99
+ # # @param [Array] deposits
100
+ # def get_deposit_report(report_file, deposits)
101
+ # # create and open Workbook
102
+ # workbook = WriteXLSX.new(report_file)
103
+
104
+ # # set up some formatting
105
+ # ie_data_header_format = workbook.add_format(bold: 1)
106
+ # rep_name_format = workbook.add_format(bold: 1)
107
+ # file_header_format = workbook.add_format(bold: 1)
108
+
109
+ # # First Sheet is an overview of all dossiers
110
+ # overview = workbook.add_worksheet('IE overview')
111
+ # ie_data_keys = Set.new %w[id dossier link disposition]
112
+ # ie_list = [] # ie info will be collected in this array to be printed later
113
+
114
+ # # iterate over all deposits
115
+ # deposits.each do |deposit|
116
+ # # iterate over all IEs
117
+ # deposit[:ies].sort { |x, y| x[:id] <=> y[:id] }.each do |ie|
118
+ # @ie = ie
119
+ # id = (ie[:id] || ie[:ie])
120
+ # # noinspection RubyStringKeysInHashInspection
121
+ # ie_data = {
122
+ # 'id' => "#{id}",
123
+ # 'dossier' => ie[:title],
124
+ # 'disposition' => (ie[:content][:dmd]['date'] rescue nil),
125
+ # 'link' => "http://depot.lias.be/delivery/DeliveryManagerServlet?dps_pid=#{ie[:ie]}",
126
+ # }.cleanup
127
+ # [
128
+ # # (ie[:content][:dmd] rescue nil),
129
+ # (ie[:content][:amd][:tech]['generalIECharacteristics'] rescue nil),
130
+ # (ie[:content][:amd][:rights]['accessRightsPolicy'] rescue nil)
131
+ # ].each do |data|
132
+ # ie_data.merge! data if data
133
+ # end
134
+ # dossier_sheet = workbook.add_worksheet(id.gsub(/[\\\/*?]+/, '.'))
135
+ # dossier_row = 0
136
+
137
+ # ie[:content].each do |rep_name, rep|
138
+ # next unless rep_name.is_a?(String)
139
+ # @rep = rep
140
+ # file_data_keys = Set.new %w(folder naam link mimetype puid formaat versie)
141
+ # file_list = []
142
+
143
+ # dossier_sheet.write_row(dossier_row, 0, [rep_name], rep_name_format)
144
+ # %w(preservationType usageType).each do |key|
145
+ # dossier_row += 1
146
+ # dossier_sheet.write_row(
147
+ # dossier_row, 0,
148
+ # [
149
+ # key.underscore.gsub('_', ' '),
150
+ # rep[:amd][:tech]['generalRepCharacteristics'][key]
151
+ # ]
152
+ # )
153
+ # end
154
+ # dossier_row += 2
155
+
156
+ # file_proc = lambda do |file|
157
+ # @file = file
158
+ # if file[:id]
159
+ # tech = file[:amd][:tech]
160
+ # # noinspection RubyStringKeysInHashInspection
161
+ # file_data = {
162
+ # 'folder' => (tech['generalFileCharacteristics']['fileOriginalPath'] rescue '').split('/')[1..-1].join('\\'),
163
+ # 'naam' => (tech['generalFileCharacteristics']['fileOriginalName'] rescue nil),
164
+ # 'link' => ("http://depot.lias.be/delivery/DeliveryManagerServlet?dps_pid=#{file[:id]}" rescue nil),
165
+ # 'mimetype' => (tech['fileFormat']['mimeType'] rescue nil),
166
+ # 'puid' => (tech['fileFormat']['formatRegistryId'] rescue nil),
167
+ # 'formaat' => (tech['fileFormat']['formatDescription'] rescue nil),
168
+ # 'versie' => (tech['fileFormat']['formatVersion'] rescue nil),
169
+ # 'viruscheck' => (tech['fileVirusCheck']['status'] rescue nil),
170
+ # 'file_type' => (tech['generalFileCharacteristics']['FileEntityType']),
171
+ # 'groep' => file[:group],
172
+ # }
173
+ # data = tech['fileValidation']
174
+ # if data
175
+ # valid = (data['isValid'] == 'true') rescue nil
176
+ # well_formed = (data['isWellFormed'] == 'true') rescue nil
177
+ # file_data['validatie'] = if valid && well_formed
178
+ # 'OK'
179
+ # else
180
+ # 'niet OK'
181
+ # end
182
+ # end
183
+ # data = tech['significantProperties']
184
+ # if data
185
+ # file_data[data['significantPropertiesType']] = data['significantPropertiesValue']
186
+ # end
187
+ # data = file[:dmd]
188
+ # if data
189
+ # data.each { |key, value| file_data[key] = value }
190
+ # end
191
+ # file_list << file_data
192
+ # file_data_keys.merge file_data.keys
193
+ # else
194
+ # file.each do |_, value|
195
+ # next unless value.is_a? Hash
196
+ # # noinspection RubyScope
197
+ # file_proc.call(value)
198
+ # end
199
+ # end
200
+ # end
201
+
202
+ # rep.keys.each do |key|
203
+ # file_proc.call(rep[key]) if key.is_a?(String)
204
+ # end
205
+
206
+ # table_start = dossier_row
207
+ # dossier_sheet.write_row(dossier_row, 0, file_data_keys.to_a, file_header_format)
208
+ # file_list.each do |file_info|
209
+ # dossier_row += 1
210
+ # file_data = []
211
+ # file_data_keys.each { |key| file_data << file_info[key] }
212
+ # dossier_sheet.write_row(dossier_row, 0, file_data)
213
+ # end
214
+ # table_end = dossier_row
215
+
216
+ # dossier_sheet.add_table(
217
+ # table_start, 0, table_end, file_data_keys.size - 1,
218
+ # style: 'Table Style Medium 16', name: rep[:id],
219
+ # columns: file_data_keys.map { |key| {header: key} }
220
+ # )
221
+
222
+ # dossier_row += 2
223
+ # end
224
+ # ie_data_keys.merge ie_data.keys
225
+ # ie_list << ie_data
226
+ # end
227
+ # end
228
+
229
+ # # write ie data to overview worksheet
230
+ # overview.write_row(0, 0, ie_data_keys.to_a, ie_data_header_format)
231
+ # overview_row = 1
232
+ # ie_list.each do |ie_info|
233
+ # ie_data = []
234
+ # ie_data_keys.each { |key| ie_data << ie_info[key] }
235
+ # overview.write_row(overview_row, 0, ie_data)
236
+ # overview_row += 1
237
+ # end
238
+
239
+ # rescue Exception => e
240
+ # puts e.message
241
+ # puts e.backtrace
242
+ # # close and save workbook
243
+ # ensure
244
+ # workbook.close
245
+ # end
246
+
247
+ # # @param [String] report_file
248
+ # # @param [Array] deposits
249
+ # def get_dav_deposit_report(report_file, deposits)
250
+ # # create and open Workbook
251
+ # workbook = WriteXLSX.new(report_file)
252
+
253
+ # # set up some formatting
254
+ # ie_data_header_format = workbook.add_format(bold: 1)
255
+ # rep_name_format = workbook.add_format(bold: 1)
256
+ # file_header_format = workbook.add_format(bold: 1)
257
+
258
+ # # First Sheet is an overview of all dossiers
259
+ # overview = workbook.add_worksheet('dossier overzicht')
260
+ # ie_data_keys = Set.new %w[id dossier link disposition]
261
+ # ie_list = [] # ie info will be collected in this array to be printed later
262
+
263
+ # # iterate over all deposits
264
+ # deposits.each do |deposit|
265
+ # # iterate over all IEs
266
+ # deposit[:ies].sort { |x, y| x[:id] <=> y[:id] }.each do |ie|
267
+ # @ie = ie
268
+ # id = (ie[:id] || ie[:ie])
269
+ # # noinspection RubyStringKeysInHashInspection
270
+ # ie_data = {
271
+ # 'id' => "#{id}",
272
+ # 'dossier' => ie[:title],
273
+ # 'disposition' => (ie[:content][:dmd]['date'] rescue nil),
274
+ # 'link' => "http://depot.lias.be/delivery/DeliveryManagerServlet?dps_pid=#{ie[:ie]}",
275
+ # }.cleanup
276
+ # [
277
+ # # (ie[:content][:dmd] rescue nil),
278
+ # (ie[:content][:amd][:tech]['generalIECharacteristics'] rescue nil),
279
+ # (ie[:content][:amd][:rights]['accessRightsPolicy'] rescue nil)
280
+ # ].each do |data|
281
+ # ie_data.merge! data if data
282
+ # end
283
+ # dossier_sheet = workbook.add_worksheet(id.gsub(/[\\\/*?]+/, '.'))
284
+ # dossier_row = 0
285
+
286
+ # ie[:content].each do |rep_name, rep|
287
+ # next unless rep_name.is_a?(String)
288
+ # @rep = rep
289
+ # file_data_keys = Set.new %w(folder naam link mimetype puid formaat versie)
290
+ # file_list = []
291
+
292
+ # dossier_sheet.write_row(dossier_row, 0, [rep_name], rep_name_format)
293
+ # %w(preservationType usageType).each do |key|
294
+ # dossier_row += 1
295
+ # dossier_sheet.write_row(
296
+ # dossier_row, 0,
297
+ # [
298
+ # key.underscore.gsub('_', ' '),
299
+ # rep[:amd][:tech]['generalRepCharacteristics'][key]
300
+ # ]
301
+ # )
302
+ # end
303
+ # dossier_row += 2
304
+
305
+ # file_proc = lambda do |file|
306
+ # @file = file
307
+ # if file[:id]
308
+ # tech = file[:amd][:tech]
309
+ # # noinspection RubyStringKeysInHashInspection
310
+ # file_data = {
311
+ # 'folder' => (tech['generalFileCharacteristics']['fileOriginalPath'] rescue '').split('/')[1..-1].join('\\'),
312
+ # 'naam' => (tech['generalFileCharacteristics']['fileOriginalName'] rescue nil),
313
+ # 'link' => ("http://depot.lias.be/delivery/DeliveryManagerServlet?dps_pid=#{file[:id]}" rescue nil),
314
+ # 'mimetype' => (tech['fileFormat']['mimeType'] rescue nil),
315
+ # 'puid' => (tech['fileFormat']['formatRegistryId'] rescue nil),
316
+ # 'formaat' => (tech['fileFormat']['formatDescription'] rescue nil),
317
+ # 'versie' => (tech['fileFormat']['formatVersion'] rescue nil),
318
+ # 'viruscheck' => (tech['fileVirusCheck']['status'] rescue nil),
319
+ # 'file_type' => (tech['generalFileCharacteristics']['FileEntityType']),
320
+ # 'groep' => file[:group],
321
+ # }
322
+ # data = tech['fileValidation']
323
+ # if data
324
+ # valid = (data['isValid'] == 'true') rescue nil
325
+ # well_formed = (data['isWellFormed'] == 'true') rescue nil
326
+ # file_data['validatie'] = if valid && well_formed
327
+ # 'OK'
328
+ # else
329
+ # 'niet OK'
330
+ # end
331
+ # end
332
+ # data = tech['significantProperties']
333
+ # if data
334
+ # file_data[data['significantPropertiesType']] = data['significantPropertiesValue']
335
+ # end
336
+ # data = file[:dmd]
337
+ # if data
338
+ # data.each { |key, value| file_data[key] = value }
339
+ # end
340
+ # file_list << file_data
341
+ # file_data_keys.merge file_data.keys
342
+ # else
343
+ # file.each do |_, value|
344
+ # next unless value.is_a? Hash
345
+ # # noinspection RubyScope
346
+ # file_proc.call(value)
347
+ # end
348
+ # end
349
+ # end
350
+
351
+ # rep.keys.each do |key|
352
+ # file_proc.call(rep[key]) if key.is_a?(String)
353
+ # end
354
+
355
+ # table_start = dossier_row
356
+ # dossier_sheet.write_row(dossier_row, 0, file_data_keys.to_a, file_header_format)
357
+ # file_list.each do |file_info|
358
+ # dossier_row += 1
359
+ # file_data = []
360
+ # file_data_keys.each { |key| file_data << file_info[key] }
361
+ # dossier_sheet.write_row(dossier_row, 0, file_data)
362
+ # end
363
+ # table_end = dossier_row
364
+
365
+ # dossier_sheet.add_table(
366
+ # table_start, 0, table_end, file_data_keys.size - 1,
367
+ # style: 'Table Style Medium 16', name: rep[:id],
368
+ # columns: file_data_keys.map { |key| {header: key} }
369
+ # )
370
+
371
+ # dossier_row += 2
372
+ # end
373
+ # ie_data_keys.merge ie_data.keys
374
+ # ie_list << ie_data
375
+ # end
376
+ # end
377
+
378
+ # # write ie data to overview worksheet
379
+ # overview.write_row(0, 0, ie_data_keys.to_a, ie_data_header_format)
380
+ # overview_row = 1
381
+ # ie_list.each do |ie_info|
382
+ # ie_data = []
383
+ # ie_data_keys.each { |key| ie_data << ie_info[key] }
384
+ # overview.write_row(overview_row, 0, ie_data)
385
+ # overview_row += 1
386
+ # end
387
+
388
+ # rescue Exception => e
389
+ # puts e.message
390
+ # puts e.backtrace
391
+ # # close and save workbook
392
+ # ensure
393
+ # workbook.close
394
+ # end
395
395
 
396
396
  def file
397
397
  @file
@@ -1,5 +1,5 @@
1
1
  module Libis
2
2
  module Services
3
- VERSION = '1.0.13'
3
+ VERSION = '1.1.0'
4
4
  end
5
5
  end
@@ -29,14 +29,14 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'equivalent-xml', '~> 0.6'
30
30
  spec.add_development_dependency 'rexml'
31
31
 
32
- spec.add_runtime_dependency 'libis-tools', '~> 1.0'
33
- spec.add_runtime_dependency 'highline', '~> 2.0'
34
- spec.add_runtime_dependency 'savon', '~> 2.11'
35
- spec.add_runtime_dependency 'rest-client', '~> 2.0'
36
- spec.add_runtime_dependency 'oai', '~> 1.0'
37
- spec.add_runtime_dependency 'ruby-oci8', '~> 2.2.2' unless RUBY_PLATFORM == 'java'
38
- spec.add_runtime_dependency 'virtus', '~> 1.0'
39
- spec.add_runtime_dependency 'write_xlsx', '~> 0.83'
40
- spec.add_runtime_dependency 'awesome_print', '~> 1.6'
32
+ spec.add_runtime_dependency 'libis-tools', '~> 1.1'
33
+ spec.add_runtime_dependency 'highline', '~> 2.1'
34
+ spec.add_runtime_dependency 'savon', '~> 2.14'
35
+ spec.add_runtime_dependency 'rest-client', '~> 2.1'
36
+ spec.add_runtime_dependency 'oai', '~> 1.2'
37
+ spec.add_runtime_dependency 'ruby-oci8', '~> 2.2.12' unless RUBY_PLATFORM == 'java'
38
+ spec.add_runtime_dependency 'virtus', '~> 2.0'
39
+ # spec.add_runtime_dependency 'write_xlsx', '~> 0.83'
40
+ spec.add_runtime_dependency 'awesome_print', '~> 1.9'
41
41
  spec.add_runtime_dependency 'httpclient', '~> 2.8'
42
42
  end
@@ -49,7 +49,7 @@ describe 'Alma' do
49
49
  data = Libis::Services::Alma::WebService.new.get_marc('9930800070101480', 'l7xx8879c82a7d7b453a887a6e6dca8300fd').
50
50
  to_hash(:convert_tags_to => lambda { |tag| tag.snakecase.to_sym })
51
51
  record = data[:bib][:record]
52
- record.cleanup!
52
+ record.cleanup
53
53
  }
54
54
 
55
55
  it 'search' do
@@ -27,7 +27,7 @@ describe 'Rosetta IE Service' do
27
27
 
28
28
  it 'should get IE info' do
29
29
 
30
- mets = ie_handler.get_mets('IE403595')
30
+ mets = ie_handler.get_mets('IE1000')
31
31
  expect(mets).not_to be_nil
32
32
  expect(mets).to deep_include(expected_mets)
33
33
  # check_container expected_mets, mets
@@ -35,7 +35,7 @@ describe 'Rosetta IE Service' do
35
35
 
36
36
  it 'should get IE metadata' do
37
37
 
38
- metadata = ie_handler.get_metadata('IE403595')
38
+ metadata = ie_handler.get_metadata('IE1000')
39
39
  expect(metadata).not_to be_nil
40
40
  expect(metadata).to deep_include(expected_ies)
41
41
  # check_container(expected_ies, metadata)
@@ -41,18 +41,17 @@ describe 'Rosetta OAI-PMH Service' do
41
41
  }
42
42
 
43
43
  let(:expected_identifiers) {
44
- [ 'oai:sandbox.teneo.libis.be:IE403595']
44
+ [ 'oai:sandbox.teneo.libis.be:IE1000']
45
45
  }
46
46
 
47
47
  let(:expected_records) {
48
48
  [
49
49
  {
50
- header: {identifier: 'oai:sandbox.teneo.libis.be:IE403595'},
50
+ header: {identifier: 'oai:sandbox.teneo.libis.be:IE1000'},
51
51
  metadata: {
52
52
  'metadata' => {
53
53
  'oai_dc:dc' => {
54
- 'dc:title' => 'Denemarken 2015',
55
- 'dcterms:spatial' => ['Denemarken', 'Fyn', 'Sinebjerg']
54
+ 'dc:title' => 'Test'
56
55
  }
57
56
  }
58
57
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libis-services
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.13
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kris Dekeyser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-01 00:00:00.000000000 Z
11
+ date: 2023-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -100,126 +100,112 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.0'
103
+ version: '1.1'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.0'
110
+ version: '1.1'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: highline
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '2.0'
117
+ version: '2.1'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '2.0'
124
+ version: '2.1'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: savon
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '2.11'
131
+ version: '2.14'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '2.11'
138
+ version: '2.14'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rest-client
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '2.0'
145
+ version: '2.1'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '2.0'
152
+ version: '2.1'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: oai
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '1.0'
159
+ version: '1.2'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '1.0'
166
+ version: '1.2'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: ruby-oci8
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 2.2.2
173
+ version: 2.2.12
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 2.2.2
180
+ version: 2.2.12
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: virtus
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '1.0'
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: '1.0'
195
- - !ruby/object:Gem::Dependency
196
- name: write_xlsx
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: '0.83'
187
+ version: '2.0'
202
188
  type: :runtime
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
192
  - - "~>"
207
193
  - !ruby/object:Gem::Version
208
- version: '0.83'
194
+ version: '2.0'
209
195
  - !ruby/object:Gem::Dependency
210
196
  name: awesome_print
211
197
  requirement: !ruby/object:Gem::Requirement
212
198
  requirements:
213
199
  - - "~>"
214
200
  - !ruby/object:Gem::Version
215
- version: '1.6'
201
+ version: '1.9'
216
202
  type: :runtime
217
203
  prerelease: false
218
204
  version_requirements: !ruby/object:Gem::Requirement
219
205
  requirements:
220
206
  - - "~>"
221
207
  - !ruby/object:Gem::Version
222
- version: '1.6'
208
+ version: '1.9'
223
209
  - !ruby/object:Gem::Dependency
224
210
  name: httpclient
225
211
  requirement: !ruby/object:Gem::Requirement
@@ -332,7 +318,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
332
318
  - !ruby/object:Gem::Version
333
319
  version: '0'
334
320
  requirements: []
335
- rubygems_version: 3.3.7
321
+ rubygems_version: 3.4.10
336
322
  signing_key:
337
323
  specification_version: 4
338
324
  summary: LIBIS Services toolbox.