From 960c3088bc88f2db879154053280b06c160d4d70 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 21 Apr 2015 14:45:52 -0400 Subject: lib/sisu/*, single libs directory (c&d gone) (7) * removed lib/sisu/{current,develop} dir branches v7 (v5 & v6 retired) * simplify dir structure, offer single version per snapshot * have enjoyed carrying stable and development versions v5 & v6 in a single tarball, may return to this structure --- lib/sisu/se_get_init.rb | 238 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 lib/sisu/se_get_init.rb (limited to 'lib/sisu/se_get_init.rb') diff --git a/lib/sisu/se_get_init.rb b/lib/sisu/se_get_init.rb new file mode 100644 index 00000000..4aba62ae --- /dev/null +++ b/lib/sisu/se_get_init.rb @@ -0,0 +1,238 @@ +# encoding: utf-8 +=begin + +* Name: SiSU + +** Description: documents, structuring, processing, publishing, search +*** system environment, resource control and configuration details + +** Author: Ralph Amissah + + + +** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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: + + + +** Git + + + +=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 + require_relative 'texpdf_parts' # texpdf_parts.rb + @@tx ||=SiSU_Parts_TeXpdf::TeX.new + end + def rc_path_options + v=SiSU_Env::InfoVersion.instance.get_version + [ + $sisu_document_markup_directory_base_fixed_path \ + + '/.sisu/v' \ + + v.version_major, + $sisu_document_markup_directory_base_fixed_path \ + + '/.sisu', + $sisu_document_markup_directory_base_fixed_path \ + + '/_sisu/v' \ + + v.version_major, + $sisu_document_markup_directory_base_fixed_path \ + + '/_sisu', + @@home \ + + '/.sisu/v' \ + + v.version_major, + @@home \ + + '/.sisu', \ + @@sisu_etc \ + + '/v' \ + + v.version_major, + @@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/skin/yml", + "#{$sisu_document_markup_directory_base_fixed_path}/_sisu/skin/yml", + "#{@@home}/.sisu/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__ -- cgit v1.2.3