diff options
Diffstat (limited to 'lib/sisu/v3/options.rb')
-rw-r--r-- | lib/sisu/v3/options.rb | 361 |
1 files changed, 164 insertions, 197 deletions
diff --git a/lib/sisu/v3/options.rb b/lib/sisu/v3/options.rb index ac31a896..eeca31ec 100644 --- a/lib/sisu/v3/options.rb +++ b/lib/sisu/v3/options.rb @@ -116,7 +116,7 @@ module SiSU_commandline end end def sisu_glob_rules(a) - a=if a.inspect =~/"-\S*[fG]/ \ + a=if a.inspect =~/"-[A-Za-z0-9]*[fG]/ \ or a.inspect =~/"--find"|"--glob"/ b,f=[],[] find_flag=false @@ -138,11 +138,9 @@ module SiSU_commandline r.gsub!(/\|#{@lng_base}\|/,'|') @lang_regx=%r{(?:#{r})} z=if find_flag - if f.length > 0 - b + find_select(find_flag,f) - else - find_all(find_flag,b) - end + (f.length > 0) \ + ? (b + find_select(find_flag,f)) + : find_all(find_flag,b) elsif a.inspect =~/"(?:-\S+?|--\S+?)"/ \ && a.inspect =~/"#{@lang_regx}\/?"/ \ && a.inspect =~/"#{@lng_base}\/\S+?\.ss[tm]"/ @@ -203,9 +201,9 @@ module SiSU_commandline if x =~/^--\S+/ m << x end - elsif x =~ /(?:\.(?:(?:-|ssm\.)?sst(?:\.xml)?|ssm|ssi|sx[sdn]\.xml|s[1-3]|kdi|ssp)|\S+?\.ss[mt]\.txz|sisupod(\.txz)?)$/ + elsif x =~ /(?:\.(?:(?:-|ssm\.)?sst(?:\.xml)?|ssm|ssi|sx[sdn]\.xml|s[1-3]|kdi|ssp)|\S+?\.ss[mt]\.(?:txz|zip)|sisupod\.(?:txz|zip))$/ if x =~/^(?:https?|file):\/\/\S+/ \ - or x =~/\S+?\.ss[mt]\.txz|sisupod\.txz/ \ + or x =~/\S+?\.ss[mt]\.(?:txz|zip)|sisupod\.(?:txz|zip)/ \ && FileTest.file?(x) x=x.gsub(/^file:\/\//,'') f << x @@ -377,204 +375,173 @@ module SiSU_commandline def opt_act #note mod line commands have already been converted to command characters, cmd cmd,mod=@cmd,@mod act={} - act[:license]=if cmd =~/L/ \ - or mod.inspect =~/"--license/ - true - else false - end - act[:site_init]=if cmd =~/C/ \ - or mod.inspect =~/"--init-site/ - true - else false - end - act[:verbose]=if cmd =~/v/ \ - or mod.inspect =~/"--verbose"/ - true - else false - end - act[:quiet]=if cmd =~/q/ \ - or mod.inspect =~/"--quiet"/ - true - else false - end + act[:license]=(cmd =~/L/ \ + || mod.inspect =~/"--license/) \ + ? { bool: true } + : { bool: false } + act[:site_init]=(cmd =~/C/ \ + || mod.inspect =~/"--init-site/) \ + ? { bool: true } + : { bool: false } + act[:rc]=if mod.inspect =~/"--rc=/ + x=Dir.pwd + '/' + mod.join.gsub(/--rc=/,'') + { bool: true, inst: x } + else + { bool: false, inst: '' } + end + act[:verbose]=(cmd =~/v/ \ + || mod.inspect =~/"--verbose"/) \ + ? { bool: true } + : { bool: false } + act[:quiet]=(cmd =~/q/ \ + || mod.inspect =~/"--quiet"/) \ + ? { bool: true } + : { bool: false } act[:color_state]=if mod.inspect =~/"--color-on"|"--color"/ - true + { bool: true } elsif mod.inspect =~/"--color-off"/ - true - else true #fix default color + { bool: false } + else { bool: true } #fix default color end # act[:color_toggle]=if cmd =~/c/ \ # or mod.inspect =~/"--color-toggle"/ # true # else false # end - act[:maintenance]=if cmd =~/M/ \ - or mod.inspect =~/"--maintenance|--keep-processing-files"/ - true - else false - end + act[:maintenance]=(cmd =~/M/ \ + || mod.inspect =~/"--maintenance|--keep-processing-files"/) \ + ? { bool: true } + : { bool: false } act[:ocn]=if mod.inspect =~/"--no-ocn"/ - false - else true - end - act[:dal]=if cmd =~/m/ \ - or mod.inspect =~/"--dal"/ - true - else false - end - act[:html]=if cmd =~/h/ \ - or mod.inspect =~/"--html"/ - true - else false - end - act[:concordance]=if cmd =~/w/ \ - or mod.inspect =~/"--concordance"/ - true - else false - end - act[:pdf]=if cmd =~/p/ \ - or mod.inspect =~/"--pdf"/ - true - else false - end - act[:epub]=if cmd =~/e/ \ - or mod.inspect =~/"--epub"/ - true - else false - end - act[:odt]=if cmd =~/o/ \ - or mod.inspect =~/"--odf"/ - true - else false - end - act[:xml_sax]=if cmd =~/x/ \ - or mod.inspect =~/"--xml-sax"/ - true - else false - end - act[:xml_dom]=if cmd =~/X/ \ - or mod.inspect =~/"--xml-dom"/ - true - else false - end - act[:xhtml]=if cmd =~/b/ \ - or mod.inspect =~/"--xhtml"/ - true - else false - end - act[:txt]=if cmd =~/[at]/ \ - or mod.inspect =~/"--txt"/ - true - else false - end - act[:manpage]=if cmd =~/i/ \ - or mod.inspect =~/"--manpage"/ - true - else false - end - act[:texinfo]=if cmd =~/I/ \ - or mod.inspect =~/"--texinfo"/ - true - else false - end - act[:fictionbook]=if cmd =~/f/ \ - or mod.inspect =~/"--fictionbook"/ - true - else false - end - act[:psql]=if cmd =~/D/ \ - or mod.inspect =~/"--pg"|"--pgsql"/ - true - else false - end - act[:sqlite]=if cmd =~/d/ \ - or mod.inspect =~/"--sqlite"/ - true - else false - end - act[:harvest]=if mod.inspect =~/"--harvest"/ - true - else false - end - act[:po4a]=if cmd =~/P/ \ - or mod.inspect =~/"--po4a"|"--pot?"/ - true - else false - end - act[:git]=if cmd =~/g/ \ - or mod.inspect =~/"--git"/ - true - else false - end - act[:hash_digests]=if cmd =~/N/ \ - or mod.inspect =~/"--hash-digests"/ - true - else false - end - act[:sample_search_form]=if cmd =~/F/ \ - or mod.inspect =~/"--sample-search-form"/ - true - else false - end - act[:webrick]=if cmd =~/W/ \ - or mod.inspect =~/"--webrick"/ - true - else false - end - act[:share_source]=if cmd =~/s/ \ - or mod.inspect =~/"--source"/ - true - else false - end - act[:sisupod]=if cmd =~/S/ \ - or mod.inspect =~/"--sisupod"/ - true - else false - end - act[:scp]=if cmd =~/r/ \ - or mod.inspect =~/"--scp"/ - true - else false - end - act[:rsync]=if cmd =~/R/ \ - or mod.inspect =~/"--rsync"/ - true - else false - end - act[:delete_output]=if cmd =~/z/ \ - or mod.inspect =~/"--delete"|"--zap"/ - true - else false - end - act[:urls_all]=if cmd =~/U/ \ - or mod.inspect =~/"--urls-all"/ - true - else false - end - act[:urls_seleted]=if cmd =~/u/ \ - or mod.inspect =~/"--urls"/ - true - else false - end - act[:sitemap]=if cmd =~/Y/ \ - or mod.inspect =~/"--sitemap"/ - true - else false - end - act[:qrcode]=if cmd =~/Q/ \ - or mod.inspect =~/"--qrcode"/ - true - else false - end - act[:manifest]=if cmd =~/y/ \ - or mod.inspect =~/"--manifest"/ - true - else false - end - act[:help]=if mod.inspect =~/"--help/ - true - else false - end + { bool: false } + else { bool: true } + end + act[:dal]=(cmd =~/m/ \ + || mod.inspect =~/"--dal"/) \ + ? { bool: true } + : { bool: false } + act[:html]=(cmd =~/h/ \ + || mod.inspect =~/"--html"/) \ + ? { bool: true } + : { bool: false } + act[:concordance]=(cmd =~/w/ \ + || mod.inspect =~/"--concordance"/) \ + ? { bool: true } + : { bool: false } + act[:pdf]=(cmd =~/p/ \ + || mod.inspect =~/"--pdf"/) \ + ? { bool: true } + : { bool: false } + act[:epub]=(cmd =~/e/ \ + || mod.inspect =~/"--epub"/) \ + ? { bool: true } + : { bool: false } + act[:odt]=(cmd =~/o/ \ + || mod.inspect =~/"--odf"/) \ + ? { bool: true } + : { bool: false } + act[:xml_sax]=(cmd =~/x/ \ + || mod.inspect =~/"--xml-sax"/) \ + ? { bool: true } + : { bool: false } + act[:xml_dom]=(cmd =~/X/ \ + || mod.inspect =~/"--xml-dom"/) \ + ? { bool: true } + : { bool: false } + act[:xhtml]=(cmd =~/b/ \ + || mod.inspect =~/"--xhtml"/) \ + ? { bool: true } + : { bool: false } + act[:txt]=(cmd =~/[at]/ \ + || mod.inspect =~/"--txt"/) \ + ? { bool: true } + : { bool: false } + act[:manpage]=(cmd =~/i/ \ + || mod.inspect =~/"--manpage"/) \ + ? { bool: true } + : { bool: false } + act[:texinfo]=(cmd =~/I/ \ + || mod.inspect =~/"--texinfo"/) \ + ? { bool: true } + : { bool: false } + act[:fictionbook]=(cmd =~/f/ \ + || mod.inspect =~/"--fictionbook"/) \ + ? { bool: true } + : { bool: false } + act[:psql]=(cmd =~/D/ \ + || mod.inspect =~/"--pg"|"--pgsql"/) \ + ? { bool: true } + : { bool: false } + act[:sqlite]=(cmd =~/d/ \ + || mod.inspect =~/"--sqlite"/) \ + ? { bool: true } + : { bool: false } + act[:harvest]=(mod.inspect =~/"--harvest"/) \ + ? { bool: true } + : { bool: false } + act[:po4a]=(cmd =~/P/ \ + || mod.inspect =~/"--po4a"|"--pot?"/) \ + ? { bool: true } + : { bool: false } + act[:git]=(cmd =~/g/ \ + || mod.inspect =~/"--git"/) \ + ? { bool: true } + : { bool: false } + act[:hash_digests]=(cmd =~/N/ \ + || mod.inspect =~/"--hash-digests"/) \ + ? { bool: true } + : { bool: false } + act[:sample_search_form]=(cmd =~/F/ \ + || mod.inspect =~/"--sample-search-form"/) \ + ? { bool: true } + : { bool: false } + act[:webrick]=(cmd =~/W/ \ + || mod.inspect =~/"--webrick"/) \ + ? { bool: true } + : { bool: false } + act[:share_source]=(cmd =~/s/ \ + || mod.inspect =~/"--source"/) \ + ? { bool: true } + : { bool: false } + act[:sisupod]=(cmd =~/S/ \ + || mod.inspect =~/"--sisupod"/) \ + ? { bool: true } + : { bool: false } + act[:scp]=(cmd =~/r/ \ + || mod.inspect =~/"--scp"/) \ + ? { bool: true } + : { bool: false } + act[:rsync]=(cmd =~/R/ \ + || mod.inspect =~/"--rsync"/) \ + ? { bool: true } + : { bool: false } + act[:delete_output]=(cmd =~/z/ \ + || mod.inspect =~/"--delete"|"--zap"/) \ + ? { bool: true } + : { bool: false } + act[:urls_all]=(cmd =~/U/ \ + || mod.inspect =~/"--urls-all"/) \ + ? { bool: true } + : { bool: false } + act[:urls_seleted]=(cmd =~/u/ \ + || mod.inspect =~/"--urls"/) \ + ? { bool: true } + : { bool: false } + act[:sitemap]=(cmd =~/Y/ \ + || mod.inspect =~/"--sitemap"/) \ + ? { bool: true } + : { bool: false } + act[:qrcode]=(cmd =~/Q/ \ + || mod.inspect =~/"--qrcode"/) \ + ? { bool: true } + : { bool: false } + act[:manifest]=(cmd =~/y/ \ + || mod.inspect =~/"--manifest"/) \ + ? { bool: true } + : { bool: false } + act[:help]=(mod.inspect =~/"--help/) \ + ? { bool: true } + : { bool: false } @act=act end def cmd |