From ffb99605ef5f4e066b43724fec55077128f8e731 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 23 Jun 2012 02:10:13 -0400 Subject: v3: hub, some re-arrangement --- data/doc/sisu/CHANGELOG_v3 | 2 + lib/sisu/v3/hub.rb | 736 +++++++++++++++++++++++---------------------- 2 files changed, 372 insertions(+), 366 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v3 b/data/doc/sisu/CHANGELOG_v3 index 47bf6db2..16d91b9b 100644 --- a/data/doc/sisu/CHANGELOG_v3 +++ b/data/doc/sisu/CHANGELOG_v3 @@ -21,6 +21,8 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_3.3.1.orig.tar.xz sisu_3.3.1-1.dsc sisu_3.3.1-1.debian.tar.gz + * v3: hub, some re-arrangement + %% 3.3.0.orig.tar.xz (2012-06-17:24/7) http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.3.0 http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.3.0-1 diff --git a/lib/sisu/v3/hub.rb b/lib/sisu/v3/hub.rb index f221c9a8..c4eed640 100644 --- a/lib/sisu/v3/hub.rb +++ b/lib/sisu/v3/hub.rb @@ -57,8 +57,8 @@ =end module SiSU - require_relative 'constants' # constants.rb - require_relative 'sysenv' # sysenv.rb + require_relative 'constants' # constants.rb + require_relative 'sysenv' # sysenv.rb include SiSU_Screen @@pwd_the=Dir.pwd class OptionLoopFiles @@ -162,30 +162,30 @@ module SiSU end def remote_put_base_site_rsync # -CR p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on - require_relative 'remote' # remote.rb + require_relative 'remote' # remote.rb SiSU_Remote::Put.new(@opt).rsync_base end def remote_put_base_site_rsync_match # -CCRZ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on - require_relative 'remote' # remote.rb + require_relative 'remote' # remote.rb SiSU_Remote::Put.new(@opt).rsync_base_sync end def remote_put_base_site # -Cr p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on - require_relative 'remote' # remote.rb + require_relative 'remote' # remote.rb SiSU_Remote::Put.new(@opt).scp_base end def remote_put_base_site_all # -CCr p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on - require_relative 'remote' # remote.rb + require_relative 'remote' # remote.rb SiSU_Remote::Put.new(@opt).scp_base_all end - def cgi # -F - require_relative 'cgi' # cgi.rb + def cgi # -F + require_relative 'cgi' # cgi.rb SiSU_CGI::SearchSQL.new(@opt).read end - def encoding # -K build character encoding db (uses KirbyBase) - require_relative 'character_encoding' # character_encoding.rb + def encoding # -K build character encoding db (uses KirbyBase) + require_relative 'character_encoding' # character_encoding.rb SiSU_CharacterEncode::Create.new.db end def termsheet # -t @@ -236,389 +236,393 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on @msg,@msgs='',nil @tell=lambda { SiSU_Screen::Ansi.new(@opt.cmd,@msg,"#{@msgs.inspect if @msgs}") } end - def requires(req) - require_relative req + def do_loops + do_each_file_loop_options + do_loop_files_on_given_option_post end - def actions - if @opt.act[:profile][:set]==:on - require 'profile' - end - if @opt.act[:harvest][:set]==:on - require_relative 'harvest' # harvest.rb - SiSU_Harvest::Source.new(@opt).read # -h -H html.rb - elsif @opt.mod.inspect =~/--convert|--to|--from/ - require_relative 'sst_convert_markup' # sst_convert_markup.rb - elsif @opt.cmd =~/([abCcDdeFGgHhIjikLMmNnoPpQqRrSsTtUuVvWwXxYyZ_0-9])/ \ - and @opt.cmd =~/^-/ \ - and @opt.mod.inspect !~/--(?:sitemaps|query|identify)/ \ - or @opt.mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/ - @cX=SiSU_Screen::Ansi.new(@opt.cmd).cX - flag=SiSU_Env::InfoProcessingFlag.new - if @opt.cmd =~/[vVM]/ #% version information - unless @opt.files.empty? - SiSU_Help::Help.new('env',@opt).sisu_version - end + def do_each_file_loop_options + @opt.files.each_with_index do |fno,i| + @opt.fno=fno + @opt.fns=fno.gsub(/(?:https?|file):\/\/\S+\/(\S+)\.sst$/,'\1.-sst'). + gsub(/\.ssm$/,'.ssm.sst') + @opt.f_pth=@opt.f_pths[i] + if @opt.fns !~/\.-sst$/ + @opt.pth=@opt.f_pths[i][:pth] + @opt.lng=@opt.f_pths[i][:lng] + else + @opt.pth=Dir.pwd + @opt.lng='en' end - if @opt.act[:license][:set]==:on #% license information - SiSU_Help::Help.new('license',@opt).help_request - end - if @opt.act[:dal][:set]==:on \ - or @opt.act[:maintenance][:set]==:on #% --maintenance, -m for -C - path={} - path[:css]=@@env.path.output + '/_sisu/css' - path[:xml]=@@env.path.output + '/_sisu/xml' - path[:xsd]=path[:xml] + '/xsd' - path[:xsd]=path[:xml] + '/rnc' - path[:xsd]=path[:xml] + '/rng' - re_p3=/(sisupod(?:\.txz)?|\S+?\.ss[mt]\.txz|[^\/]+?\.ssp)$/ - unless @opt.files.join(',') =~ re_p3 #do not mix pods with source markup files in command line - # unless ( FileTest.directory?(path[:css]) \ - # and FileTest.directory?(path[:xsd]) ) - # @opt.cmd=@opt.cmd +='C' unless @opt.cmd =~/C/ #FIX - # end - if @opt.act[:maintenance][:set] ==:on - $VERBOSE=false #debug $VERBOSE=true - end - end - re_p2=/(sisupod(?:\.zip)?|\S+?\.ss[mt]\.zip)$/ - unless @opt.files.join(',') =~ re_p2 #do not mix pods with source markup files in command line - # unless ( FileTest.directory?(path[:css]) \ - # and FileTest.directory?(path[:xsd]) ) - # @opt.cmd=@opt.cmd +='C' unless @opt.cmd =~/C/ #FIX - # end - if @opt.act[:maintenance][:set] ==:on - $VERBOSE=false #debug $VERBOSE=true - end - end + unless @opt.pth.nil? + @@pwd=@opt.pth + Dir.chdir(@opt.pth) #watch end - if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure - requires('conf') #% --init-site, -C initialize/configure - SiSU_Initialize::Source.new(@opt).read - if @opt.act[:rsync][:set]==:on - if @opt.mod.inspect =~/--init(?:ialize)?=site/ \ - and @opt.cmd =~/RZ/ - SiSU::Operations.new(@opt).remote_put_base_site_rsync_match - else SiSU::Operations.new(@opt).remote_put_base_site_rsync - end - elsif @opt.act[:scp][:set]==:on - if @opt.mod.inspect =~/--init(?:ialize)?=site/ \ - and @opt.cmd =~/CCr/ - SiSU::Operations.new(@opt).remote_put_base_site_all - else SiSU::Operations.new(@opt).remote_put_base_site - end + @env=SiSU_Env::InfoEnv.new(@opt.fns) + if @opt.act[:dal][:set]==:on #% --dal, -m + unless @opt.act[:po4a][:set]==:on # --po4a, -P + if @opt.fno =~ /\.ssm$/ + require_relative 'composite' # composite.rb #pre-processing + SiSU_Assemble::Composite.new(@opt).read + end + require_relative 'dal' # -m dal.rb + SiSU_DAL::Source.new(@opt).read end end - if @opt.act[:sample_search_form][:set]==:on #% --sample-search-form, -F cgi sample search form - SiSU::Operations.new(@opt).cgi - end - if @opt.act[:webrick][:set]==:on #% --webrick, -W webrick - SiSU::Operations.new(@opt).webrick - end - if @opt.act[:zap][:set]==:on #% --zap -Z wipe previous output clean DUPLICATE - #requires('zap') - #SiSU_Zap::Source.new(@opt).read # -Z zap.rb - end - if @opt.act[:dal][:set]==:on - @retry_count= -1 - begin - path_image='./_sisu/processing/external_document/image' - path_skin='./_sisu/processing/external_document/skin/doc' - @get_s,@get_p,@get_pl=[],[],[] - re_s=/(\S+?\.-sst)$/ - re_p3=/((?:https?|file):\/\/\S+?(?:\/\S+?\.ss[mt]\.txz|sisupod(?:\.txz)?|\.ssp))/ - re_pl3=/^(\/\S+?\.ss[mt]\.txz)/ - @opt.files.each do |fns| - if fns =~re_s - @get_s << @opt.f_pths[0][:url] - end - if fns =~re_p3 - @get_p << re_p3.match(fns)[1] if re_p3 - end - if fns =~re_pl3 - @get_pl << re_pl3.match(fns)[1] if re_p3 - end - end - if @get_s.length > 0 #% remote markup file .sst - require_relative 'remote' # remote.rb - SiSU_Remote::Get.new(@opt,@get_s).fns - SiSU::Operations.new.counter - end - if @get_p.length > 0 #% remote sisupod - require_relative 'remote' # remote.rb - SiSU_Remote::Get.new(@opt,@get_p).sisupod - end - rescue - SiSU_Errors::InfoError.new($!,$@,@opt,@fns).error do - __LINE__.to_s + ':' + __FILE__ - end - @retry_count +=1 - retry unless @retry_count > 1 - ensure - end + if @opt.act[:qrcode][:set]==:on #% --qrcode, -Q + require_relative 'qrcode' # -Q qrcode.rb + SiSU_QRcode::Source.new(@opt).read end - def each_file_loop_options - @opt.files.each_with_index do |fno,i| - @opt.fno=fno - @opt.fns=fno.gsub(/(?:https?|file):\/\/\S+\/(\S+)\.sst$/,'\1.-sst'). - gsub(/\.ssm$/,'.ssm.sst') - @opt.f_pth=@opt.f_pths[i] - if @opt.fns !~/\.-sst$/ - @opt.pth=@opt.f_pths[i][:pth] - @opt.lng=@opt.f_pths[i][:lng] - else - @opt.pth=Dir.pwd - @opt.lng='en' - end - unless @opt.pth.nil? - @@pwd=@opt.pth - Dir.chdir(@opt.pth) #watch - end - @env=SiSU_Env::InfoEnv.new(@opt.fns) - if @opt.act[:dal][:set]==:on #% --dal, -m - unless @opt.act[:po4a][:set]==:on # --po4a, -P - if @opt.fno =~ /\.ssm$/ - require_relative 'composite' # composite.rb #pre-processing - SiSU_Assemble::Composite.new(@opt).read - end - requires('dal') # -m dal.rb - SiSU_DAL::Source.new(@opt).read - end - end - if @opt.act[:qrcode][:set]==:on #% --qrcode, -Q - requires('qrcode') # -Q qrcode.rb - SiSU_QRcode::Source.new(@opt).read - end - if @opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree - requires('digests') # -N digests.rb - SiSU_DigestView::Source.new(@opt).read - end - if @opt.act[:txt][:set]==:on #% --txt, -t -a - requires('plaintext') # -t -a plaintext.rb - SiSU_Plaintext::Source.new(@opt).read - end - if @opt.act[:html][:set]==:on #% --html, -h - requires('html') # -h -H html.rb - SiSU_HTML::Source.new(@opt).read - end - if @opt.act[:concordance][:set]==:on #% --concordance, -w - requires('concordance') # -w concordance.rb - SiSU_Concordance::Source.new(@opt).read - end - if @opt.act[:epub][:set]==:on #% --epub, -e - requires('epub') # -e epub.rb - SiSU_EPUB::Source.new(@opt).read - end - if @opt.act[:odt][:set]==:on #% --odt, -o opendocument - requires('odf') # -o odf.rb - SiSU_ODF::Source.new(@opt).read - end - if @opt.act[:xhtml][:set]==:on #% --xhtml, -b xhtml - requires('xhtml') # -b xhtml.rb - SiSU_XHTML::Source.new(@opt).read - end - if @opt.act[:xml_sax][:set]==:on #% --xml-sax, -x xml sax type - requires('xml') # -x xml.rb - SiSU_XML_SAX::Source.new(@opt).read - end - if @opt.act[:xml_dom][:set]==:on #% --xml-dom, -x xml dom type - requires('xml_dom') # -X xml_dom.rb - SiSU_XML_DOM::Source.new(@opt).read - end - if @opt.act[:pdf][:set]==:on #% --pdf, -p latex/ texpdf - requires('texpdf') # -p texpdf.rb - SiSU_TeX::Source.new(@opt).read - end - if @opt.act[:manpage][:set]==:on #% --manpage, -i - requires('manpage') # -i manpage.rb - SiSU_Manpage::Source.new(@opt).read - end - if @opt.act[:texinfo][:set]==:on #% --texinfo, -I - requires('texinfo') # -I texinfo.rb - SiSU_TexInfo::Source.new(@opt).read - end - if @opt.act[:sqlite_discreet][:set]==:on #% --sqlite, -d DB sqlite - requires('dbi_discreet') # -d dbi_discreet.rb - SiSU_DBI_Discreet::SQL.new(@opt).build - end - if @opt.act[:manifest][:set]==:on #% --manifest, -y - requires('manifest') # -y manifest.rb - SiSU_Manifest::Source.new(@opt).read - end + if @opt.act[:hash_digests][:set]==:on #% --hash-digests, -N digest tree + require_relative 'digests' # -N digests.rb + SiSU_DigestView::Source.new(@opt).read + end + if @opt.act[:txt][:set]==:on #% --txt, -t -a + require_relative 'plaintext' # -t -a plaintext.rb + SiSU_Plaintext::Source.new(@opt).read + end + if @opt.act[:html][:set]==:on #% --html, -h + require_relative 'html' # -h -H html.rb + SiSU_HTML::Source.new(@opt).read + end + if @opt.act[:concordance][:set]==:on #% --concordance, -w + require_relative 'concordance' # -w concordance.rb + SiSU_Concordance::Source.new(@opt).read + end + if @opt.act[:epub][:set]==:on #% --epub, -e + require_relative 'epub' # -e epub.rb + SiSU_EPUB::Source.new(@opt).read + end + if @opt.act[:odt][:set]==:on #% --odt, -o opendocument + require_relative 'odf' # -o odf.rb + SiSU_ODF::Source.new(@opt).read + end + if @opt.act[:xhtml][:set]==:on #% --xhtml, -b xhtml + require_relative 'xhtml' # -b xhtml.rb + SiSU_XHTML::Source.new(@opt).read + end + if @opt.act[:xml_sax][:set]==:on #% --xml-sax, -x xml sax type + require_relative 'xml' # -x xml.rb + SiSU_XML_SAX::Source.new(@opt).read + end + if @opt.act[:xml_dom][:set]==:on #% --xml-dom, -X xml dom type + require_relative 'xml_dom' # -X xml_dom.rb + SiSU_XML_DOM::Source.new(@opt).read + end + if @opt.act[:pdf][:set]==:on #% --pdf, -p latex/ texpdf + require_relative 'texpdf' # -p texpdf.rb + SiSU_TeX::Source.new(@opt).read + end + if @opt.act[:manpage][:set]==:on #% --manpage, -i + require_relative 'manpage' # -i manpage.rb + SiSU_Manpage::Source.new(@opt).read + end + if @opt.act[:texinfo][:set]==:on #% --texinfo, -I + require_relative 'texinfo' # -I texinfo.rb + SiSU_TexInfo::Source.new(@opt).read + end + if @opt.act[:sqlite_discreet][:set]==:on #% --sqlite, -d DB sqlite + require_relative 'dbi_discreet' # -d dbi_discreet.rb + SiSU_DBI_Discreet::SQL.new(@opt).build + end + if @opt.act[:manifest][:set]==:on #% --manifest, -y + require_relative 'manifest' # -y manifest.rb + SiSU_Manifest::Source.new(@opt).read + end + end + end + def loop_files_on_given_option_pre_do + if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod + require_relative 'sisupod_make' # -S sisupod_make.rb + begin + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_Doc::Source.new(@opt).read end + ensure + SiSU_Doc::Source.new(@opt).sisupod_tar_xz end - def pre_loop_files_on_given_option_do - if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod - requires('sisupod_make') # -S sisupod_make.rb + end + end + def do_loop_files_on_given_option_post + if @opt.act[:share_source][:set]==:on \ + or @opt.act[:sisupod][:set]==:on \ + or @opt.act[:git][:set]==:on + begin + require_relative 'shared_sisupod_source' + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_Source::SiSUpodSource.new(@opt).read + end + if @opt.act[:share_source][:set]==:on +#REDO + require_relative 'share_src' # -s share_src.rb begin - OptionLoopFiles.new(@opt).loop_files_on_given_option do - 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_Markup::Source.new(@opt).read + end end end - end - def post_loop_files_on_given_option_do - if @opt.act[:share_source][:set]==:on \ - or @opt.act[:sisupod][:set]==:on \ - or @opt.act[:git][:set]==:on + if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod + require_relative 'sisupod_make' # -S sisupod_make.rb begin - requires('shared_sisupod_source') - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_Source::SiSUpodSource.new(@opt).read - end - if @opt.act[:share_source][:set]==:on -#REDO - requires('share_src') # -s share_src.rb - begin - ensure - OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do - SiSU_Markup::Source.new(@opt).read - end - end - end - if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod - requires('sisupod_make') # -S sisupod_make.rb - begin - ensure - OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do - SiSU_Doc::Source.new(@opt).sisupod_tar_xz - end - end - end - if @opt.act[:git][:set]==:on #% --git, -g sisu git - requires('git') # -g git.rb - begin - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_Git::Source.new(@opt).read - end - ensure - OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do - SiSU_Git::Source.new(@opt).git_commit - end - end - end ensure - path_pod=@env.processing_path.processing_sisupod(@opt).paths - unless @opt.cmd =~/M/ - FileUtils::rm_rf("#{path_pod[:sisupod]}/*") if FileTest.directory?(path_pod[:sisupod]) - #FileUtils::rm_rf("#{path_pod[:fnb]}/*") if FileTest.directory?(path_pod[:fnb]) + OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do + SiSU_Doc::Source.new(@opt).sisupod_tar_xz end end end - if @opt.act[:po4a][:set]==:on #% --po4a, -P - requires('po4a') + if @opt.act[:git][:set]==:on #% --git, -g sisu git + require_relative 'git' # -g git.rb begin OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_Po4a::Source.new(@opt).read # -P po4a.rb + SiSU_Git::Source.new(@opt).read end ensure + OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do + SiSU_Git::Source.new(@opt).git_commit + end end end - if @opt.act[:images][:set]==:on #% --images, -j - requires('shared_images') - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_Images::Source.new(@opt).read # -j shared_images.rb - end + ensure + path_pod=@env.processing_path.processing_sisupod(@opt).paths + unless @opt.cmd =~/M/ + FileUtils::rm_rf("#{path_pod[:sisupod]}/*") if FileTest.directory?(path_pod[:sisupod]) + #FileUtils::rm_rf("#{path_pod[:fnb]}/*") if FileTest.directory?(path_pod[:fnb]) end - if @opt.cmd =~/T/ #% -T termsheet/standard form - SiSU_Help::Help.new('termsheet').help_request - @opt.files.each do |fns| - if FileTest.file?(fns) - @opt.fns=fns - case @opt.fns - when /\.(termsheet.rb)$/ - SiSU::Operations.new(@opt).termsheet - else #print "not processed --> ", fns, "\n" - end - else SiSU::Operations.new(@opt).not_found - end - end - SiSU::Operations.new.counter + end + end + if @opt.act[:po4a][:set]==:on #% --po4a, -P + require_relative 'po4a' + begin + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_Po4a::Source.new(@opt).read # -P po4a.rb end - if @opt.cmd =~/k/ #% -k temporary tests - OptionLoopFiles.new(@opt).loop_files_on_given_option do - #requires('xml_scaffold') - #fix - end + ensure + end + end + if @opt.act[:images][:set]==:on #% --images, -j + require_relative 'shared_images' + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_Images::Source.new(@opt).read # -j shared_images.rb + end + end + if @opt.cmd =~/T/ #% -T termsheet/standard form + SiSU_Help::Help.new('termsheet').help_request + @opt.files.each do |fns| + if FileTest.file?(fns) + @opt.fns=fns + case @opt.fns + when /\.(termsheet.rb)$/ + SiSU::Operations.new(@opt).termsheet + else #print "not processed --> ", fns, "\n" + end + else SiSU::Operations.new(@opt).not_found end - if @opt.act[:psql][:set]==:on #% --pg, -D DB postgresql - requires('dbi') - if @opt.files.length > 0 #switch test to actual commands - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb - end - else - SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb - end + end + SiSU::Operations.new.counter + end + if @opt.cmd =~/k/ #% -k temporary tests + OptionLoopFiles.new(@opt).loop_files_on_given_option do + #require_relative 'xml_scaffold' + #fix + end + end + if @opt.act[:psql][:set]==:on #% --pg, -D DB postgresql + require_relative 'dbi' + if @opt.files.length > 0 #switch test to actual commands + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb end - if @opt.act[:sqlite][:set]==:on #% --sqlite, -d DB sqlite - requires('dbi') - if @opt.files.length > 0 #switch test to actual commands - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb - end - else - SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb - end + else + SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb + end + end + if @opt.act[:sqlite][:set]==:on #% --sqlite, -d DB sqlite + require_relative 'dbi' + if @opt.files.length > 0 #switch test to actual commands + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb + end + else + SiSU_DBI::SQL.new(@opt).connect # -D -d dbi.rb + end + end + if @opt.act[:dal][:set]==:on #% --dal, -m embedded content + # OptionLoopFiles.new(@opt).loop_files_on_given_option do + # require_relative 'embedded' + # SiSU_Embedded::Source.new(@opt).read # -m embedded.rb (image and other content) #check + # end + end + if @opt.act[:zap][:set]==:on #% --zap, -Z + # OptionLoopFiles.new(@opt).loop_files_on_given_option do + # require_relative 'zap' + # SiSU_Zap::Source.new(@opt).read # -Z zap.rb + # end + end + if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod + # OptionLoopFiles.new(@opt).loop_files_on_given_option do + # require_relative 'sisupod_make' + # SiSU_Doc::Source.new(@opt).read # -S sisupod_make.rb + # end + end + if @opt.act[:manifest][:set]==:on #% --manifest, -y + require_relative 'manifest' + OptionLoopFiles.new(@opt).manifest_on_files_translated do + SiSU_Manifest::Source.new(@opt).read # -y manifest.rb + end + end + if @opt.act[:sitemap][:set]==:on #% --sitemap, -Y + require_relative 'sitemaps' + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_Sitemaps::Source.new(@opt).read # -Y sitemaps.rb + end + end + if @opt.act[:harvest][:set] !=:on + if @opt.act[:scp][:set]==:on #% -r copy to remote server + require_relative 'remote' # -r remote.rb + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_Remote::Put.new(@opt).scp + end + end + if @opt.act[:rsync][:set]==:on #% -R copy to remote server + require_relative 'remote' # -R remote.rb + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_Remote::Put.new(@opt).rsync + end + end + else + end + if @opt.act[:urls_selected][:set]==:on #% --sitemap, -Y + require_relative 'urls' + OptionLoopFiles.new(@opt).loop_files_on_given_option do + SiSU_Urls::Source.new(@opt).read #% -u -v -V -M + end + end + end + def do_initialization + @cX=SiSU_Screen::Ansi.new(@opt.cmd).cX + flag=SiSU_Env::InfoProcessingFlag.new + if @opt.cmd =~/[vVM]/ #% version information + unless @opt.files.empty? + SiSU_Help::Help.new('env',@opt).sisu_version + end + end + if @opt.act[:license][:set]==:on #% license information + SiSU_Help::Help.new('license',@opt).help_request + end + if @opt.act[:dal][:set]==:on \ + or @opt.act[:maintenance][:set]==:on #% --maintenance, -m for -C + path={} + path[:css]=@@env.path.output + '/_sisu/css' + path[:xml]=@@env.path.output + '/_sisu/xml' + path[:xsd]=path[:xml] + '/xsd' + path[:xsd]=path[:xml] + '/rnc' + path[:xsd]=path[:xml] + '/rng' + re_p3=/(sisupod(?:\.txz)?|\S+?\.ss[mt]\.txz|[^\/]+?\.ssp)$/ + unless @opt.files.join(',') =~ re_p3 #do not mix pods with source markup files in command line + # unless ( FileTest.directory?(path[:css]) \ + # and FileTest.directory?(path[:xsd]) ) + # @opt.cmd=@opt.cmd +='C' unless @opt.cmd =~/C/ #FIX + # end + if @opt.act[:maintenance][:set] ==:on + $VERBOSE=false #debug $VERBOSE=true end - if @opt.act[:dal][:set]==:on #% --dal, -m embedded content - # OptionLoopFiles.new(@opt).loop_files_on_given_option do - # requires('embedded') - # SiSU_Embedded::Source.new(@opt).read # -m embedded.rb (image and other content) #check - # end + end + re_p2=/(sisupod(?:\.zip)?|\S+?\.ss[mt]\.zip)$/ + unless @opt.files.join(',') =~ re_p2 #do not mix pods with source markup files in command line + # unless ( FileTest.directory?(path[:css]) \ + # and FileTest.directory?(path[:xsd]) ) + # @opt.cmd=@opt.cmd +='C' unless @opt.cmd =~/C/ #FIX + # end + if @opt.act[:maintenance][:set] ==:on + $VERBOSE=false #debug $VERBOSE=true end - if @opt.act[:zap][:set]==:on #% --zap, -Z - # OptionLoopFiles.new(@opt).loop_files_on_given_option do - # requires('zap') - # SiSU_Zap::Source.new(@opt).read # -Z zap.rb - # end + end + end + if @opt.act[:site_init][:set]==:on #% --init-site, -C initialize/configure + require_relative 'conf' #% --init-site, -C initialize/configure + SiSU_Initialize::Source.new(@opt).read + if @opt.act[:rsync][:set]==:on + if @opt.mod.inspect =~/--init(?:ialize)?=site/ \ + and @opt.cmd =~/RZ/ + SiSU::Operations.new(@opt).remote_put_base_site_rsync_match + else SiSU::Operations.new(@opt).remote_put_base_site_rsync end - if @opt.act[:sisupod][:set]==:on #% --sisupod, -S make sisupod - # OptionLoopFiles.new(@opt).loop_files_on_given_option do - # requires('sisupod_make') - # SiSU_Doc::Source.new(@opt).read # -S sisupod_make.rb - # end + elsif @opt.act[:scp][:set]==:on + if @opt.mod.inspect =~/--init(?:ialize)?=site/ \ + and @opt.cmd =~/CCr/ + SiSU::Operations.new(@opt).remote_put_base_site_all + else SiSU::Operations.new(@opt).remote_put_base_site end - if @opt.act[:manifest][:set]==:on #% --manifest, -y - requires('manifest') - OptionLoopFiles.new(@opt).manifest_on_files_translated do - SiSU_Manifest::Source.new(@opt).read # -y manifest.rb + end + end + if @opt.act[:sample_search_form][:set]==:on #% --sample-search-form, -F cgi sample search form + SiSU::Operations.new(@opt).cgi + end + if @opt.act[:webrick][:set]==:on #% --webrick, -W webrick + SiSU::Operations.new(@opt).webrick + end + if @opt.act[:zap][:set]==:on #% --zap -Z wipe previous output clean DUPLICATE + #require_relative 'zap' + #SiSU_Zap::Source.new(@opt).read # -Z zap.rb + end + if @opt.act[:dal][:set]==:on + @retry_count= -1 + begin + path_image='./_sisu/processing/external_document/image' + path_skin='./_sisu/processing/external_document/skin/doc' + @get_s,@get_p,@get_pl=[],[],[] + re_s=/(\S+?\.-sst)$/ + re_p3=/((?:https?|file):\/\/\S+?(?:\/\S+?\.ss[mt]\.txz|sisupod(?:\.txz)?|\.ssp))/ + re_pl3=/^(\/\S+?\.ss[mt]\.txz)/ + @opt.files.each do |fns| + if fns =~re_s + @get_s << @opt.f_pths[0][:url] + end + if fns =~re_p3 + @get_p << re_p3.match(fns)[1] if re_p3 + end + if fns =~re_pl3 + @get_pl << re_pl3.match(fns)[1] if re_p3 end end - if @opt.act[:sitemap][:set]==:on #% --sitemap, -Y - requires('sitemaps') - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_Sitemaps::Source.new(@opt).read # -Y sitemaps.rb - end + if @get_s.length > 0 #% remote markup file .sst + require_relative 'remote' # remote.rb + SiSU_Remote::Get.new(@opt,@get_s).fns + SiSU::Operations.new.counter end - if @opt.act[:harvest][:set] !=:on - if @opt.act[:scp][:set]==:on #% -r copy to remote server - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_Remote::Put.new(@opt).scp # -r - end - end - if @opt.act[:rsync][:set]==:on #% -R copy to remote server - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_Remote::Put.new(@opt).rsync # -R - end - end - else + if @get_p.length > 0 #% remote sisupod + require_relative 'remote' # remote.rb + SiSU_Remote::Get.new(@opt,@get_p).sisupod end - if @opt.act[:urls_selected][:set]==:on #% --sitemap, -Y - requires('urls') - OptionLoopFiles.new(@opt).loop_files_on_given_option do - SiSU_Urls::Source.new(@opt).read #% -u -v -V -M - end + rescue + SiSU_Errors::InfoError.new($!,$@,@opt,@fns).error do + __LINE__.to_s + ':' + __FILE__ end + @retry_count +=1 + retry unless @retry_count > 1 + ensure end - if @opt.act[:site_init][:set]==:on #% -C - requires('conf') # -s conf.rb - SiSU_Initialize::Source.new(@opt).read - end - #pre_loop_files_on_given_option_do - each_file_loop_options - post_loop_files_on_given_option_do + end + if @opt.act[:site_init][:set]==:on #% -C + require_relative 'conf' # -s conf.rb + SiSU_Initialize::Source.new(@opt).read + end + end + def actions + if @opt.act[:profile][:set]==:on + require 'profile' + end + if @opt.act[:harvest][:set]==:on + require_relative 'harvest' # harvest.rb + SiSU_Harvest::Source.new(@opt).read # -h -H html.rb + elsif @opt.mod.inspect =~/--convert|--to|--from/ + require_relative 'sst_convert_markup' # sst_convert_markup.rb + elsif @opt.cmd =~/([abCcDdeFGgHhIjikLMmNnoPpQqRrSsTtUuVvWwXxYyZ_0-9])/ \ + and @opt.cmd =~/^-/ \ + and @opt.mod.inspect !~/--(?:sitemaps|query|identify)/ \ + or @opt.mod.inspect =~/--(?:(?:sq)?lite|pg(?:sql)?)/ + do_initialization + do_loops @msg,@msgs="\tsisu -W [to start ruby web-server on output directory]\n",nil unless @opt.act[:quiet][:set] ==:on @tell.call.print_brown if @opt.cmd =~/[uUvVM]/ unless @opt.files.join.empty? if defined? @@env.processing_path.processing \ @@ -635,18 +639,18 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on elsif @opt.mod.inspect =~/--identify/ require_relative 'sst_identify_markup' # sst_identify_markup.rb markup_version=SiSU_Markup::MarkupIdentify.new(@opt).markup_version? - elsif @opt.mod.inspect =~/--about/ #% help instructions + elsif @opt.mod.inspect =~/--about/ #% help instructions if @opt.mod.inspect =~/--about/ \ and not @opt.what.empty? SiSU_Help::Help.new(@opt.what,'color_off').help_request else SiSU_Help::Help.new('list','color_off').help_request end - elsif @opt.mod.inspect =~/--sitemaps/ #% sitemaps - require_relative 'sitemaps' # sitemaps.rb + elsif @opt.mod.inspect =~/--sitemaps/ #% sitemaps + require_relative 'sitemaps' # sitemaps.rb SiSU_Sitemaps::Source.new(@opt).read if @opt.act[:rsync][:set]==:on - require_relative 'remote' # remote.rb + require_relative 'remote' # remote.rb SiSU_Remote::Put.new(@opt).rsync_sitemaps end else #% help instructions @@ -693,15 +697,15 @@ p "#{__LINE__}:#{__FILE__}" if @opt.act[:maintenance][:set] ==:on require 'jcode' $KCODE='UTF8' end - require_relative 'constants' # constants.rb - require_relative 'options' # options.rb - require_relative 'sysenv' # sysenv.rb + require_relative 'constants' # constants.rb + require_relative 'options' # options.rb + require_relative 'sysenv' # sysenv.rb include SiSU_Env; include SiSU_Screen - require_relative 'param' # param.rb + require_relative 'param' # param.rb include SiSU_Param - require_relative 'defaults' # defaults.rb + require_relative 'defaults' # defaults.rb include SiSU_Viz - require_relative 'help' # help.rb + require_relative 'help' # help.rb include SiSU_Help require 'uri' home=ENV['HOME'] -- cgit v1.2.3