diff options
Diffstat (limited to 'lib/sisu/v5/options.rb')
| -rw-r--r-- | lib/sisu/v5/options.rb | 174 | 
1 files changed, 146 insertions, 28 deletions
| diff --git a/lib/sisu/v5/options.rb b/lib/sisu/v5/options.rb index f40f0388..e90fe668 100644 --- a/lib/sisu/v5/options.rb +++ b/lib/sisu/v5/options.rb @@ -70,7 +70,7 @@ module SiSU_Commandline    require_relative 'sysenv'                             # sysenv.rb    require_relative 'param_make'                         # param_make.rb    class HeaderCommon -    def sisu_document_make_instructions +    def sisu_document_make_instructions(make_instruct_array=:nil)        @pagenew=          @pagebreak=          @pageline= @@ -87,7 +87,9 @@ module SiSU_Commandline          @home_button_links=          @links=          nil -      make_instruct_array=SiSU_Env::GetInit.new.sisu_document_make.makefile_read +      make_instruct_array=make_instruct_array==:nil \ +      ? SiSU_Env::GetInit.new.sisu_document_make.makefile_read +      : make_instruct_array        @makeset=false        if make_instruct_array          make_instruct_array.each do |para|                                     #% scan document @@ -282,7 +284,10 @@ module SiSU_Commandline          end          if @cmd =~/[vVM]/ \          && @cmd !~/-[ku]*v[ku]*$/ -          SiSU_Screen::Ansi.new(@cmd,"\tsisu " + @cmd +  ' ' + @mod.join(' ') + ' ' + @files.join(' ') + "\n").print_brown +          SiSU_Screen::Ansi.new( +            @cmd, +            "\tsisu " + @cmd +  ' ' + @mod.join(' ') + ' ' + @files.join(' ') + "\n" +          ).print_brown          end        end        @@act ? @act=@@act : @@act=@act=opt_act @@ -331,7 +336,7 @@ module SiSU_Commandline              pod_make_path=fullname + '/sisupod/doc/_sisu'              make_instruct_array=sisu_document_make_pod.makefile_read(pod_make_path)              @make_instructions_pod= -              HeaderCommon.new(make_instruct_array).sisu_document_make_instructions +              HeaderCommon.new.sisu_document_make_instructions(make_instruct_array)              Dir.chdir(pt.realpath)              system("                chdir #{fullname} @@ -532,6 +537,7 @@ module SiSU_Commandline              mod << s            when /^--(?:epub)$/                                                       then c=c+'e'            when /^--(?:od[ft])$/                                                     then c=c+'o' +          when /^--docbook$/                                                     then c=c+'d'            when /^--(?:pdf)$/                                                        then c=c+'p'            when /^--pdf-(?:a4|a5|b5|legal|letter)$/                                  then c=c+'p'            when /^--pdf-(?:p|l|portrait|landscape)$/                                 then c=c+'L' @@ -544,13 +550,11 @@ module SiSU_Commandline            when /^--(?:xml-sax)$/                                                    then c=c+'x'            when /^--(?:xml-dom)$/                                                    then c=c+'X'            when /^--(?:images)$/                                                     then c=c+'j' -          when /^--(?:hash-digests)$/                                               then c=c+'N' +          when /^--(?:digests?|hash-digests)$/                                      then c=c+'N'            when /^--(?:po4a|pot?)$/                                                  then c=c+'P'            when /^--(?:termsheet)$/                                                  then c=c+'T'            when /^--(?:manifest)$/                                                   then c=c+'y'            when /^--(?:qrcode)$/                                                     then c=c+'Q' -          when /^--(?:sqlite)$/                                                     then c=c+'d' -          when /^--(?:pg|pg?sql|postgresql)$/                                       then c=c+'D'            when /^--(?:remote|rsync)$/                                               then c=c+'R'            when /^--(?:scp)$/                                                        then c=c+'r'            when /^--(?:source)$/                                                     then c=c+'s' @@ -582,8 +586,7 @@ module SiSU_Commandline          extra+=if cmd =~/[abegHhIiLNOoPpQTtwXxyz]/ \          and cmd !~/[mn]/            'm'                        #% add ao -        elsif ((cmd =~/[Dd]/ \ -        or (mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/)) \ +        elsif ((mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/) \          and mod.inspect !~/(?:remove|(?:(?:re)?create(?:all)?|dropall|drop)$)/) \          and cmd !~/[mn]/            'm'                        #% add ao @@ -591,18 +594,17 @@ module SiSU_Commandline          end        end        if cmd !~/j/ -        extra+=if cmd =~/[bHhwXxyz]/ \ +        extra+=if cmd =~/[bdHhwXxyz]/ \          and cmd !~/[j]/            'j'                        #% copy images          else ''          end        end        if cmd !~/y/ -        extra+=if cmd =~/[abeHhIiNopQSstwXxz]/ \ +        extra+=if cmd =~/[abdeHhIiNopQSstwXxz]/ \          and cmd !~/y/            'ym'                       #% add manifest -        elsif (cmd =~/[Dd]/ \ -        or mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/) \ +        elsif mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/ \          and files[0] !~/^remove$/ \          and cmd !~/y/            'ym'                       #% add manifest @@ -911,7 +913,8 @@ module SiSU_Commandline          || mod.inspect =~/"--xml-dom"/) \          ? { bool: true, set: :on }          : { bool: false, set: :na } -        act[:xml_docbook_book]=mod.inspect =~/"--docbook"|"--docbook-book"|"--xml-docbook"|"--xml-docbook_book"/ \ +        act[:xml_docbook_book]=(cmd =~/d/ \ +        || mod.inspect =~/"--docbook"|"--docbook-book"|"--xml-docbook"|"--xml-docbook_book"/) \          ? { bool: true, set: :on }          : { bool: false, set: :na }          act[:xml_fictionbook]=(cmd =~/f/ \ @@ -962,19 +965,134 @@ module SiSU_Commandline          || mod.inspect =~/"--texinfo"/) \          ? { bool: true, set: :on }          : { bool: false, set: :na } -        act[:psql]=(cmd =~/D/ \ -        || mod.inspect =~/"--pg"|"--pgsql"/) \ -        ? { bool: true, set: :on } -        : { bool: false, set: :na } -        act[:sqlite]=(cmd =~/d/ \ -        || mod.inspect =~/"--sqlite"/) \ -        && (mod.inspect =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \ -        ? { bool: true, set: :on } -        : { bool: false, set: :na } -        act[:sqlite_discrete]=(cmd =~/d/ \ -        || mod.inspect =~/"--sql"|"--sqlite"/) \ -        && (mod.inspect =~/"--both"/ \ -        || mod.inspect !~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \ +        act[:psql]=if mod.inspect =~/"--pg-\S+"/ \ +        or ((mod.inspect =~/"--pg"/) \ +        && (mod.inspect \ +        =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/)) +          act[:psql_createdb]=if mod.inspect \ +          =~/"--pg-createdb"|"--createdb"/ +            { bool: true, set: :on } +          else +            { bool: false, set: :na } +          end +          if mod.inspect \ +          =~/"--pg-recreate(?:all)?"|"--recreate(?:all)?"/ +            act[:psql_drop]={ bool: true, set: :on } +            act[:psql_create]={ bool: true, set: :on } +          else +            act[:psql_drop]=if mod.inspect \ +            =~/"--pg-dropall"|"--dropall"/ +              { bool: true, set: :on } +            else +              { bool: false, set: :na } +            end +            act[:psql_create]=if mod.inspect \ +            =~/"--pg-create(?:all)?"|"--create(?:all)?"/ +              { bool: true, set: :on } +            else +              { bool: false, set: :na } +            end +          end +          act[:psql_import]=if mod.inspect \ +          =~/"--pg-import"|"--import"/ +            { bool: true, set: :on } +          else +            { bool: false, set: :na } +          end +          act[:psql_update]=if mod.inspect \ +          =~/"--pg-update"|"--update"/ +            act[:psql_remove]={ bool: true, set: :on } +            { bool: true, set: :on } +          else +            act[:psql_remove]=if mod.inspect \ +            =~/"--pg-remove"|"--remove"/ +              { bool: true, set: :on } +            else +              { bool: false, set: :na } +            end +            { bool: false, set: :na } +          end +          { bool: true, set: :on } +        else +          act[:psql_createdb]= +            { bool: false, set: :na } +          act[:psql_drop]= +            { bool: false, set: :na } +          act[:psql_create]= +            { bool: false, set: :na } +          act[:psql_import]= +            { bool: false, set: :na } +          act[:psql_update]= +            { bool: false, set: :na } +          act[:psql_remove]= +            { bool: false, set: :na } +          { bool: false, set: :na } +        end +        act[:sqlite]=if (mod.inspect =~/"--sqlite-\S+"/) \ +        or ((mod.inspect =~/"--sqlite"/) \ +        && (mod.inspect \ +        =~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/)) +          act[:sqlite_createdb]=if mod.inspect \ +          =~/"--sqlite-createdb"|"--createdb"/ +            { bool: true, set: :on } +          else +            { bool: false, set: :na } +          end +          if mod.inspect \ +          =~/"--sqlite-recreate(?:all)?"|"--recreate(?:all)?"/ +            act[:sqlite_drop]={ bool: true, set: :on } +            act[:sqlite_create]={ bool: true, set: :on } +          else +            act[:sqlite_create]=if mod.inspect \ +            =~/"--sqlite-create(?:all)?"|"--create(?:all)?"/ +              { bool: true, set: :on } +            else +              { bool: false, set: :na } +            end +            act[:sqlite_drop]=if mod.inspect \ +            =~/"--sqlite-dropall"|"--dropall"/ +              { bool: true, set: :on } +            else +              { bool: false, set: :na } +            end +          end +          act[:sqlite_import]=if mod.inspect \ +          =~/"--sqlite-import"|"--import"/ +            { bool: true, set: :on } +          else +            { bool: false, set: :na } +          end +          act[:sqlite_update]=if mod.inspect \ +          =~/"--sqlite-update"|"--update"/ +            act[:sqlite_remove]={ bool: true, set: :on } +            { bool: true, set: :on } +          else +            act[:sqlite_remove]=if mod.inspect \ +            =~/"--sqlite-remove"|"--sqlite-remove"/ +              { bool: true, set: :on } +            else +              { bool: false, set: :na } +            end +            { bool: false, set: :na } +          end +          { bool: true, set: :on } +        else +          act[:sqlite_createdb]= +            { bool: false, set: :na } +          act[:sqlite_drop]= +            { bool: false, set: :na } +          act[:sqlite_create]= +            { bool: false, set: :na } +          act[:sqlite_import]= +            { bool: false, set: :na } +          act[:sqlite_update]= +            { bool: false, set: :na } +          act[:sqlite_remove]= +            { bool: false, set: :na } +          { bool: false, set: :na } +        end +        act[:sqlite_discrete]=mod.inspect =~/"--sql"|"--sqlite"/ \ +        && (mod.inspect !~/"--createdb"|"--create(?:all)?"|"--dropall"|"--recreate(?:all)?"|"--import"|"--update"|"--remove"/) \          ? { bool: true, set: :on }          : { bool: false, set: :na }          act[:harvest]=(mod.inspect =~/"--harvest"/) \ @@ -989,7 +1107,7 @@ module SiSU_Commandline          ? { bool: true, set: :on }          : { bool: false, set: :na }          act[:hash_digests]=(cmd =~/N/ \ -        || mod.inspect =~/"--hash-digests"/) \ +        || mod.inspect =~/"--digests?"|"--hash-digests"/) \          ? { bool: true, set: :on }          : { bool: false, set: :na }          act[:pdf_font_size]=if mod.inspect =~/"--(?:pdf-)?font-?size[=-](\d{1,2})(?:pt)?"/ | 
