null+****@clear*****
null+****@clear*****
Fri Jun 22 19:18:59 JST 2012
SUZUKI Miho 2012-06-22 19:18:59 +0900 (Fri, 22 Jun 2012) New Revision: 44da0c432c98d4f6f95148106600cfab6396c2d2 https://github.com/logaling/logaling-command/commit/44da0c432c98d4f6f95148106600cfab6396c2d2 Log: Use glossary object instead of glossary_info Modified files: lib/logaling/command/application.rb lib/logaling/external_glossaries/tmx.rb lib/logaling/external_glossary.rb lib/logaling/repository.rb Modified: lib/logaling/command/application.rb (+9 -18) =================================================================== --- lib/logaling/command/application.rb 2012-06-19 21:31:15 +0900 (438b483) +++ lib/logaling/command/application.rb 2012-06-22 19:18:59 +0900 (680aacb) @@ -93,9 +93,13 @@ module Logaling::Command else case external_glossary when 'tmx' - glossary_info = initialize_import_parameter(args) - check_import_parameter(glossary_info) - @repository.import_tmx(Logaling::ExternalGlossary.get(external_glossary), glossary_info) + check_import_parameter(args) + url = args[1] + if url && !URI.parse(url).host + url = File::expand_path(url) + end + glossary = Logaling::Glossary.new(args[0], args[2], args[3]) + @repository.import_tmx(Logaling::ExternalGlossary.get(external_glossary), glossary, url) @repository.index else @repository.import(Logaling::ExternalGlossary.get(external_glossary)) @@ -359,25 +363,12 @@ module Logaling::Command end end - def check_import_parameter(glossary_info) - unless glossary_info[:name] && glossary_info[:url] + def check_import_parameter(args) + unless args[0] && args[1] raise Logaling::CommandFailed, "Do 'loga import tmx <glossary name> <url or path>'" end end - def initialize_import_parameter(arr) - glossary_info = {} - url = arr[1] - if url && !URI.parse(url).host - url = File::expand_path(url) - end - glossary_info[:name] = arr[0] - glossary_info[:url] = url - glossary_info[:source_language] = arr[2] - glossary_info[:target_language] = arr[3] - glossary_info - end - def register_and_index @repository.register(@dotfile_path, @config.glossary) @repository.index Modified: lib/logaling/external_glossaries/tmx.rb (+4 -4) =================================================================== --- lib/logaling/external_glossaries/tmx.rb 2012-06-19 21:31:15 +0900 (f600194) +++ lib/logaling/external_glossaries/tmx.rb 2012-06-22 19:18:59 +0900 (539efcb) @@ -23,8 +23,8 @@ module Logaling output_format 'csv' private - def convert_to_csv(csv, glossary_info) - doc = ::Nokogiri::XML(open(glossary_info[:url], "r")) + def convert_to_csv(csv, glossary, url) + doc = ::Nokogiri::XML(open(url, "r")) tu_nodes = doc.xpath('//tmx/body/tu') tu_nodes.each do |tu| original = "" @@ -33,12 +33,12 @@ module Logaling tu.children.each do |tuv| if tuv.name == "tuv" lang = convert_language_code_iso_639(tuv["lang"]) - if lang == glossary_info[:source_language] + if lang == glossary.source_language tuv.children.each do |child| original = child.text.strip if child.name == "seg" notes << child.text.strip if child.name == "note" end - elsif lang == glossary_info[:target_language] + elsif lang == glossary.target_language tuv.children.each do |child| translation = child.text.strip if child.name == "seg" notes << child.text.strip if child.name == "note" Modified: lib/logaling/external_glossary.rb (+14 -14) =================================================================== --- lib/logaling/external_glossary.rb 2012-06-19 21:31:15 +0900 (2e8e24a) +++ lib/logaling/external_glossary.rb 2012-06-22 19:18:59 +0900 (3c87bae) @@ -68,19 +68,19 @@ class Logaling::ExternalGlossary end end - def import(glossary_info=nil) - if glossary_info && glossary_info[:url] - unless file_exists?(glossary_info[:url]) - raise Logaling::GlossaryNotFound, "Failed open url/path <#{glossary_info[:url]}>" + def import(glossary=nil, url=nil) + if glossary && url + unless file_exists?(url) + raise Logaling::GlossaryNotFound, "Failed open url/path <#{url}>" end end - File.open(import_file_name(glossary_info), "w") do |output| + File.open(import_file_name(glossary), "w") do |output| output_format = self.class.output_format output_format = output_format.to_s if output_format.is_a?(Symbol) case output_format when "csv" - if glossary_info - convert_to_csv(CSV.new(output), glossary_info) + if glossary + convert_to_csv(CSV.new(output), glossary, url) else convert_to_csv(CSV.new(output)) end @@ -91,14 +91,14 @@ class Logaling::ExternalGlossary end private - def import_file_name(glossary_info=nil) - if glossary_info - glossary_info[:name] ||= self.class.name - glossary_info[:source_language] ||= self.class.source_language - glossary_info[:target_language] ||= self.class.target_language + def import_file_name(glossary=nil) + if glossary + glossary.name ||= self.class.name + glossary.source_language ||= self.class.source_language + glossary.target_language ||= self.class.target_language - [glossary_info[:name], glossary_info[:source_language], - glossary_info[:target_language], self.class.output_format].join('.') + [glossary.name, glossary.source_language, + glossary.target_language, self.class.output_format].join('.') else [self.class.name, self.class.source_language, self.class.target_language, self.class.output_format].join('.') Modified: lib/logaling/repository.rb (+2 -2) =================================================================== --- lib/logaling/repository.rb 2012-06-19 21:31:15 +0900 (aeec463) +++ lib/logaling/repository.rb 2012-06-22 19:18:59 +0900 (2fa6b02) @@ -53,10 +53,10 @@ module Logaling raise Logaling::CommandFailed, "Failed import #{glossary_source.class.name} to #{cache_path}." end - def import_tmx(glossary_source, glossary_info) + def import_tmx(glossary_source, glossary, url) FileUtils.mkdir_p(cache_path) Dir.chdir(cache_path) do - glossary_source.import(glossary_info) + glossary_source.import(glossary, url) end rescue Logaling::GlossaryNotFound => e raise e -------------- next part -------------- An HTML attachment was scrubbed... Download