aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v0/sysenv.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v0/sysenv.rb')
-rw-r--r--lib/sisu/v0/sysenv.rb303
1 files changed, 167 insertions, 136 deletions
diff --git a/lib/sisu/v0/sysenv.rb b/lib/sisu/v0/sysenv.rb
index 4252529d..510324c7 100644
--- a/lib/sisu/v0/sysenv.rb
+++ b/lib/sisu/v0/sysenv.rb
@@ -353,19 +353,19 @@ module SiSU_Env
end
if @fns and @fns != '' #watch
if multilingual
- m=/((.+?)(?:\~\w{2,3})?)\.([_-]?sst|ssm)$/
+ m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst|ssm)$/
@@fnn ||=@fns[m,1]
@@fnb ||=@fns[m,2]
@@fnt ||=@fns[m,3]
@@flv ||=document_language_versions_found[:f]
- @@fnz ||=if @@fns =~/(?:\~\S{2,3})?\.(?:_sst|ssm)$/; @@fnb + '.ssm.zip'
+ @@fnz ||=if @@fns =~/(?:\~\S{2,3})?\.(?:ssm\.sst|ssm)$/; @@fnb + '.ssm.zip'
else @@fnb + '.sst.zip'
end
- else m=/(.+?)\.([_-]?sst|ssm)$/
+ else m=/(.+?)\.((?:-|ssm\.)?sst|ssm)$/
@@fnb ||=@fns[m,1]
@@fnm ||=@fns[m,1]
@@fnt ||=@fns[m,2]
- @@fnz ||=if @@fns =~/(?:\~\S{2,3})?\.(?:_sst|ssm)$/; @@fnb + '.ssm.zip'
+ @@fnz ||=if @@fns =~/(?:\~\S{2,3})?\.(?:ssm\.sst|ssm)$/; @@fnb + '.ssm.zip'
else @@fnb + '.sst.zip'
end
end
@@ -381,9 +381,9 @@ module SiSU_Env
@fn={}
unless (@fns.nil? or @fns.empty?)
if multilingual
- m=/((.+?)(?:\~\w{2,3})?)\.([_-]?sst$)/
+ m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst$)/
@fn[:b],@fn[:m],@fn[:t]=@fns[m,1],@fns[m,2],@fns[m,3]
- else m=/(.+?)\.([_-]?sst$)/
+ else m=/(.+?)\.((?:-|ssm\.)?sst$)/
@fn[:b]=@fn[:m]=@fns[m,1]
@fn[:t]=@fns[m,2]
end
@@ -411,10 +411,10 @@ module SiSU_Env
@m=[]
unless (@fns.nil? or @fns.empty?)
if multilingual
- m=/((.+?)(?:\~\w{2,3})?)\.([_-]?sst$)/
+ m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst$)/
@fn[:b],@fn[:m],@fn[:t]=@fns[m,1],@fns[m,2],@fns[m,3]
#@fl[:v]=@env.document_language_versions_found
- else m=/(.+?)\.([_-]?sst$)/
+ else m=/(.+?)\.((?:-|ssm\.)?sst$)/
@fn[:b]=@fn[:m]=@fns[m,1]
@fn[:t]=@fns[m,2]
end
@@ -744,7 +744,7 @@ module SiSU_Env
language[:c]
end
def file_to_language(file)
- m=/.+?\~(\w{2,3})\.[_-]?sst$/
+ m=/.+?\~(\w{2,3})\.(?:-|ssm\.)?sst$/
@language=if file =~m ; file[m,1]
else ''
end
@@ -767,7 +767,7 @@ module SiSU_Env
fnb=if @md and defined? @md.fnb; @md.fnb
elsif defined? @env.fnb and @env.fnb; @env.fnb
elsif not @fns.nil? and not @fns.empty?
- m=/(.+)?\.(?:[_-]?sst|ssm)$/m
+ m=/(.+)?\.(?:(?:-|ssm\.)?sst|ssm)$/m
@fns[m,1] if not @fns.empty?
end
if fnb; @@fb ||=fnb
@@ -1110,17 +1110,17 @@ WOK
self
end
def source_file_path
- file=@fns.gsub(/(\.ssm)/,'._sst')
- pth=unless file =~/\._sst$/; "#{Dir.pwd}"
+ file=@fns.gsub(/\.ssm(?:\.sst)?/,'.ssm.sst')
+ pth=unless file =~/\.ssm\.sst$/; "#{Dir.pwd}"
else "#{path.composite_file}"
end
end
def source_file_with_path
- file=@fns.gsub(/(\.ssm)/,'._sst')
+ file=@fns.gsub(/\.ssm(?:\.sst)?/,'.ssm.sst')
"#{source_file_path}/#{file}"
end
def read_source_file(fns)
- fns_array=unless fns =~/\._sst$/
+ fns_array=unless fns =~/\.ssm.sst$/
IO.readlines(fns,'')
else IO.readlines("#{path.composite_file}/#{fns}",'')
end
@@ -2004,23 +2004,38 @@ WOK
@rc=Get_init.instance.yamlrc
end
def remote_host #see Info_remote remote_host_base_general
- r={}
- r=if (defined? @rc['remote']['user'] and defined? @rc['remote']['host'])
- r[:user]=@rc['remote']['user']
- r[:host]=@rc['remote']['host']
- r[:path]=if defined? @rc['remote']['path']
+ r=[]
+ r=if (defined? @rc['remote'] and @rc['remote'].class==Array)
+ r_array=@rc['remote']
+ r_array.each_with_index do |renv,i|
+ r[i]={}
+ if defined? renv['user'] and defined? renv['host']
+ end
+ r[i][:user]=renv['user']
+ r[i][:host]=renv['host']
+ r[i][:path]=if defined? renv['path']
+ renv['path']
+ else ''
+ end
+ r[i][:name]="#{r[i][:user]}@#{r[i][:host]}:#{r[i][:path]}"
+ end
+ r
+ elsif (defined? @rc['remote'] and @rc['remote'].class==Hash and defined? @rc['remote']['user'] and defined? @rc['remote']['host'])
+ r[0][:user]=@rc['remote']['user']
+ r[0][:host]=@rc['remote']['host']
+ r[0][:path]=if defined? @rc['remote']['path']
@rc['remote']['path']
else ''
end
- r[:name]="#{r[:user]}@#{r[:host]}:#{r[:path]}"
+ r[0][:name]="#{r[:user]}@#{r[:host]}:#{r[:path]}"
r
else
- r[:name]='.'
- r[:user]=''
- r[:host]=''
- r[:path]=''
- r
+ r[0][:name]='.'
+ r[0][:user]=''
+ r[0][:host]=''
+ r[0][:path]=''
#puts "no remote host or user"
+ r
end
end
end
@@ -2036,138 +2051,154 @@ WOK
SiSU_Env::Info_remote_host.new.remote_host
end
def remote_host_base
- remote=remote_host_base_general
- #host_ip=IPSocket.getaddress(remote[:host]) unless remote[:host].empty?
- @@flag_remote=true if remote[:name] =~/\S+?@\S+/ #and host_ip =~/\d+\.\d+\.\d+\.\d+/ #very naive check should be enough /[0-255]+\.[0-255]+\.[0-255]+\.[0-255]+/
- remote_host_base_general[:name]
+ remote_host_base_general.each do |remote_conn|
+ #host_ip=IPSocket.getaddress(remote[:host]) unless remote[:host].empty?
+ @@flag_remote=true if remote_conn[:name] =~/\S+?@\S+/
+ #remote_conn[:name]
+ end
+ remote_host_base_general
end
def scp #sort out later using ruby libraries #not ideal, first time each file is sent, -r must be called separately for subdir to be built
- local=@source_path
- remote=case @opt.cmd
- when /u/; "#{self.remote_host_base}/#{@env.path.stub_pwd}/." #creates remote directory tree, this is not the usual function of u
- when /[abhHNopwxXy]/; "#{self.remote_host_base}/#{@env.path.stub_pwd}/#{@fnb}/."
- else "#{self.remote_host_base}/#{@env.path.stub_pwd}/."
- end
- #remote="#{self.remote_host_base}/#{@env.path.stub_pwd}/."
- local_src=@source_path_src
- remote_src="#{self.remote_host_base}/#{@env.path.stub_src}/."
- src_txt=@opt.fnc
- src_pod=@opt.fncb.gsub(/(\.ss[mt])(?:\.sst)?$/,'\1.zip')
- if (local =~/\S/ and local !~/\/\//) and (remote =~/\S/ and remote !~/\/\//) and @@flag_remote==true and @opt.cmd !~/U/
- System_call.new(local,remote).scp
- if FileTest.file?("#{local_src}/#{src_txt}") or FileTest.file?("#{local_src}/#{src_pod}")
- System_call.new("#{local_src}/#{src_txt} #{local_src}/#{src_pod}",remote_src).scp
- end
- elsif @opt.cmd =~/U/
- puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
- puts "#{local} -> #{remote}"
- if FileTest.file?("#{local_src}/#{src_doc}") or FileTest.file?("#{local_src}/#{src_doc}.zip")
- puts "#{local_src}/#{src_doc}* -> #{remote_src}"
+ self.remote_host_base.each do |remote_conn|
+ local_gen=@source_path
+ remote_gen=case @opt.cmd
+ when /u/; "#{remote_conn[:name]}/#{@env.path.stub_pwd}/." #creates remote directory tree, this is not the usual function of u
+ when /[abhHNopwxXy]/; "#{remote_conn[:name]}/#{@env.path.stub_pwd}/#{@fnb}/."
+ else "#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ end
+ #remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ local_src=@source_path_src
+ remote_src="#{remote_conn[:name]}/#{@env.path.stub_src}/."
+ src_txt=@opt.fnc
+ src_pod=@opt.fncb.gsub(/(\.ss[mt])(?:\.sst)?$/,'\1.zip')
+ if (local_gen =~/\S/ and local_gen !~/\/\//) and (remote_gen =~/\S/ and remote_gen !~/\/\//) and @@flag_remote==true and @opt.cmd !~/U/
+ System_call.new(local_gen,remote_gen).scp
+ if FileTest.file?("#{local_src}/#{src_txt}") or FileTest.file?("#{local_src}/#{src_pod}")
+ System_call.new("#{local_src}/#{src_txt} #{local_src}/#{src_pod}",remote_src).scp
+ end
+ elsif @opt.cmd =~/U/
+ puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ puts "#{local_gen} -> #{remote_gen}"
+ if FileTest.file?("#{local_src}/#{src_doc}") or FileTest.file?("#{local_src}/#{src_doc}.zip")
+ puts "#{local_src}/#{src_doc}* -> #{remote_src}"
+ end
+ else
+ puts 'suspect scp request, ignored'
+ puts "#{local_gen} -> #{remote_gen} remote flag: #@@flag_remote"
+ puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
end
- else
- puts 'suspect scp request, ignored'
- puts "#{local} -> #{remote} remote flag: #@@flag_remote"
- puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
end
end
def rsync
- local=@source_path
- remote="#{self.remote_host_base}/#{@env.path.stub_pwd}/."
- local_src=@source_path_src
- remote_src="#{self.remote_host_base}/#{@env.path.stub_src}/."
- src_txt=@opt.fnc
- src_pod=@opt.fncb.gsub(/(\.ss[mt])(?:\.sst)?$/,'\1.zip')
- if (local =~/\S/ and local !~/\/\//) and (remote =~/\S/ and remote !~/\/\//) and @@flag_remote==true and @opt.cmd !~/U/
- System_call.new(local,remote,@opt.cmd).rsync('--delete-after')
- if FileTest.file?("#{local_src}/#{src_txt}") or FileTest.file?("#{local_src}/#{src_pod}")
- System_call.new("#{local_src}/#{src_txt} #{local_src}/#{src_pod}",remote_src,@opt.cmd).rsync
- end
- elsif @opt.cmd =~/U/
- puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
- puts "#{local} -> #{remote}"
- if FileTest.file?("#{local_src}/#{src_doc}") or FileTest.file?("#{local_src}/#{src_doc}.zip")
- puts "#{local_src}/#{src_doc}* -> #{remote_src}"
+ self.remote_host_base.each do |remote_conn|
+ local_gen=@source_path
+ remote_gen="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ local_src=@source_path_src
+ remote_src="#{remote_conn[:name]}/#{@env.path.stub_src}/."
+ src_txt=@opt.fnc
+ src_pod=@opt.fncb.gsub(/(\.ss[mt])(?:\.sst)?$/,'\1.zip')
+ if (local_gen =~/\S/ and local_gen !~/\/\//) and (remote_gen =~/\S/ and remote_gen !~/\/\//) and @@flag_remote==true and @opt.cmd !~/U/
+ System_call.new(local_gen,remote_gen,@opt.cmd).rsync('--delete-after')
+ if FileTest.file?("#{local_src}/#{src_txt}") or FileTest.file?("#{local_src}/#{src_pod}")
+ System_call.new("#{local_src}/#{src_txt} #{local_src}/#{src_pod}",remote_src,@opt.cmd).rsync
+ end
+ elsif @opt.cmd =~/U/
+ puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ puts "#{local_gen} -> #{remote_gen}"
+ if FileTest.file?("#{local_src}/#{src_doc}") or FileTest.file?("#{local_src}/#{src_doc}.zip")
+ puts "#{local_src}/#{src_doc}* -> #{remote_src}"
+ end
+ else
+ puts 'suspect rsync request, ignored'
+ puts "#{local_gen} -> #{remote_gen} remote flag: #@@flag_remote"
+ puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
end
- else
- puts 'suspect rsync request, ignored'
- puts "#{local} -> #{remote} remote flag: #@@flag_remote"
- puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
end
end
def scp_base #base site
- local=@source_path
- remote="#{remote_host_base}/#{@env.path.stub_pwd}/."
- if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] and @@flag_remote==true and @opt.cmd !~/U/
- puts "begin scp_base: #{local} -> #{remote}"
- System_call.new("#{local}/#{@env.path.style}/",remote).scp
- elsif @opt.cmd =~/U/
- puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
- puts "begin scp_base: #{local} -> #{remote}"
- puts "#{local}/#{@env.path.style}/ -> #{remote}"
- else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ self.remote_host_base.each do |remote_conn|
+ local=@source_path
+ remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] and @@flag_remote==true and @opt.cmd !~/U/
+ puts "begin scp_base: #{local} -> #{remote}"
+ System_call.new("#{local}/#{@env.path.style}/",remote).scp
+ elsif @opt.cmd =~/U/
+ puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ puts "begin scp_base: #{local} -> #{remote}"
+ puts "#{local}/#{@env.path.style}/ -> #{remote}"
+ else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ end
end
end
def scp_base_all #base site
- local=@source_path
- remote="#{remote_host_base}/#{@env.path.stub_pwd}/."
- if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] and @@flag_remote==true and @opt.cmd !~/U/
- puts "begin scp_base_all: #{local} -> #{remote}"
- System_call.new("#{local}/_sisu/image_sys/",remote).scp
- System_call.new("#{local}/_sisu/image/",remote).scp
- System_call.new("#{local}/#{@env.path.style}/",remote).scp
- elsif @opt.cmd =~/U/
- puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
- puts "scp_base_all: #{local} -> #{remote}"
- puts "#{local}/_sisu/image_sys/ -> #{remote}"
- puts "#{local}/_sisu/image/ -> #{remote}"
- puts "#{local}/#{@env.path.style}/ -> #{remote}"
- else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ self.remote_host_base.each do |remote_conn|
+ local=@source_path
+ remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] and @@flag_remote==true and @opt.cmd !~/U/
+ puts "begin scp_base_all: #{local} -> #{remote}"
+ System_call.new("#{local}/_sisu/image/",remote).scp
+ System_call.new("#{local}/_sisu/image_local/",remote).scp
+ System_call.new("#{local}/#{@env.path.style}/",remote).scp
+ elsif @opt.cmd =~/U/
+ puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ puts "scp_base_all: #{local} -> #{remote}"
+ puts "#{local}/_sisu/image/ -> #{remote}"
+ puts "#{local}/_sisu/image_local/ -> #{remote}"
+ puts "#{local}/#{@env.path.style}/ -> #{remote}"
+ else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ end
end
end
def rsync_base #base site
- local=@source_path
- remote="#{remote_host_base}/#{@env.path.stub_pwd}/."
- if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] and @@flag_remote==true and @opt.cmd !~/U/
- #puts "begin rsync_base: #{local} -> #{remote}"
- #System_call.new("#{local}/_sisu/image/",remote).rsync
- #System_call.new("#{local}/_sisu/image_local/",remote).rsync
- #System_call.new("#{local}/#{@env.path.style}/",remote).rsync
- elsif @opt.cmd =~/U/
- puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
- puts "rsync_base: #{local} -> #{remote}"
- puts "#{local}/_sisu/image_sys/ -> #{remote}"
- puts "#{local}/_sisu/image/ -> #{remote}"
- puts "#{local}/#{@env.path.style}/ -> #{remote}"
- else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ self.remote_host_base.each do |remote_conn|
+ local=@source_path
+ remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] and @@flag_remote==true and @opt.cmd !~/U/
+ #puts "begin rsync_base: #{local} -> #{remote}"
+ #System_call.new("#{local}/_sisu/image/",remote).rsync
+ #System_call.new("#{local}/_sisu/image_local/",remote).rsync
+ #System_call.new("#{local}/#{@env.path.style}/",remote).rsync
+ elsif @opt.cmd =~/U/
+ puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ puts "rsync_base: #{local} -> #{remote}"
+ puts "#{local}/_sisu/image/ -> #{remote}"
+ puts "#{local}/_sisu/image_local/ -> #{remote}"
+ puts "#{local}/#{@env.path.style}/ -> #{remote}"
+ else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ end
end
end
def rsync_base_sync #base site
- local=@source_path
- remote="#{remote_host_base}/#{@env.path.stub_pwd}/."
- if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] and @@flag_remote==true and @opt.cmd !~/U/
- puts "begin rsync_base_sync: #{local} -> #{remote}"
- System_call.new("#{local}/_sisu/image_sys/",remote).rsync('--delete-after')
- System_call.new("#{local}/_sisu/image/",remote).rsync('--delete-after')
- System_call.new("#{local}/#{@env.path.style}/",remote).rsync('--delete-after')
- elsif @opt.cmd =~/U/
- puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
- puts "rsync_base_sync: #{local} -> #{remote}"
- puts "#{local}/_sisu/image_sys/ -> #{remote}"
- puts "#{local}/_sisu/image/ -> #{remote}"
- puts "#{local}/#{@env.path.style}/ -> #{remote}"
- else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ self.remote_host_base.each do |remote_conn|
+ local=@source_path
+ remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] and @@flag_remote==true and @opt.cmd !~/U/
+ puts "begin rsync_base_sync: #{local} -> #{remote}"
+ System_call.new("#{local}/_sisu/image/",remote).rsync('--delete-after')
+ System_call.new("#{local}/_sisu/image_local/",remote).rsync('--delete-after')
+ System_call.new("#{local}/#{@env.path.style}/",remote).rsync('--delete-after')
+ elsif @opt.cmd =~/U/
+ puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ puts "rsync_base_sync: #{local} -> #{remote}"
+ puts "#{local}/_sisu/image/ -> #{remote}"
+ puts "#{local}/_sisu/image_local/ -> #{remote}"
+ puts "#{local}/#{@env.path.style}/ -> #{remote}"
+ else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ end
end
end
def rsync_sitemaps #sitemap directory
- local="#@source_path/sitemapindex.xml"
- remote="#{remote_host_base}/#{@env.path.stub_pwd}/."
- if @@flag_remote
- #if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] #and @@flag_remote==true and @opt.cmd !~/U/
- System_call.new(local,remote).rsync('--delete-after')
- elsif @opt.cmd =~/U/
- puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
- puts "rsync_sitemaps: #{local} -> #{remote}"
- else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ self.remote_host_base.each do |remote_conn|
+ local="#@source_path/sitemapindex.xml"
+ remote="#{remote_conn[:name]}/#{@env.path.stub_pwd}/."
+ if @@flag_remote
+ #if defined? @rc['permission_set']['remote_base_site'] and @rc['permission_set']['remote_base_site'] #and @@flag_remote==true and @opt.cmd !~/U/
+ System_call.new(local,remote).rsync('--delete-after')
+ elsif @opt.cmd =~/U/
+ puts "#{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ puts "rsync_sitemaps: #{local} -> #{remote}"
+ else puts "permission not granted #{__FILE__} #{__LINE__}" if @opt.cmd =~/M/
+ end
end
end
end
@@ -2209,7 +2240,7 @@ WOK
@fns=fns
end
def basefilename
- m=/(.+?)\.(?:[_-]?sst|ssm)$/m
+ m=/(.+?)\.(?:(?:-|ssm\.)?sst|ssm)$/m
fnb=@fns[m,1]
end
def project