quick_magick 0.6.0 → 0.6.1

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.

Potentially problematic release.


This version of quick_magick might be problematic. Click here for more details.

data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('quick_magick', '0.6.0') do |p|
5
+ Echoe.new('quick_magick', '0.6.1') do |p|
6
6
  p.description = "QuickMagick allows you to access ImageMagick command line functions using Ruby interface."
7
7
  p.url = "http://quickmagick.rubyforge.org/"
8
8
  p.author = "Ahmed ElDawy"
@@ -63,11 +63,19 @@ module QuickMagick
63
63
 
64
64
  # returns info for an image using <code>identify</code> command
65
65
  def identify(filename)
66
- result = `identify #{filename} 2>&1`
66
+ error_file = Tempfile.new('identify_error')
67
+ result = `identify #{filename} 2>'#{error_file.path}'`
67
68
  unless $?.success?
68
- raise QuickMagick::QuickMagickError, "Illegal file \"#{filename}\""
69
+ error_message = <<-ERROR
70
+ Error executing command: identify #{filename}
71
+ Result is: #{result}
72
+ Error is: #{error_file.read}
73
+ ERROR
74
+ raise QuickMagick::QuickMagickError, error_message
69
75
  end
70
76
  result
77
+ ensure
78
+ error_file.close
71
79
  end
72
80
 
73
81
  end
@@ -299,7 +307,8 @@ module QuickMagick
299
307
  # The polyline primitive requires three or more points to define their perimeters.
300
308
  # A polyline is simply a polygon in which the final point is not stroked to the start point.
301
309
  # When unfilled, this is a polygonal line. If the -stroke setting is none (the default), then a polyline is identical to a polygon.
302
- # points - A single array with each pair forming a coordinate in the form (x, y). e.g. [0,0,100,100,100,0] will draw a polyline between points (0,0)-(100,100)-(100,0)
310
+ # points - A single array with each pair forming a coordinate in the form (x, y).
311
+ # e.g. [0,0,100,100,100,0] will draw a polyline between points (0,0)-(100,100)-(100,0)
303
312
  def draw_polyline(points, options={})
304
313
  append_to_operators("draw", "#{options_to_str(options)} polyline #{points_to_str(points)}")
305
314
  end
@@ -307,7 +316,8 @@ module QuickMagick
307
316
  # The polygon primitive requires three or more points to define their perimeters.
308
317
  # A polyline is simply a polygon in which the final point is not stroked to the start point.
309
318
  # When unfilled, this is a polygonal line. If the -stroke setting is none (the default), then a polyline is identical to a polygon.
310
- # points - A single array with each pair forming a coordinate in the form (x, y). e.g. [0,0,100,100,100,0] will draw a polygon between points (0,0)-(100,100)-(100,0)
319
+ # points - A single array with each pair forming a coordinate in the form (x, y).
320
+ # e.g. [0,0,100,100,100,0] will draw a polygon between points (0,0)-(100,100)-(100,0)
311
321
  def draw_polygon(points, options={})
312
322
  append_to_operators("draw", "#{options_to_str(options)} polygon #{points_to_str(points)}")
313
323
  end
@@ -353,7 +363,8 @@ module QuickMagick
353
363
 
354
364
  # saves the current image to the given filename
355
365
  def save(output_filename)
356
- result = `convert #{command_line} "#{output_filename}" 2>&1`
366
+ error_file = Tempfile.new('convert_error')
367
+ result = `convert #{command_line} '#{output_filename}' 2>'#{error_file.path}'`
357
368
  if $?.success?
358
369
  if @pseudo_image
359
370
  # since it's been saved, convert it to normal image (not pseudo)
@@ -365,9 +376,12 @@ module QuickMagick
365
376
  error_message = <<-ERROR
366
377
  Error executing command: convert #{command_line} "#{output_filename}"
367
378
  Result is: #{result}
379
+ Error is: #{error_file.read}
368
380
  ERROR
369
381
  raise QuickMagick::QuickMagickError, error_message
370
382
  end
383
+ ensure
384
+ error_file.close
371
385
  end
372
386
 
373
387
  alias write save
@@ -376,7 +390,8 @@ module QuickMagick
376
390
  # saves the current image overwriting the original image file
377
391
  def save!
378
392
  raise QuickMagick::QuickMagickError, "Cannot mogrify a pseudo image" if @pseudo_image
379
- result = `mogrify #{command_line}`
393
+ error_file = Tempfile.new('mogrify_error')
394
+ result = `mogrify #{command_line} 2>'#{error_file.path}'`
380
395
  if $?.success?
381
396
  # remove all operations to avoid duplicate operations
382
397
  revert!
@@ -385,9 +400,12 @@ module QuickMagick
385
400
  error_message = <<-ERRORMSG
386
401
  Error executing command: mogrify #{command_line}
387
402
  Result is: #{result}
403
+ Error is: #{error_file.read}
388
404
  ERRORMSG
389
405
  raise QuickMagick::QuickMagickError, error_message
390
406
  end
407
+ ensure
408
+ error_file.close if error_file
391
409
  end
392
410
 
393
411
  alias write! save!
data/quick_magick.gemspec CHANGED
@@ -2,17 +2,17 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{quick_magick}
5
- s.version = "0.6.0"
5
+ s.version = "0.6.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Ahmed ElDawy"]
9
- s.date = %q{2009-09-16}
9
+ s.date = %q{2009-09-24}
10
10
  s.description = %q{QuickMagick allows you to access ImageMagick command line functions using Ruby interface.}
11
11
  s.email = %q{ahmed.eldawy@badrit.com}
12
12
  s.extra_rdoc_files = ["README", "lib/quick_magick/image.rb", "lib/quick_magick/image_list.rb", "lib/quick_magick.rb"]
13
13
  s.files = ["README", "Rakefile", "lib/quick_magick/image.rb", "lib/quick_magick/image_list.rb", "lib/quick_magick.rb", "Manifest", "quick_magick.gemspec", "test/image_test.rb", "test/badfile.xxx", "test/multipage.tif", "test/image_list_test.rb", "test/test_magick.rb", "test/9.gif"]
14
14
  s.homepage = %q{http://quickmagick.rubyforge.org/}
15
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Quick_magick", "--main", "README~"]
15
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Quick_magick", "--main", "README"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = %q{quickmagick}
18
18
  s.rubygems_version = %q{1.3.5}
data/test/image_test.rb CHANGED
@@ -22,6 +22,12 @@ class ImageTest < Test::Unit::TestCase
22
22
  assert_equal 1, i.size
23
23
  end
24
24
 
25
+ def test_skip_warnings
26
+ filename = File.join($base_dir, "warnings.tiff")
27
+ i = QuickMagick::Image.read(filename)
28
+ assert_equal 1, i.size
29
+ end
30
+
25
31
  def test_create_from_blob
26
32
  blob = nil
27
33
  File.open(@logo_filename, "rb") do |f|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quick_magick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ahmed ElDawy
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-16 00:00:00 +02:00
12
+ date: 2009-09-24 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -49,7 +49,7 @@ rdoc_options:
49
49
  - --title
50
50
  - Quick_magick
51
51
  - --main
52
- - README~
52
+ - README
53
53
  require_paths:
54
54
  - lib
55
55
  required_ruby_version: !ruby/object:Gem::Requirement