libis-format 0.9.35 → 0.9.36

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: da9fb9519c4c34acf71a1d337b38a575be668b59
4
- data.tar.gz: 22f23bb3cc7f5772c95891b2fa2a356bbc881d43
3
+ metadata.gz: 102c089d1a23d177c40e693c0e2d87182659e6e9
4
+ data.tar.gz: 4a9b393229a17eac40db9a2540a84fc8e2e75eeb
5
5
  SHA512:
6
- metadata.gz: 2a6e12bd802a6f12b6367c07e08d1ad59d7c55ff53f0669ac82b11074c96930e3cb61b9dae44c0fc2590284e223efb27b2bb41b06978893620ae7abe3d5a5548
7
- data.tar.gz: 21c025acb844ec485e65ca494b565cbc620024f77255c19f0eaf96e51739f44b57061740ecf497c532763eb9c745b5304eff56b08eed5d6bcc136ea3f5f6753f
6
+ metadata.gz: 3470b7edeab6bea691f5a25ba02d76cba85618026a61beb1ace8023c73d3270a916b585ae006189792cc0b064f760c28f4f7871f983859d7158bf7037aad8067
7
+ data.tar.gz: 6d90ae9419afb3c2cda8d060e4fb6b809fa575cfacf407049dc25694ff51fa74bc812ad38f2b5f1cc38a41a50fedcf2130290fa3913fd2ce6bfc267ea46947d2
@@ -43,6 +43,7 @@ module Libis
43
43
  options[:droid] = true unless options.keys.include?(:droid) and options[:tool] and options[:tool] != :droid
44
44
  options[:fido] = true unless options.keys.include?(:fido) and options[:tool] and options[:tool] != :fido
45
45
  options[:file] = true unless options.keys.include?(:file) and options[:tool] and options[:tool] != :file
46
+ options[:xml_validation] = true unless options.keys.include?(:xml_validation) and !options[:xml_validation]
46
47
 
47
48
  result = {messages: [], output: {}, formats: {}}
48
49
 
@@ -64,11 +65,16 @@ module Libis
64
65
  log_msg(result, :error, "Error running File: #{e.message} @ #{e.backtrace.first}")
65
66
  end
66
67
 
68
+ # Let's not waiste time on this. If not standard, it will fail in Rosetta anyway.
67
69
  # get_extension_identification(file, options[:recursive], result)
68
70
 
69
71
  # determine XML type. Add custom types at runtime with
70
72
  # Libis::Tools::Format::Identifier.add_xml_validation('my_type', '/path/to/my_type.xsd')
71
- validate_against_xml_schema(result)
73
+ begin
74
+ validate_against_xml_schema(result) if options[:xml_validation]
75
+ rescue => e
76
+ log_msg(result, :error, "Error validating XML files: #{e.message} @ #{e.backtrace.first}")
77
+ end
72
78
 
73
79
  process_results(result)
74
80
 
@@ -129,9 +135,15 @@ module Libis
129
135
  # Do nothing - probably Nokogiri chrashed during validation. Could have many causes
130
136
  # (remote schema (firewall, network, link rot, ...), schema syntax error, corrupt XML,...)
131
137
  # so we log and continue.
132
- log_msg(result, :warn, "Error during XML validation: #{e.message}")
138
+ log_msg(result, :warn,
139
+ "Error during XML validation of file #{file} against #{File.basename(xsd_file)}: #{e.message}")
133
140
  end
134
141
  end
142
+ rescue => e
143
+ # Not much we can do. probably Nokogiri chrashed opening the XML file. What caused this?
144
+ # (XML not parsable, false XML identification, ???)
145
+ # so we log and continue.
146
+ log_msg(result, :warn, "Error paring XML file #{file}: #{e.message} @ #{e.backtrace.first}")
135
147
  end
136
148
 
137
149
  def process_results(result)
@@ -171,7 +183,7 @@ module Libis
171
183
  file_result[:alternatives] = []
172
184
  format_matches.keys.each do |mime, puid|
173
185
  next if file_result[:mimetype] == mime && puid.nil?
174
- selection = output.select {|x| x[:mimetype] == mime && x[:puid] == puid}
186
+ selection = output.select {|x| x[:mimetype] == mime && x[:puid] == puid}
175
187
  file_result[:alternatives] << get_best_result(selection)
176
188
  end
177
189
  file_result[:alternatives] = file_result[:alternatives].sort_by {|x| x[:score]}.reverse
@@ -1,5 +1,5 @@
1
1
  module Libis
2
2
  module Format
3
- VERSION = '0.9.35'
3
+ VERSION = '0.9.36'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libis-format
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.35
4
+ version: 0.9.36
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kris Dekeyser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-20 00:00:00.000000000 Z
11
+ date: 2017-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler