Kouhei Sutou
null+****@clear*****
Mon Jan 6 00:11:13 JST 2014
Kouhei Sutou 2014-01-06 00:11:13 +0900 (Mon, 06 Jan 2014) New Revision: 3132ba4c809aca10cbbc7b0ee7df1408006c921d https://github.com/ranguba/chupa-text/commit/3132ba4c809aca10cbbc7b0ee7df1408006c921d Message: Log on extrction Copied files: lib/chupa-text/loggable.rb (from lib/chupa-text.rb) lib/chupa-text/logger.rb (from lib/chupa-text.rb) Modified files: lib/chupa-text.rb lib/chupa-text/extractor.rb Modified: lib/chupa-text.rb (+4 -0) =================================================================== --- lib/chupa-text.rb 2014-01-06 00:10:33 +0900 (ba2cd5e) +++ lib/chupa-text.rb 2014-01-06 00:11:13 +0900 (bfc48ae) @@ -20,6 +20,10 @@ require "chupa-text/error" require "chupa-text/size-parser" require "chupa-text/default-logger" +require "chupa-text/logger" + +require "chupa-text/loggable" + require "chupa-text/configuration" require "chupa-text/configuration-loader" require "chupa-text/decomposer" Modified: lib/chupa-text/extractor.rb (+17 -0) =================================================================== --- lib/chupa-text/extractor.rb 2014-01-06 00:10:33 +0900 (7eae97d) +++ lib/chupa-text/extractor.rb 2014-01-06 00:11:13 +0900 (3540ecb) @@ -19,6 +19,8 @@ require "uri" module ChupaText class Extractor + include Loggable + def initialize @decomposers = [] end @@ -59,16 +61,27 @@ module ChupaText targets = [ensure_data(input)] until targets.empty? target = targets.pop + debug do + "#{log_tag}[extract][target] <#{target.path}>:<#{target.mime_type}>" + end if target.text_plain? yield(target) next end decomposer = find_decomposer(target) if decomposer.nil? + debug {"#{log_tag}[extract][decomposer] not found"} yield(target) if target.text? next end + debug {"#{log_tag}[extract][decomposer] #{decomposer.class}"} decomposer.decompose(target) do |decomposed| + debug do + "#{log_tag}[extract][decomposed] " + + "#{decomposer.class}: " + + "<#{target.path}>:<#{target.mime_type}> -> " + + "<#{decomposed.mime_type}>" + end targets.push(decomposed) end end @@ -88,5 +101,9 @@ module ChupaText decomposer.target?(data) end end + + def log_tag + "[extractor]" + end end end Copied: lib/chupa-text/loggable.rb (+28 -20) 54% =================================================================== --- lib/chupa-text.rb 2014-01-06 00:10:33 +0900 (ba2cd5e) +++ lib/chupa-text/loggable.rb 2014-01-06 00:11:13 +0900 (a01fb13) @@ -14,28 +14,36 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -require "chupa-text/version" +module ChupaText + # Adds shortcut methods for easy to log. + module Loggable + private + def logger + ChupaText.logger + end -require "chupa-text/error" + def debug(*arguments, &block) + logger.debug(*arguments, &block) + end -require "chupa-text/size-parser" -require "chupa-text/default-logger" -require "chupa-text/configuration" -require "chupa-text/configuration-loader" -require "chupa-text/decomposer" -require "chupa-text/decomposer-registry" -require "chupa-text/decomposers" -require "chupa-text/extractor" -require "chupa-text/formatters" -require "chupa-text/mime-type" -require "chupa-text/mime-type-registry" + def info(*arguments, &block) + logger.info(*arguments, &block) + end -require "chupa-text/file-content" -require "chupa-text/virtual-content" + def warn(*arguments, &block) + logger.warn(*arguments, &block) + end -require "chupa-text/data" -require "chupa-text/input-data" -require "chupa-text/virtual-file-data" -require "chupa-text/text-data" + def error(*arguments, &block) + logger.error(*arguments, &block) + end -require "chupa-text/command" + def fatal(*arguments, &block) + logger.fatal(*arguments, &block) + end + + def unknown(*arguments, &block) + logger.unknown(*arguments, &block) + end + end +end Copied: lib/chupa-text/logger.rb (+13 -24) 53% =================================================================== --- lib/chupa-text.rb 2014-01-06 00:10:33 +0900 (ba2cd5e) +++ lib/chupa-text/logger.rb 2014-01-06 00:11:13 +0900 (4629a6a) @@ -14,28 +14,17 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -require "chupa-text/version" +module ChupaText + class << self + # @return [Logger] The logger of ChupaText. + # {ChupaText::DefaultLogger} is used by default. + def logger + @@logger ||= DefaultLogger.new + end -require "chupa-text/error" - -require "chupa-text/size-parser" -require "chupa-text/default-logger" -require "chupa-text/configuration" -require "chupa-text/configuration-loader" -require "chupa-text/decomposer" -require "chupa-text/decomposer-registry" -require "chupa-text/decomposers" -require "chupa-text/extractor" -require "chupa-text/formatters" -require "chupa-text/mime-type" -require "chupa-text/mime-type-registry" - -require "chupa-text/file-content" -require "chupa-text/virtual-content" - -require "chupa-text/data" -require "chupa-text/input-data" -require "chupa-text/virtual-file-data" -require "chupa-text/text-data" - -require "chupa-text/command" + # @param [Logger] logger The logger of ChupaText. + def logger=(logger) + @@logger = logger + end + end +end -------------- next part -------------- HTML����������������������������...Download