# encoding: utf-8 =begin * Name: SiSU * Description: a framework for document structuring, publishing and search * Author: Ralph Amissah * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Ralph Amissah, All Rights Reserved. * License: GPL 3 or later: SiSU, a framework for document structuring, publishing and search Copyright (C) Ralph Amissah This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . If you have Internet connection, the latest version of the GPL should be available at these locations: * SiSU uses: * Standard SiSU markup syntax, * Standard SiSU meta-markup syntax, and the * Standard SiSU object citation numbering and system * Hompages: * Download: * Git * Ralph Amissah ** Description: system environment, resource control and configuration details =end module SiSU_Get_Init require_relative 'constants' # constants.rb require_relative 'utils' # utils.rb require_relative 'se_info_system' # se_info_system.rb @@noyaml=false class GetInit < SiSU_Info_Sys_Gen::InfoSystemGen # se_info_system.rb @@noyaml=false @@rc,@@sisu_doc_makefile,@@sisurc_path,@@tx=nil,nil,nil,nil @@ad={ promo: nil, promo_list: nil, flag_promo: false } @@sdmd=nil attr_accessor :yaml def initialize super() @markup_dir_changed_=if @@sdmd==$sisu_document_markup_directory false else @@sdmd=$sisu_document_markup_directory true end end def tex @@tx ||=SiSU_Viz::TeX.new end def rc_path_options [ "#{$sisu_document_markup_directory_base_fixed_path}/.sisu/#{SiSU_is[:version_dir]}", "#{$sisu_document_markup_directory_base_fixed_path}/.sisu", "#{$sisu_document_markup_directory_base_fixed_path}/_sisu/#{SiSU_is[:version_dir]}", "#{$sisu_document_markup_directory_base_fixed_path}/_sisu", "#{@@home}/.sisu/#{SiSU_is[:version_dir]}", "#{@@home}/.sisu", "#{@@sisu_etc}/#{SiSU_is[:version_dir]}", "#{@@sisu_etc}", ] end def sisu_document_make def makefile_name S_CONF[:header_make] end def makefile rc_path_options.each do |v| if FileTest.exist?("#{v}/#{makefile_name}") @sisu_make_path=v break end end @sisu_make_file_path=@sisu_make_path \ ? "#{@sisu_make_path}/#{makefile_name}" : nil end def makefile_read if makefile sisu_doc_makefile=IO.read(makefile, mode: 'r:utf-8') @sisu_doc_makefile=sisu_doc_makefile.split(/\s*\n\s*\n/m) end @sisu_doc_makefile end self end def sisu_yaml def rc if @markup_dir_changed_ rc_path_options.each do |v| if @@noyaml \ or FileTest.exist?("#{v}/noyaml") STDERR.puts "WARNING - YAML loading switched off, to enable delete the file:\n\t#{v}/noyaml\n\n" unless @@noyaml @@noyaml=true break else f=S_CONF[:rc_yml] p_f="#{v}/#{f}" if FileTest.exist?(p_f) 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 end unless @@rc f='sisurc.yaml' p_f="#{v}/#{f}" if FileTest.exist?(p_f) 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 end end end end end @@rc end def rc_path rc @@sisurc_path end self end def ads #WORK AREA tell_no_yaml='WARNING - YAML loading switched off, to enable delete the file:' if @markup_dir_changed_ @ad_path=[ "#{$sisu_document_markup_directory_base_fixed_path}/.sisu/#{SiSU_is[:version_dir]}/skin/yml", "#{$sisu_document_markup_directory_base_fixed_path}/.sisu/skin/yml", "#{$sisu_document_markup_directory_base_fixed_path}/_sisu/#{SiSU_is[:version_dir]}/skin/yml", "#{$sisu_document_markup_directory_base_fixed_path}/_sisu/skin/yml", "#{@@home}/.sisu/#{SiSU_is[:version_dir]}/skin/yml", "#{@@home}/.sisu/skin/yml", "#{@@sisu_etc}/#{SiSU_is[:version_dir]}/skin/yml", "#{@@sisu_etc}/skin/yml", ] @ad_path.each do |v| if @@noyaml \ or FileTest.exist?("#{v}/noyaml") puts tell_no_yaml + "\n\t#{v}/noyaml\n" unless @@noyaml @@noyaml=true break else if FileTest.exist?("#{v}/list.yml") unless @@ad[:promo_list] 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 break end @@ad[:flag_promo]=false end end @ad_path.each do |v| if @@noyaml \ or FileTest.exist?("#{v}/noyaml") puts tell_no_yaml + "\n\t#{v}/noyaml\n" unless @@noyaml @@noyaml=true break else if FileTest.exist?("#{v}/promo.yml") unless @@ad[:promo] 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 break end @@ad[:flag_promo]=false end end end @@ad end end end __END__