diff options
Diffstat (limited to 'lib/sisu/v5/sysenv.rb')
-rw-r--r-- | lib/sisu/v5/sysenv.rb | 173 |
1 files changed, 146 insertions, 27 deletions
diff --git a/lib/sisu/v5/sysenv.rb b/lib/sisu/v5/sysenv.rb index a8fcbd7a..f2b5bd27 100644 --- a/lib/sisu/v5/sysenv.rb +++ b/lib/sisu/v5/sysenv.rb @@ -66,12 +66,20 @@ module SiSU_Env require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb - require 'fileutils' - include FileUtils::Verbose - require 'singleton' + begin + require 'singleton' + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('singleton or fileutils NOT FOUND (LoadError)') + end @@noyaml=false class InfoDate - require 'date' + begin + require 'date' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('date NOT FOUND (LoadError)') + end attr_accessor :dt,:t def initialize @dt,@t=Date.today.to_s,Time.now @@ -97,7 +105,11 @@ module SiSU_Env end end class InfoSystemGen - require 'rbconfig' + begin + require 'rbconfig' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('rbconfig NOT FOUND (LoadError)') + end @@user,@@home,@@hostname,@@pwd,@@sisu_etc,@@host,@@arch,@@rbver,@@dir_arch,@@dir_sitearch,@@dir_bin,@@locale,@@rc,@@sisurc_path,@@ad=ENV['USER'],ENV['HOME'],ENV['HOSTNAME'],ENV['PWD'],Config::CONFIG['sysconfdir'] + '/sisu',Config::CONFIG['host'],Config::CONFIG['arch'],%x{ruby -v}.strip,Config::CONFIG['archdir'],Config::CONFIG['sitearchdir'],Config::CONFIG['bindir'],%x{locale charmap}.strip,nil,nil,{} # %x{ruby -v}.strip # Config::CONFIG['rb_ver'] out=Config::CONFIG['localstatedir'] etc=Config::CONFIG['sysconfdir'] + '/sisu' @@ -242,10 +254,18 @@ module SiSU_Env end if load_prog \ and @prog=~/dbi/ - require 'dbi' #revisit + begin + require 'dbi' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('dbi NOT FOUND (LoadError)') + end end if load_prog - require @prog + begin + require @prog + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error("#{@prog} NOT FOUND (LoadError)") + end else @mandatory \ ? (SiSU_Screen::Ansi.new(@prog,"*WARN* module required: #{@prog}").warn) @@ -330,7 +350,11 @@ module SiSU_Env f=S_CONF[:rc_yml] p_f="#{v}/#{f}" if FileTest.exist?(p_f) - require 'yaml' + begin + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('yaml NOT FOUND (LoadError)') + end @@sisurc_path=v @@rc=YAML::load(File::open(p_f)) break @@ -339,7 +363,11 @@ module SiSU_Env f='sisurc.yaml' p_f="#{v}/#{f}" if FileTest.exist?(p_f) - require 'yaml' + begin + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('yaml NOT FOUND (LoadError)') + end @@sisurc_path=v @@rc=YAML::load(File::open(p_f)) break @@ -378,7 +406,11 @@ module SiSU_Env else if FileTest.exist?("#{v}/list.yml") unless @@ad[:promo_list] - require 'yaml' + begin + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('yaml NOT FOUND (LoadError)') + end @@ad[:promo_list] ||= YAML::load(File::open("#{v}/list.yml")) end @@ad[:flag_promo]=true @@ -396,7 +428,11 @@ module SiSU_Env else if FileTest.exist?("#{v}/promo.yml") unless @@ad[:promo] - require 'yaml' + begin + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('yaml NOT FOUND (LoadError)') + end @@ad[:promo] ||= YAML::load(File::open("#{v}/promo.yml")) end @@ad[:flag_promo]=true @@ -716,7 +752,7 @@ module SiSU_Env program='rcs' program_ref="\n\t\tdocument version information requested" if program_found?(program); true - else STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" #if @cmd =~/v/ + else SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).warn("#{program} is not installed #{program_ref}") false end end @@ -724,7 +760,15 @@ module SiSU_Env program='cvs' program_ref="\n\t\tdocument version information requested" if program_found?(program); true - else STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" #if @cmd =~/v/ + else SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).warn("#{program} is not installed #{program_ref}") + false + end + end + def zip #zip + program='zip' + program_ref="\n\t\tused to in the making of number of file formats, odf, epub" + if program_found?(program); true + else SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark("*WARN* #{program} is not installed #{program_ref}") false end end @@ -732,7 +776,7 @@ module SiSU_Env program='openssl' program_ref="\n\t\tused to generate requested source document identification digest" if program_found?(program); true - else STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" #if @cmd =~/v/ + else SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).warn("#{program} is not installed #{program_ref}") false end end @@ -745,7 +789,7 @@ module SiSU_Env dgst=%x{openssl dgst -md5 #{File.basename(filename)}}.strip #use file name without file path Dir.chdir(pwd) dgst.scan(/\S+/) - else STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" #if @cmd =~/v/ + else SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).warn("#{program} is not installed #{program_ref}") false end end @@ -758,7 +802,7 @@ module SiSU_Env dgst=%x{openssl dgst -sha256 #{File.basename(filename)}}.strip #use file name without file path Dir.chdir(pwd) dgst.scan(/\S+/) - else STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" #if @cmd =~/v/ + else SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).warn("#{program} is not installed #{program_ref}") false end end @@ -766,7 +810,7 @@ module SiSU_Env program='psql' program_ref="\n\t\tpsql requested" if program_found?(program); true - else STDERR.puts "\t*WARN* #{program} is not installed #{program_ref}" #if @cmd =~/v/ + else SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).warn("#{program} is not installed #{program_ref}") false end end @@ -1030,9 +1074,13 @@ module SiSU_Env end end class InfoEnv < EnvCall - require 'pathname' - require 'fileutils' - include FileUtils + begin + require 'pathname' + require 'fileutils' + include FileUtils + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('pathname or fileutils NOT FOUND (LoadError)') + end attr_accessor :filename,:sys,:home,:hostname,:user,:env,:rc,:www,:fnb,:fnn,:fnt,:flv,:webserv_path,:stub_pwd,:stub_src,:webserv_host_cgi,:webserv_port_cgi,:processing,:processing_git,:etc,:yamlrc_dir @@image_flag,@@local_image=true,true #warning on @@image_flag @@fb,@@man_path=nil,nil @@ -1080,7 +1128,7 @@ module SiSU_Env elsif output_dir_structure.by_filename? '' else - SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark('set output type, by: language, filetype or filename') + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).warn('set output type, by: language, filetype or filename') end @stub_set_manifest=stub + '/manifest' end @@ -3169,8 +3217,12 @@ WOK end end class CleanOutput - require 'fileutils' - include FileUtils::Verbose + begin + require 'fileutils' + include FileUtils::Verbose + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('fileutils NOT FOUND (LoadError)') + end def initialize(opt) @opt=opt z=SiSU_Env::FileMap.new(opt) @@ -3326,7 +3378,11 @@ WOK end class InfoRemote < FileMap @@flag_remote=false - require 'socket' + begin + require 'socket' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('socket NOT FOUND (LoadError)') + end def initialize(opt) super(opt) # @opt=opt @@ -3674,8 +3730,12 @@ WOK end class InfoVersion <InfoEnv include Singleton - require 'rbconfig' - require 'yaml' + begin + require 'rbconfig' + require 'yaml' + rescue LoadError + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('rbconfig or yaml NOT FOUND (LoadError)') + end @@lib_path=nil def get_version @version={} @@ -3845,6 +3905,53 @@ WOK true end end + def plaintext_ocn? + if cmd_rc_act[:txt_ocn][:set]==:on \ + or cmd_rc_act[:ocn][:set]==:on + true + elsif cmd_rc_act[:txt_ocn][:set]==:off \ + or cmd_rc_act[:ocn][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.ocn? \ + and doc_rc.toc? ==:off + false + elsif env_rc.build.ocn? ==:off + false + else + false + end + end + def odt_ocn? + if cmd_rc_act[:odt_ocn][:set]==:on \ + or cmd_rc_act[:ocn][:set]==:on + true + elsif cmd_rc_act[:odt_ocn][:set]==:off \ + or cmd_rc_act[:ocn][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.ocn? \ + and doc_rc.toc? ==:off + false + elsif env_rc.build.ocn? ==:off + false + else + false + end + end + def html_strict? + if cmd_rc_act[:html_strict][:set]==:on + true + elsif cmd_rc_act[:html_strict][:set]==:off + false + elsif doc_rc.is_a?(Method) \ + and defined? doc_rc.html_strict? \ + and doc_rc.html_strict? ==:on + true + else + false + end + end def toc? if cmd_rc_act[:toc][:set]==:on true @@ -4081,6 +4188,11 @@ WOK end self end + def ocn_html_identifier + (build.html_strict?) \ + ? Mx[:ocn_id_char] + : '' + end def output_dir_structure def by_language_code? if cmd_rc_act[:output_by][:set] == :language @@ -4291,7 +4403,14 @@ WOK DBI.connect(sqlite_discrete.dbi) end def conn_sqlite3 - SQLite3::Database.new(sqlite_discrete.sqlite3) + begin + $sqlite3=:yes + require 'sqlite3' + SQLite3::Database.new(sqlite_discrete.sqlite3) + rescue LoadError + $sqlite3=:no + SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('sqlite3 NOT FOUND (LoadError)') + end end self end |