libis-format 0.9.35 → 0.9.36

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
  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