aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v6/sysenv.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v6/sysenv.rb')
-rw-r--r--lib/sisu/v6/sysenv.rb173
1 files changed, 146 insertions, 27 deletions
diff --git a/lib/sisu/v6/sysenv.rb b/lib/sisu/v6/sysenv.rb
index 46bb30ca..db1bdc91 100644
--- a/lib/sisu/v6/sysenv.rb
+++ b/lib/sisu/v6/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