Added support for the --image_dir and --font_dir command line switches.
[redact.git] / lib / redact / redact.rb
index 70f6770e8af618abdc24b9f62ddd1595ce611aba..d0da5d7859b655ad2d47d78eb78e28827a4b5fc4 100644 (file)
@@ -1,5 +1,5 @@
 #--
-# $Id: redact.rb 35 2005-04-25 17:14:49Z tilman $
+# $Id: redact.rb 44 2005-06-08 17:35:49Z tilman $
 #
 # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
 #
@@ -145,7 +145,7 @@ module Redact
                attr_reader :filename
 
                def initialize(filename)
-                       @filename = filename.to_str.dup.freeze
+                       @filename = find_font(filename.to_str).freeze
                end
 
                protected
@@ -156,6 +156,16 @@ module Redact
                def to_eet_properties
                        {"entry" => [@filename]}
                end
+
+               private
+               def find_font(file)
+                       [".", OPTIONS.font_dir].each do |d|
+                               f2 = File.join(d, file)
+                               return f2 if File.file?(f2)
+                       end
+
+                       nil
+               end
        end
 
        class ImageDirectory < Array # :nodoc:
@@ -179,7 +189,7 @@ module Redact
                attr_reader :filename, :image, :id
 
                def initialize(filename)
-                       @filename = filename.to_str.dup.freeze
+                       @filename = find_image(filename.to_str).freeze
                        @image = Imlib2::Image.load(@filename)
                        @id = -1
                        @source_type = 1 # COMP
@@ -207,6 +217,16 @@ module Redact
                         "source_param" => [@source_param],
                         "id" => [@id]}
                end
+
+               private
+               def find_image(file)
+                       [".", OPTIONS.image_dir].each do |d|
+                               f2 = File.join(d, file)
+                               return f2 if File.file?(f2)
+                       end
+
+                       nil
+               end
        end
 
        class CollectionDirectory < Array # :nodoc: