From b1b2fe8cc3120d2a53e4c211748107ced1b1b40b Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sun, 15 May 2011 23:10:49 -0400 Subject: v3: sysenv, output_path & place_file, modified, (affects many libraries) * paths for dir, url, relative and rcp that vary with output dir structure * cope with alterative dir structures * manifest url paths, fix * dal_expand_insertions, fix * rsync, review * scp disabled --- lib/sisu/v3/sysenv.rb | 793 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 678 insertions(+), 115 deletions(-) (limited to 'lib/sisu/v3/sysenv.rb') diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb index 6d010c76..29bfa8af 100644 --- a/lib/sisu/v3/sysenv.rb +++ b/lib/sisu/v3/sysenv.rb @@ -769,11 +769,12 @@ module SiSU_Env def scp program='scp' puts "scp -Cr #{@input} #{@output}" if @cmd =~/[vVM]/ - (program_found?(program)) \ - ? system("scp -Cr #{@input} #{@output}") \ - : (puts "\tWARN: #{program} not found" ) + puts "scp disabled" + #(program_found?(program)) \ + #? system("scp -Cr #{@input} #{@output}") \ + #: (puts "\tWARN: #{program} not found" ) end - def rsync(action='') + def rsync(action='',chdir='.') program='rsync' if program_found?(program) vb=if @cmd =~/q/; 'q' @@ -782,8 +783,12 @@ module SiSU_Env end msg='' msg=" && echo 'OK: #{@input} -> #{@output}'" unless @cmd =~/q/ - puts "rsync -az#{vb} #{action} #{@input} #{@output}" if @cmd =~/[vVM]/ - system("rsync -az#{vb} #{action} #{@input} #{@output} #{msg}") + puts "rsync -az#{vb} #{action} #{@input} #{@output}" if @cmd =~/[vVM]/ + system(" + cd #{chdir} + rsync -az#{vb} #{action} #{@input} #{@output} #{msg} + cd - + ") else puts "\tWARN: #{program} not found" end end @@ -2707,7 +2712,71 @@ WOK and @@flag_remote==true \ and @opt.cmd !~/U/ delete_extra_files='--delete' # '--delete-after' - System_call.new(local_gen,remote_gen,@opt.cmd).rsync(delete_extra_files) + inp=[] + begin + local_dirs=%{-f"+ */" -f"- *" #{@md.file.output_path.base.dir}/*} + System_call.new(local_dirs,remote_gen,@opt.cmd).rsync + rescue + local_dirs=%{--include='*/' --exclude='*' @md.file.output_path.base.dir} + System_call.new(local_dirs,remote_gen,@opt.cmd).rsync + end + if @opt.cmd =~/h/ \ + && FileTest.file?(@md.file.place_file.html_scroll.dir) + inp << @md.file.output_path.html_seg.rel << @md.file.place_file.html_scroll.rel + end + if @opt.cmd =~/w/ \ + && FileTest.file?(@md.file.place_file.html_concordance.dir) + inp << @md.file.place_file.html_concordance.rel + end + if @opt.cmd =~/e/ \ + && FileTest.file?(@md.file.place_file.epub.dir) + inp << @md.file.place_file.epub.rel + end + if @opt.cmd =~/o/ \ + && FileTest.file?(@md.file.place_file.odt.dir) + inp << @md.file.place_file.odt.rel + end + if @opt.cmd =~/b/ \ + && FileTest.file?(@md.file.place_file.xhtml.dir) + inp << @md.file.place_file.xhtml.rel + end + if @opt.cmd =~/x/ \ + && FileTest.file?(@md.file.place_file.xml_sax.dir) + inp << @md.file.place_file.xml_sax.rel + end + if @opt.cmd =~/X/ \ + && FileTest.file?(@md.file.place_file.xml_dom.dir) + inp << @md.file.place_file.xml_dom.rel + end + if @opt.cmd =~/[at]/ \ + && FileTest.file?(@md.file.place_file.txt.dir) + inp << @md.file.place_file.txt.rel + end + if @opt.cmd =~/N/ \ + && FileTest.file?(@md.file.place_file.hash_digest.dir) + inp << @md.file.place_file.hash_digest.rel + end + if @opt.cmd =~/s/ \ + && FileTest.file?(@md.file.place_file.src.dir) + inp << @md.file.place_file.src.rel + end + if @opt.cmd =~/S/ \ + && FileTest.file?(@md.file.place_file.sisupod.dir) + inp << @md.file.place_file.sisupod.rel + end + if @opt.cmd =~/p/ + inp << @md.file.output_path.pdf.rel + '/' + @opt.fnb + '*' + end + if @opt.cmd =~/y/ \ + && FileTest.file?(@md.file.place_file.manifest.dir) + inp << @md.file.place_file.manifest.rel + end + if inp.length > 0 + local_gen=inp.join(' ') + remote_rel=remote_conn[:name] + '/' + @md.file.output_path.stub.rcp + remote_rel='/home/ralph/tst' + System_call.new(local_gen,remote_rel,@opt.cmd).rsync('--relative',@md.file.output_path.base.dir) + end if FileTest.file?("#{local_src}/#{src_txt}") System_call.new("#{local_src}/#{src_txt}",remote_src,@opt.cmd).rsync if defined? @md.ec[:image] and not @md.ec[:image].empty? @@ -3072,23 +3141,23 @@ WOK self end def mkdir_initialize # not used but consider using - mkdir_p(output_path.base) unless FileTest.directory?(output_path.base) - mkdir_p("#{output_path.base}/#{@md.fnb}") unless FileTest.directory?("#{output_path.base}/#{@md.fnb}") - mkdir_p("#{output_path.base}/#{@env.path.style}") unless FileTest.directory?("#{output_path.base}/#{@env.path.style}") + mkdir_p(output_path.base.dir) unless FileTest.directory?(output_path.base.dir) + mkdir_p("#{output_path.base.dir}/#{@md.fnb}") unless FileTest.directory?("#{output_path.base.dir}/#{@md.fnb}") + mkdir_p("#{output_path.base.dir}/#{@env.path.style}") unless FileTest.directory?("#{output_path.base.dir}/#{@env.path.style}") mkdir_p(@env.processing_path.dal) unless FileTest.directory?(@env.processing_path.dal) mkdir_p(@env.processing_path.tune) unless FileTest.directory?(@env.processing_path.tune) end def mkdir - txt_path="#{output_path.base}/#{@md.fnb}" + txt_path="#{output_path.base.dir}/#{@md.fnb}" def output def base - mkdir_p(output_path.base) unless FileTest.directory?(output_path.base) + mkdir_p(output_path.base.dir) unless FileTest.directory?(output_path.base.dir) end def css - mkdir_p("#{output_path.base}/#{@env.path.style}") unless FileTest.directory?("#{output_path.base}/#{@env.path.style}") + mkdir_p("#{output_path.base.dir}/#{@env.path.style}") unless FileTest.directory?("#{output_path.base.dir}/#{@env.path.style}") end def epub - path=output_path.epub + path=output_path.epub.dir make_path(path) end self @@ -3096,7 +3165,7 @@ WOK self end def mkfile #consider using more - path="#{output_path.base}/#{@md.fnb}" + path="#{output_path.base.dir}/#{@md.fnb}" make_path(path) filename=@fno file=make_file(path,filename) @@ -3108,73 +3177,73 @@ WOK end def write_file def txt - path=output_path.txt + path=output_path.txt.dir make_path(path) fn=base_filename.txt make_file(path,fn) end def html_scroll - pth=output_path.html + pth=output_path.html.dir make_path(pth) - p_fn=place_file.html_scroll + p_fn=place_file.html_scroll.dir @@filename_html_scroll=File.new(p_fn,'w+') end def html_seg_index - pth,fn="#{output_path.html}/#{@md.fnb}",base_filename.html_seg_index + pth,fn="#{output_path.html.dir}/#{@md.fnb}",base_filename.html_seg_index make_path(pth) - p_fn=place_file.html_seg_index + p_fn=place_file.html_seg_index.dir @@filename_html_index=File.new(p_fn,'w+') end def html_segtoc - pth,fn="#{output_path.html}/#{@md.fnb}",base_filename.html_segtoc + pth,fn="#{output_path.html.dir}/#{@md.fnb}",base_filename.html_segtoc make_path(pth) - p_fn=place_file.html_segtoc + p_fn=place_file.html_segtoc.dir @@filename_html_index=File.new(p_fn,'w+') end def xhtml - path=output_path.xhtml + path=output_path.xhtml.dir make_path(path) fn=base_filename.xhtml file=make_file(path,fn) end def xml_sax - path=output_path.xml + path=output_path.xml.dir make_path(path) fn=base_filename.xml_sax file=make_file(path,fn) end def xml_dom - path=output_path.xml + path=output_path.xml.dir make_path(path) fn=base_filename.xml_dom file=make_file(path,fn) end def manpage - path=output_path.manpage + path=output_path.manpage.dir make_path(path) fn=base_filename.manpage file=make_file(path,fn) end def hash_digest - path=output_path.hash_digest + path=output_path.hash_digest.dir make_path(path) fn=base_filename.hash_digest file=make_file(path,fn) end def manifest - path=output_path.manifest + path=output_path.manifest.dir make_path(path) fn=base_filename.manifest make_file(path,fn) end def pot - path=output_path.pot + path=output_path.pot.dir make_path(path) fn=base_filename.pot make_file(path,fn) end def po - path=output_path.po + path=output_path.po.dir make_path(path) fn=base_filename.po make_file(path,fn) @@ -3183,28 +3252,76 @@ WOK end def place_file def txt - output_path.txt + '/' + base_filename.txt + def dir + output_path.txt.dir + '/' + base_filename.txt + end + def rel + output_path.txt.rel + '/' + base_filename.txt + end + self end def html_scroll - output_path.html_scroll + '/' + base_filename.html_scroll + def dir + output_path.html_scroll.dir + '/' + base_filename.html_scroll + end + def rel + output_path.html_scroll.rel + '/' + base_filename.html_scroll + end + self end def html_seg_index - output_path.html_seg + '/' + base_filename.html_seg_index + def dir + output_path.html_seg.dir + '/' + base_filename.html_seg_index + end + def rel + output_path.html_seg.rel + '/' + base_filename.html_seg_index + end + self end def html_segtoc - output_path.html_seg + '/' + base_filename.html_segtoc + def dir + output_path.html_seg.dir + '/' + base_filename.html_segtoc + end + def rel + output_path.html_seg.rel + '/' + base_filename.html_segtoc + end + self end def html_book_index - output_path.html_seg + '/' + base_filename.html_book_index + def dir + output_path.html_seg.dir + '/' + base_filename.html_book_index + end + def rel + output_path.html_seg.rel + '/' + base_filename.html_book_index + end + self end def html_concordance - output_path.html_seg + '/' + base_filename.html_concordance + def dir + output_path.html_seg.dir + '/' + base_filename.html_concordance + end + def rel + output_path.html_seg.rel + '/' + base_filename.html_concordance + end + self end def odt - output_path.odt + '/' + base_filename.odt + def dir + output_path.odt.dir + '/' + base_filename.odt + end + def rel + output_path.odt.rel + '/' + base_filename.odt + end + self end def epub - output_path.epub + '/' + base_filename.epub + def dir + output_path.epub.dir + '/' + base_filename.epub + end + def rel + output_path.epub.rel + '/' + base_filename.epub + end + self end def pdf_p puts 'ERROR not available due to multiple page format sizes' @@ -3213,37 +3330,103 @@ WOK puts 'ERROR not available due to multiple page format sizes' end def xhtml - output_path.xhtml + '/' + base_filename.xhtml + def dir + output_path.xhtml.dir + '/' + base_filename.xhtml + end + def rel + output_path.xhtml.rel + '/' + base_filename.xhtml + end + self end def xml_sax - output_path.xml + '/' + base_filename.xml_sax + def dir + output_path.xml.dir + '/' + base_filename.xml_sax + end + def rel + output_path.xml.rel + '/' + base_filename.xml_sax + end + self end def xml_dom - output_path.xml + '/' + base_filename.xml_dom + def dir + output_path.xml.dir + '/' + base_filename.xml_dom + end + def rel + output_path.xml.rel + '/' + base_filename.xml_dom + end + self end def hash_digest - output_path.hash_digest + '/' + base_filename.hash_digest + def dir + output_path.hash_digest.dir + '/' + base_filename.hash_digest + end + def rel + output_path.hash_digest.rel + '/' + base_filename.hash_digest + end + self end def src - output_path.src + '/' + base_filename.src + def dir + output_path.src.dir + '/' + base_filename.src + end + def rel + output_path.src.rel + '/' + base_filename.src + end + self end def sisupod - output_path.sisupod + '/' + base_filename.sisupod + def dir + output_path.sisupod.dir + '/' + base_filename.sisupod + end + def rel + output_path.sisupod.rel + '/' + base_filename.sisupod + end + self end def po - output_path.po + '/' + base_filename.po + def dir + output_path.po.dir + '/' + base_filename.po + end + def rel + output_path.po.rel + '/' + base_filename.po + end + self end def pot - output_path.pot + '/' + base_filename.pot + def dir + output_path.pot.dir + '/' + base_filename.pot + end + def rel + output_path.pot.rel + '/' + base_filename.pot + end + self end def po_git - output_path.po_git + '/' + base_filename.po + def dir + output_path.po_git + '/' + base_filename.po + end + def rel + #output_path.po_git + '/' + base_filename.po + end + self end def pot_git - output_path.pot_git + '/' + base_filename.pot + def dir + output_path.pot_git + '/' + base_filename.pot + end + def rel + #output_path.pot_git + '/' + base_filename.pot + end + self end def manifest - output_path.manifest + '/' + base_filename.manifest + def dir + output_path.manifest.dir + '/' + base_filename.manifest + end + def rel + output_path.manifest.rel + '/' + base_filename.manifest + end + self end self end @@ -3433,140 +3616,520 @@ WOK : (@fno + '.pot') end def sisupod - #@md.fn[:sisupod] if @md.fns =~/\.ssm\.sst$/; @md.fns.gsub(/(?:\~\S{2,3})?\.ssm\.sst$/,'.ssm.zip') else @md.fns.gsub(/(?:\~\S{2,3})?(\.sst)$/,'\1.zip') end end self end - def set_path_abc(ft) - if @env.output_dir_structure.by_language_code? - "#{output_path.base}/#{@md.opt.lng}/#{ft}" - elsif @env.output_dir_structure.by_filetype? - "#{output_path.base}/#{ft}" - else - "#{output_path.base}/#{@md.fnb}" + def set_path(ft) + @ft=ft + def dir + def abc + if @env.output_dir_structure.by_language_code? + "#{output_path.base.dir}/#{@md.opt.lng}/#{@ft}" + elsif @env.output_dir_structure.by_filetype? + "#{output_path.base.dir}/#{@ft}" + else + "#{output_path.base.dir}/#{@md.fnb}" + end + end + def ab + if @env.output_dir_structure.by_language_code? + "#{output_path.base.dir}/#{@md.opt.lng}/#{@ft}" + else + "#{output_path.base.dir}/#{@ft}" + end + end + def ab_src + if @env.output_dir_structure.by_language_code? + "#{output_path.base.url}/#{@ft}/#{@md.opt.lng}" + else + "#{output_path.base.url}/#{@ft}" + end + end + self end - end - def set_path_ab(ft) - if @env.output_dir_structure.by_language_code? - "#{output_path.base}/#{@md.opt.lng}/#{ft}" - else - "#{output_path.base}/#{ft}" + def url + def abc + if @env.output_dir_structure.by_language_code? + "#{output_path.base.url}/#{@md.opt.lng}/#{@ft}" + elsif @env.output_dir_structure.by_filetype? + "#{output_path.base.url}/#{@ft}" + else + "#{output_path.base.url}/#{@md.fnb}" + end + end + def ab + if @env.output_dir_structure.by_language_code? + "#{output_path.base.url}/#{@md.opt.lng}/#{@ft}" + else + "#{output_path.base.url}/#{@ft}" + end + end + def ab_src + if @env.output_dir_structure.by_language_code? + "#{output_path.base.dir}/#{@ft}/#{@md.opt.lng}" + else + "#{output_path.base.dir}/#{@ft}" + end + end + self end - end - def set_path_ab_src(ft) - if @env.output_dir_structure.by_language_code? - "#{output_path.base}/#{ft}/#{@md.opt.lng}" - else - "#{output_path.base}/#{ft}" + def rel + def abc + if @env.output_dir_structure.by_language_code? + "#{@md.opt.lng}/#{@ft}" + elsif @env.output_dir_structure.by_filetype? + "#{@ft}" + else + "#{@md.fnb}" + end + end + def ab + if @env.output_dir_structure.by_language_code? + "#{@md.opt.lng}/#{@ft}" + else + "#{@ft}" + end + end + def ab_src + if @env.output_dir_structure.by_language_code? + "#{@ft}/#{@md.opt.lng}" + else + "#{@ft}" + end + end + self + end + def rcp + def abc + if @env.output_dir_structure.by_language_code? + "#{output_path.stub.rcp}/#{@md.opt.lng}/#{ft}" + elsif @env.output_dir_structure.by_filetype? + "#{output_path.stub.rcp}/#{ft}" + else + "#{output_path.stub.rcp}/#{@md.fnb}" + end + end + def ab + if @env.output_dir_structure.by_language_code? + "#{output_path.stub.rcp}/#{@md.opt.lng}/#{ft}" + else + "#{output_path.stub.rcp}/#{ft}" + end + end + self end + self end def output_path + def stub + def dir + "#{@md.opt.f_pth[:pth_stub]}" + end + #def url + # "#{@env.url.root}" + #end + def rel + "./#{@md.opt.f_pth[:pth_stub]}" + end + def rcp + "#{@md.opt.f_pth[:pth_stub]}" + end + self + end def base - "#{@env.path.webserv}/#{@md.opt.f_pth[:pth_stub]}" + def dir + "#{@env.path.webserv}/#{@md.opt.f_pth[:pth_stub]}" + end + def url + "#{@env.url.root}" + #url: "#{@env.url.root}/#{@md.opt.f_pth[:pth_stub]}" + end + def rel + "./#{@md.opt.f_pth[:pth_stub]}" + end + def rcp + "./#{@md.opt.f_pth[:pth_stub]}" + end + self end def sisupod - "#{output_path.base}/pod" + def dir + "#{output_path.base.dir}/pod" + end + def url + "#{output_path.base.url}/pod" + end + def rel + "#{output_path.base.rel}/pod" + end + def rcp + "#{output_path.base.rcp}/pod" + end + self end def sisugit - "#{output_path.base}/git" + def dir + "#{output_path.base.dir}/git" + end + def url + "#{output_path.base.url}/git" + end + def rel + "#{output_path.base.rel}/git" + end + def rcp + "#{output_path.base.rcp}/git" + end + self end #def pod # ft='pod' - # path=set_path_ab(ft) + # path=set_path(ft).dir.ab #end def src - ft=Gt[:src] - path=set_path_ab_src(ft) + def ft + Gt[:src] + end + def dir + set_path(ft).dir.ab_src + end + def url + set_path(ft).url.ab_src + end + def rel + set_path(ft).rel.ab_src + end + def rcp + set_path(ft).rcp.ab_src + end + self end def po - "#{output_path.base}/po4a/#{@md.fnb}/po/#{@md.opt.lng}" + def dir + "#{output_path.base.dir}/po4a/#{@md.fnb}/po/#{@md.opt.lng}" + end + def url + "#{output_path.base.url}/po4a/#{@md.fnb}/po/#{@md.opt.lng}" + end + self end def pot - "#{output_path.base}/po4a/#{@md.fnb}/pot" + def dir + "#{output_path.base.dir}/po4a/#{@md.fnb}/pot" + end + def url + "#{output_path.base.url}/po4a/#{@md.fnb}/pot" + end + def rcp + p "#{output_path.base.dir}/po4a/#{@md.fnb}/pot" + end + self end - def po_git - ft=Gt[:po] - pth=@env.processing_path.git + '/' + @md.fnb + '/' + ft + '/' + @md.opt.lng - mkdir_p(pth) unless FileTest.directory?(pth) - pth + def po_git # consider !!! + def ft + Gt[:po] + end + def dir + pth=@env.processing_path.git + '/' + @md.fnb + '/' + ft + '/' + @md.opt.lng + mkdir_p(pth) unless FileTest.directory?(pth) + pth + end + self end - def pot_git - ft=Gt[:pot] - @env.processing_path.git + '/' + @md.fnb + '/' + ft + def pot_git # consider !!! + def ft + Gt[:pot] + end + def dir + @env.processing_path.git + '/' + @md.fnb + '/' + ft + end + self end def md_harvest manifest + self end def txt - ft='txt' - path=set_path_abc(ft) + def ft + 'txt' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def html_scroll - ft='html' - path=set_path_abc(ft) + def ft + 'html' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def html_seg - ft="html/#{@md.fnb}" - path=set_path_abc(ft) + def ft + "html/#{@md.fnb}" + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def html_concordance html_seg + self end def html - ft='html' - path=set_path_abc(ft) + def ft + 'html' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).url.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def xhtml - ft='xhtml' - path=set_path_abc(ft) + def ft + 'xhtml' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def epub - ft='epub' - path=set_path_ab(ft) + def ft + 'epub' + end + def dir + set_path(ft).dir.ab + end + def url + set_path(ft).url.ab + end + def rel + set_path(ft).rel.ab + end + def rcp + set_path(ft).rcp.ab + end + self end def odt - ft='odt' - path=set_path_abc(ft) + def ft + 'odt' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def xml - ft='xml' - path=set_path_abc(ft) + def ft + 'xml' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def xml_sax xml + self end def xml_dom xml + self end def pdf - ft='pdf' - path=set_path_abc(ft) + def ft + 'pdf' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def hash_digest - ft='hashes' - path=set_path_abc(ft) + def ft + 'hashes' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def manifest - ft='manifest' - path=set_path_abc(ft) + def ft + 'manifest' + end + def dir + set_path(ft).dir.abc + end + def url + set_path(ft).url.abc + end + def rel + set_path(ft).rel.abc + end + def rcp + set_path(ft).rcp.abc + end + self end def harvest - ft='site_metadata' - path=set_path_ab(ft) + def ft + 'site_metadata' + end + def dir + set_path(ft).dir.ab + end + def url + set_path(ft).url.ab + end + def rel + set_path(ft).rel.ab + end + def rcp + set_path(ft).rcp.ab + end + self end def manpage - ft='man' - path=set_path_ab(ft) + def ft + 'man' + end + def dir + set_path(ft).dir.ab + end + def url + set_path(ft).url.ab + end + def rel + set_path(ft).rel.ab + end + def rcp + set_path(ft).rcp.ab + end + self end def sitemaps - ft='sitemaps' - path=set_path_ab(ft) + def ft + 'sitemaps' + end + def dir + set_path(ft).dir.ab + end + def url + set_path(ft).url.ab + end + def rel + set_path(ft).rel.ab + end + def rcp + set_path(ft).rcp.ab + end + self end - def sqlite - path=output_path.base + def sqlite #check url + def dir + output_path.base.dir + end + def url + output_path.base.url + end + def rel + output_path.base.rel + end + def rcp + output_path.base.rcp + end + self end self end -- cgit v1.2.3