pngcheck 0.2.8-x64-mingw-ucrt → 0.3.0-x64-mingw-ucrt

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: f0f273fb6ee15eb473b961f885fb3f33859da084da84a2b4b827a030945145a9
4
- data.tar.gz: d280ac5b493a68c064278101244d7ddff9ac9deb698bb91195e748976f760edb
3
+ metadata.gz: 4a0cae18b039dcf8430f21220f2dec4ba9b994cc58c2e5961a05f7e8707a635b
4
+ data.tar.gz: 22e9949686b2c1bc6b2644ff31ef76e2abc5f528513c2e0e311457bb195aac80
5
5
  SHA512:
6
- metadata.gz: c40ee934a8d27c44ce91050d081568f241a7d630914d34a3fe70af4ef001aff9005811684e117470f9a35c178740d83f8e2f2a9641377c3af7c75a2ff4c95f74
7
- data.tar.gz: 9ac701026482c65d1d642787c54502f0f9e25c1b42fd792df73ddc1c0ebd61c535140959c3e99a9b5daa886f8f8a58280f93f92368045f9aff0912fbf9366ab2
6
+ metadata.gz: 46a1f94e297b22190c6deb1979e0cf2ceda96f02783ba2b83457bd09575d67ffc2d23b64562a28fa2f039fef70dd573e578d2dd4a382daf0346a70cfd9497718
7
+ data.tar.gz: 44e88bb9be180f5daad2df00d471f283bf55b4f8e8851573d6b8e5e3054eb57ff99171ded844ae8744bb51ad8946ade32b3ee377ef3ced213c1f112a8ccb0c46
data/README.adoc CHANGED
@@ -113,6 +113,8 @@ Where:
113
113
  * `valid` is `true` if the buffer is correct image
114
114
  * otherwise an exception is raised. Possible exception types are `PngCheck::EmptyPngError`, `PngCheck::CorruptPngError`
115
115
 
116
+ Both exception classes have additional status attribute that is set to one of STATUX_XXX codes described above. We believe that
117
+ exceptions with STATUS_WARNING can be ignored in the majority of applications.
116
118
 
117
119
  ==== Pre-validation with libpng-ruby
118
120
 
data/ext/layout.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- PNGCHECK_ARCH = "pngcheck-3.0.3.tar.gz"
4
- PNGCHECK_URI = "http://www.libpng.org/pub/png/src/#{PNGCHECK_ARCH}"
3
+ PNGCHECK_VER = "3.0.4"
4
+ PNGCHECK_ARCH = "pngcheck-#{PNGCHECK_VER}.tar.gz"
5
+ PNGCHECK_URI = "https://github.com/metanorma/pngcheck/archive/refs/tags/metanorma-v#{PNGCHECK_VER}.tar.gz"
5
6
  PNGCHECK_LOCAL = "ext/#{PNGCHECK_ARCH}"
Binary file
@@ -17,8 +17,8 @@ module PngCheck
17
17
 
18
18
  def files_to_load_all
19
19
  @files << {
20
- url: "file:#{ROOT}/#{PNGCHECK_LOCAL}", # "http://www.libpng.org/pub/png/src/pngcheck-3.0.3.tar.gz"
21
- sha256: "c36a4491634af751f7798ea421321642f9590faa032eccb0dd5fb4533609dee6", # rubocop:disable Layout/LineLength
20
+ url: "file:#{ROOT}/#{PNGCHECK_LOCAL}",
21
+ sha256: "f8ff6033dc0008a90a468213a96ac5d72476b1e59378e267341fcf3734ebb2b3", # rubocop:disable Layout/LineLength
22
22
  }
23
23
  end
24
24
 
@@ -33,7 +33,7 @@ module PngCheck
33
33
  end
34
34
 
35
35
  def initialize
36
- super("pngcheck", "3.0.3")
36
+ super("pngcheck", PNGCHECK_VER)
37
37
  files_to_load_all
38
38
  files_to_load_cross
39
39
  @target = ROOT.join(@target).to_s
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PngCheck
4
- VERSION = "0.2.8"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/pngcheck.rb CHANGED
@@ -5,21 +5,30 @@ require "tempfile"
5
5
  require_relative "pngcheck/version"
6
6
 
7
7
  module PngCheck
8
+ STATUS_OK = 0
9
+ STATUS_WARNING = 1 # an error in some circumstances but not in all
10
+ STATUS_MINOR_ERROR = 3 # minor spec errors (e.g., out-of-range values)
11
+ STATUS_MAJOR_ERROR = 4 # file corruption, invalid chunk length/layout, etc.
12
+ STATUS_CRITICAL_ERROR = 5 # unexpected EOF or other file(system) error
13
+
8
14
  EMPTY_IMAGE = "Image is empty"
9
15
 
10
- class CorruptPngError < StandardError; end
16
+ class CorruptPngError < StandardError
17
+ def initialize(msg, sts = STATUS_MAJOR_ERROR)
18
+ super(msg)
19
+ @status = sts
20
+ end
11
21
 
12
- class EmptyPngError < StandardError
13
- def initialize(msg = EMPTY_IMAGE)
14
- super
22
+ def status
23
+ @status
15
24
  end
16
25
  end
17
26
 
18
- STATUS_OK = 0
19
- STATUS_WARNING = 1 # an error in some circumstances but not in all
20
- STATUS_MINOR_ERROR = 3 # minor spec errors (e.g., out-of-range values)
21
- STATUS_MAJOR_ERROR = 4 # file corruption, invalid chunk length/layout, etc.
22
- STATUS_CRITICAL_ERROR = 5 # unexpected EOF or other file(system) error
27
+ class EmptyPngError < CorruptPngError
28
+ def initialize(msg = EMPTY_IMAGE)
29
+ super(msg, STATUS_CRITICAL_ERROR)
30
+ end
31
+ end
23
32
 
24
33
  EXTRA_MESSAGE_SIZE = 1024
25
34
 
@@ -53,7 +62,7 @@ module PngCheck
53
62
  def check_file(path)
54
63
  status, info = analyze_file(path)
55
64
  raise EmptyPngError.new if info.eql? EMPTY_IMAGE
56
- raise CorruptPngError.new info unless status == STATUS_OK
65
+ raise CorruptPngError.new(info, status) unless status == STATUS_OK
57
66
 
58
67
  true
59
68
  end
@@ -67,7 +76,7 @@ module PngCheck
67
76
  def check_buffer(data)
68
77
  status, info = analyze_buffer(data)
69
78
  raise EmptyPngError.new if info.eql? EMPTY_IMAGE
70
- raise CorruptPngError.new info unless status == STATUS_OK
79
+ raise CorruptPngError.new(info, status) unless status == STATUS_OK
71
80
 
72
81
  true
73
82
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pngcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.3.0
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-30 00:00:00.000000000 Z
11
+ date: 2022-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler