aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3/options.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v3/options.rb')
-rw-r--r--lib/sisu/v3/options.rb39
1 files changed, 24 insertions, 15 deletions
diff --git a/lib/sisu/v3/options.rb b/lib/sisu/v3/options.rb
index 5b179a57..ac31a896 100644
--- a/lib/sisu/v3/options.rb
+++ b/lib/sisu/v3/options.rb
@@ -62,9 +62,9 @@ module SiSU_commandline
require_relative 'sysenv' # sysenv.rb
@@base_path=nil
class Options
- attr_accessor :cmd,:mod,:act,:dir_structure_by,:f_pths,:files,:base_path,:base_stub,:paths,:lngs,:f_pth,:pth,:fns,:fnb,:fnc,:fncb,:lng,:lng_base,:what
+ attr_accessor :cmd,:mod,:act,:dir_structure_by,:f_pths,:files,:base_path,:base_stub,:sub_location,:paths,:lngs,:f_pth,:pth,:fns,:fnb,:fnc,:fncb,:lng,:lng_base,:what
def initialize(a)
- @cmd,@f_pth,@pth,@fns,@fnb,@fnc,@fncb,@what,@lng,@lng_base,@base_path,@base_stub='','','','','','','','','','','','',''
+ @cmd,@f_pth,@pth,@fns,@fnb,@fnc,@fncb,@what,@lng,@lng_base,@base_path,@base_stub,@sub_location='','','','','','','','','','','','',''
@f_pths,@files,@paths,@mod,@act=Array.new(5){[]}
@env=SiSU_Env::Info_env.new
@lng_base=@env.language_default_set
@@ -197,12 +197,18 @@ module SiSU_commandline
a.uniq.each do |x|
if x =~/^-[a-z0-5]+/i \
or x =~/^--\S+/
- if x =~/^-([a-z0-5]+)/i; c << $1
+ if x =~/^-([a-z0-5]+)/i
+ c << $1
end
- if x =~/^--\S+/; m << x
+ if x =~/^--\S+/
+ m << x
end
- elsif x =~ /(?:\.(?:(?:-|ssm\.)?sst(?:\.xml)?|ssm|ssi|sx[sdn]\.xml|s[1-3]|kdi|ssp)|\S+?\.ss[mt]\.zip|sisupod(\.zip)?)$/
- if x =~/^(?:https?|file):\/\/\S+/; f << x
+ elsif x =~ /(?:\.(?:(?:-|ssm\.)?sst(?:\.xml)?|ssm|ssi|sx[sdn]\.xml|s[1-3]|kdi|ssp)|\S+?\.ss[mt]\.txz|sisupod(\.txz)?)$/
+ if x =~/^(?:https?|file):\/\/\S+/ \
+ or x =~/\S+?\.ss[mt]\.txz|sisupod\.txz/ \
+ && FileTest.file?(x)
+ x=x.gsub(/^file:\/\//,'')
+ f << x
elsif FileTest.file?(x)
### FIX
pt=Pathname.new(x)
@@ -212,7 +218,7 @@ module SiSU_commandline
u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/
t=/.+\/(#{r})$/
l_p = (pt.split[0].realpath.to_s[t,1]) \
- ? pt.split[0].realpath.to_s[t,1] \
+ ? pt.split[0].realpath.to_s[t,1]
: nil
#: ''
lng << l_p
@@ -233,7 +239,7 @@ module SiSU_commandline
f: pt.split[1].to_s,
pth_stub: pt.split[0].realpath.to_s[u,1],
lng: (pt.split[0].realpath.to_s[t,1]) \
- ? pt.split[0].realpath.to_s[t,1] \
+ ? pt.split[0].realpath.to_s[t,1]
: nil,
lng_is: lng_is
}
@@ -257,31 +263,31 @@ module SiSU_commandline
y=case x
when /0/
(x=~/^-1\S+/) \
- ? x.gsub(/^-0(\S+)/,shortcut.cf_0 + ' -\1') \
+ ? x.gsub(/^-0(\S+)/,shortcut.cf_0 + ' -\1')
: x.gsub(/^-0/,shortcut.cf_0 + ' ')
when /1/
(x=~/^-1\S+/) \
- ? x.gsub(/^-1(\S+)/,shortcut.cf_1 + ' -\1') \
+ ? x.gsub(/^-1(\S+)/,shortcut.cf_1 + ' -\1')
: x.gsub(/^-1/,shortcut.cf_1 + ' ')
when /2/
(x=~/^-2\S+/) \
- ? x.gsub(/^-2(\S+)/,shortcut.cf_2 + ' -\1') \
+ ? x.gsub(/^-2(\S+)/,shortcut.cf_2 + ' -\1')
: x.gsub(/^-2/,shortcut.cf_2 + ' ')
when /3/
(x=~/^-3\S+/) \
- ? x.gsub(/^-3(\S+)/,shortcut.cf_3 + ' -\1') \
+ ? x.gsub(/^-3(\S+)/,shortcut.cf_3 + ' -\1')
: x.gsub(/^-3/,shortcut.cf_3 + ' ')
when /4/
(x=~/^-4\S+/) \
- ? x.gsub(/^-4(\S+)/,shortcut.cf_4 + ' -\1') \
+ ? x.gsub(/^-4(\S+)/,shortcut.cf_4 + ' -\1')
: x.gsub(/^-4/,shortcut.cf_4 + ' ')
when /5/
(x=~/^-5\S+/) \
- ? x.gsub(/^-5(\S+)/,shortcut.cf_5 + ' -\1') \
+ ? x.gsub(/^-5(\S+)/,shortcut.cf_5 + ' -\1')
: x.gsub(/^-5/,shortcut.cf_5 + ' ')
when /6/
(x=~/^-6\S+/) \
- ? x.gsub(/^-6(\S+)/,shortcut.cf_5 + ' -\1') \
+ ? x.gsub(/^-6(\S+)/,shortcut.cf_5 + ' -\1')
: x.gsub(/^-6/,shortcut.cf_5 + ' ')
else x
end
@@ -586,6 +592,9 @@ module SiSU_commandline
def pth
@pth
end
+ def sub_location
+ pth.gsub(/#{base_path}/,'')
+ end
def lng
@lng
end