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 +4 -4
- data/lib/libis/format/identifier.rb +15 -3
- data/lib/libis/format/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 102c089d1a23d177c40e693c0e2d87182659e6e9
|
4
|
+
data.tar.gz: 4a9b393229a17eac40db9a2540a84fc8e2e75eeb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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,
|
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
|
-
|
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
|
data/lib/libis/format/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2017-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|