diff options
| author | Ralph Amissah <ralph@amissah.com> | 2012-06-06 23:52:37 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2012-06-06 23:52:45 -0400 | 
| commit | c8d6617b94137fc3c3f38793e9e64074bf50df7e (patch) | |
| tree | 5846c4b029d478c5f5433dfc5376f8899dbc776b /lib | |
| parent | v3: sysenv, check @md.make.respond_to?(:skin) (diff) | |
v3: hub, post bundles, sisupod_make, file selection selection for tar.xz, fixsisu_3.2.12
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sisu/v3/hub.rb | 50 | 
1 files changed, 40 insertions, 10 deletions
| diff --git a/lib/sisu/v3/hub.rb b/lib/sisu/v3/hub.rb index a2902075..d5ab7bdd 100644 --- a/lib/sisu/v3/hub.rb +++ b/lib/sisu/v3/hub.rb @@ -64,31 +64,59 @@ module SiSU    class OptionLoopFiles      def initialize(opt)        @opt=opt +      @r=Px[:lng_lst].join('|')      end      def loop_files_on_given_option -      @opt.files.each_with_index do |fns,i| -        @opt.fns=fns +      @opt.files.each_with_index do |fno,i| +        @opt.fns=fno +        @opt.fno=fno          @opt.f_pth=@opt.f_pths[i] -        if fns !~/\.-sst$/ +        if fno !~/\.-sst$/            @opt.pth=@opt.paths[i]            @opt.lng=@opt.lngs[i] -        else -          @opt.pth=Dir.pwd -          @opt.lng='en'          end          @@pwd=@opt.pth          @opt.pth=@opt.f_pths[i][:pth]          @opt.lng=@opt.f_pths[i][:lng]          Dir.chdir(@opt.f_pth[:pth]) #watch -        @env=SiSU_Env::InfoEnv.new(fns) +        @env=SiSU_Env::InfoEnv.new(fno)          yield        end      end +    def loop_files_on_given_option_bundle +      @files_bundle={} +      @opt.files.each_with_index do |fno,i| +        fn_base_bundle=fno.gsub(/(?:~(?:#{@r}))?\.ss[tm]$/,'') +        unless @files_bundle[fn_base_bundle] +          @files_bundle[fn_base_bundle]={ status: :todo } +        end +      end +      @opt.files.each_with_index do |fno,i| +        fn_base_bundle=fno.gsub(/(?:~(?:#{@r}))?\.ss[tm]$/,'') +        unless @files_bundle[fn_base_bundle][:status] == :done +          @files_bundle[fn_base_bundle][:status] = :done +          @opt.fns=fno +          @opt.fno=fno +          @opt.f_pth=@opt.f_pths[i] +          if fno !~/\.-sst$/ +            @opt.pth=@opt.paths[i] +            @opt.lng=@opt.lngs[i] +          end +          @@pwd=@opt.pth +          @opt.pth=@opt.f_pths[i][:pth] +          @opt.lng=@opt.f_pths[i][:lng] +          Dir.chdir(@opt.f_pth[:pth]) #watch +          @env=SiSU_Env::InfoEnv.new(fno) +          yield +        else next +        end +      end +    end      def manifest_on_files_translated        r=Px[:lng_lst].join('|')        number_of_files={}        @opt.files.each_with_index do |fns,i| -        fn=fns.gsub(/(?:\.#{r})?\.ss[tm]$/,'') +        fn=fns.gsub(/(?:~(?:#{@r}))?\.ss[tm]$/,'')          if number_of_files[fn].class == Array            number_of_files[fn] << i          else @@ -102,7 +130,7 @@ module SiSU          end        end        if files_translated_idx.flatten.length > 1 -      SiSU_Screen::Ansi.new(@opt.cmd,'Manifest re-run on (currently generated) tranlated files',"").grey_title_hi unless @opt.act[:quiet][:set] ==:on +      SiSU_Screen::Ansi.new(@opt.cmd,'Manifest re-run on (currently generated) translated files',"").grey_title_hi unless @opt.act[:quiet][:set] ==:on          files_translated_idx.flatten.each do |i|            @opt.fns=@opt.files[i]            @opt.f_pth=@opt.f_pths[i] @@ -447,7 +475,9 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on                  SiSU_Doc::Source.new(@opt).read                end              ensure -              SiSU_Doc::Source.new(@opt).sisupod_tar_xz +              OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do +                SiSU_Doc::Source.new(@opt).sisupod_tar_xz +              end              end            end            if @opt.act[:images][:set]==:on                  #% --images, -j | 
