diff options
Diffstat (limited to 'bin')
| -rw-r--r-- | bin/sisu | 45 | 
1 files changed, 26 insertions, 19 deletions
| @@ -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(/\/$/,'') | 
