From 58c41f6854255a171e55c7308fb75aa260dbf92c Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 7 Jul 2014 01:17:39 -0400 Subject: bin/sisu, processing dir related * e.g. using live-manual/manual as sample, the following should work as expected available: ca de en es fr it ja pl pt_BR ro; select: en & ja: sisu --html -v en/live-manual.ssm ja/live-manual.ssm or for all available translations: sisu --html -v **/live-manual.ssm (these previously would have broken after processing the first directory) sisu command equivalent for all available translations being (unaffected): sisu --html -v --glob live-manual --- bin/sisu | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'bin') diff --git a/bin/sisu b/bin/sisu index e6a7645a..51840e07 100644 --- a/bin/sisu +++ b/bin/sisu @@ -222,28 +222,35 @@ class Orient end def control require "#{sisu_is[:path_lib]}/hub" - if get_processing_info.processing_files. length > 0 + sisu_called_from_directory + if get_processing_info.processing_files.length > 0 get_processing_info.processing_files.each_pair do |markup_dir,markup_file| - $sisu_document_markup_directory=markup_dir.gsub(/\/$/,'') - argv_sub=get_processing_info.command_line_modifiers + markup_file - if FileTest.directory?(markup_dir) - system("cd #{markup_dir}") - Dir.chdir(markup_dir) - $sisu_document_markup_directory_base_fixed_path=Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'') - SiSU::HubMaster.new(argv_sub) - elsif markup_dir =~/https?:/ - markup_file.each do |mf| - (FileTest.file?(mf)) \ - ? (puts 'requested remote file already exists in current directory ' + Dir.pwd + ' using ' + mf) - : (system("wget #{markup_dir}/#{mf}")) + begin + $sisu_document_markup_directory=markup_dir.gsub(/\/$/,'') + argv_sub=get_processing_info.command_line_modifiers + markup_file + if FileTest.directory?(markup_dir) + system("cd #{markup_dir}") + Dir.chdir(markup_dir) + $sisu_document_markup_directory_base_fixed_path= + Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'') + SiSU::HubMaster.new(argv_sub) + elsif markup_dir =~/https?:/ + markup_file.each do |mf| + (FileTest.file?(mf)) \ + ? (puts 'requested remote file already exists in current directory ' \ + + Dir.pwd + ' using ' + mf) + : (system("wget #{markup_dir}/#{mf}")) + end + $sisu_document_markup_directory_base_fixed_path= + Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'') + argv_sub=command_line_modifiers + markup_file + SiSU::HubMaster.new(argv_sub) + else p "Error directory specified #{markup_dir} not found" end - $sisu_document_markup_directory_base_fixed_path=Dir.pwd.gsub(/\/(?:#{language_list.regex})$/,'') - argv_sub=command_line_modifiers + markup_file - SiSU::HubMaster.new(argv_sub) - else p "Error directory specified #{markup_dir} not found" + ensure + Dir.chdir(sisu_called_from_directory) + system("cd #{sisu_called_from_directory}") end - Dir.chdir(sisu_called_from_directory) - system("cd #{sisu_called_from_directory}") end else $sisu_document_markup_directory=Dir.pwd.gsub(/\/$/,'') -- cgit v1.2.3