diff options
Diffstat (limited to 'lib/sisu/current/ao.rb')
-rw-r--r-- | lib/sisu/current/ao.rb | 106 |
1 files changed, 54 insertions, 52 deletions
diff --git a/lib/sisu/current/ao.rb b/lib/sisu/current/ao.rb index 3467c4c6..b7878dbf 100644 --- a/lib/sisu/current/ao.rb +++ b/lib/sisu/current/ao.rb @@ -64,6 +64,7 @@ module SiSU_AO require_relative 'ao_syntax' # ao_syntax.rb include SiSU_AO_Syntax require_relative 'ao_doc_str' # ao_doc_str.rb + require_relative 'ao_references' # ao_references.rb require_relative 'ao_idx' # ao_idx.rb require_relative 'ao_numbering' # ao_numbering.rb require_relative 'ao_hash_digest' # ao_hash_digest.rb @@ -73,6 +74,7 @@ module SiSU_AO require_relative 'ao_character_check' # ao_character_check.rb require_relative 'ao_misc_arrange' # ao_misc_arrange.rb require_relative 'ao_expand_insertions' # ao_expand_insertions.rb + require_relative 'ao_persist' # ao_persist.rb require_relative 'prog_text_translation' # prog_text_translation.rb require_relative 'shared_sem' # shared_sem.rb class Instantiate < SiSU_Param::Parameters::Instructions @@ -82,13 +84,10 @@ module SiSU_AO end end class Source <Instantiate - @@ao_array=[] - @@idx_arr={ sst: [], tex: [], html: [], xhtml: [] } - @@map_arr={ nametags: [], ocn_htmlseg: [] } - @@fns=nil def initialize(opt,fnx=nil,process=:complete) @opt,@fnx,@process=opt,fnx,process - @@fns ||=opt.fns + @per ||=SiSU_AO_Persist::Persist.new.persist_init + @per.fns ||=opt.fns fn_use=if fnx \ and fnx =~/\.ss[tmi]$/ fnx @@ -110,32 +109,34 @@ module SiSU_AO end def read #creates ao begin - @@ao_array=[] - @@fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ + @per=SiSU_AO_Persist::Persist.new + @per.ao_arr=[] + @per.fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ ? @fnx : @opt.fns create_ao rescue - SiSU_Errors::Rescued.new($!,$@,@opt.selections,@@fns).location do + SiSU_Errors::Rescued.new($!,$@,@opt.selections,@per.fns).location do __LINE__.to_s + ':' + __FILE__ end ensure + SiSU_AO_Persist::Persist.new.persist_init SiSU_AO::Instantiate.new end end def get #reads ao, unless does not exist then creates first begin ao=[] - unless @@fns==@opt.fns \ - or @@fns==@fnx - @@fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ + unless @per.fns==@opt.fns \ + or @per.fns==@fnx + @per.fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ ? @fnx : @opt.fns - @@ao_array=[] + @per.ao_arr=[] end - ao=(@@ao_array.empty?) \ + ao=(@per.ao_arr.empty?) \ ? read_fnc - : @@ao_array.dup + : @per.ao_arr.dup rescue SiSU_Errors::Rescued.new($!,$@,@opt.selections,@opt.fns).location do __LINE__.to_s + ':' + __FILE__ @@ -147,16 +148,16 @@ module SiSU_AO def get_idx_sst #reads ao idx.sst, #unless does not exist then creates first begin ao=[] - unless @@fns==@opt.fns \ - or @@fns==@fnx - @@fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ + unless @per.fns==@opt.fns \ + or @per.fns==@fnx + @per.fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ ? @fnx : @opt.fns - @@idx_arr[:sst]=[] + @per.idx_arr_sst=[] end - ao=(@@idx_arr[:sst].empty?) \ + ao=(@per.idx_arr_sst.empty?) \ ? read_idx_sst - : @@idx_arr[:sst].dup #check + : @per.idx_arr_sst.dup #check rescue SiSU_Errors::Rescued.new($!,$@,@opt.selections,@opt.fns).location do __LINE__.to_s + ':' + __FILE__ @@ -168,16 +169,16 @@ module SiSU_AO def get_idx_raw begin ao=[] - unless @@fns==@opt.fns \ - or @@fns==@fnx - @@fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ + unless @per.fns==@opt.fns \ + or @per.fns==@fnx + @per.fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ ? @fnx : @opt.fns - @@idx_arr[:tex]=[] + @per.idx_arr_tex=[] end - ao=(@@idx_arr[:tex].empty?) \ + ao=(@per.idx_arr_tex.empty?) \ ? read_idx_raw - : @@idx_arr[:tex].dup #check + : @per.idx_arr_tex.dup #check rescue SiSU_Errors::Rescued.new($!,$@,@opt.selections,@opt.fns).location do __LINE__.to_s + ':' + __FILE__ @@ -189,16 +190,16 @@ module SiSU_AO def get_idx_html #reads ao idx.html, #unless does not exist then creates first begin ao=[] - unless @@fns==@opt.fns \ - or @@fns==@fnx - @@fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ + unless @per.fns==@opt.fns \ + or @per.fns==@fnx + @per.fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ ? @fnx : @opt.fns - @@idx_arr[:html]=[] + @per.idx_arr_html=[] end - ao=(@@idx_arr[:html].empty?) \ + ao=(@per.idx_arr_html.empty?) \ ? read_idx_html - : @@idx_arr[:html].dup + : @per.idx_arr_html.dup rescue SiSU_Errors::Rescued.new($!,$@,@opt.selections,@opt.fns).location do __LINE__.to_s + ':' + __FILE__ @@ -210,16 +211,16 @@ module SiSU_AO def get_idx_xhtml #reads ao idx.xhtml, #unless does not exist then creates first begin ao=[] - unless @@fns==@opt.fns \ - or @@fns==@fnx - @@fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ + unless @per.fns==@opt.fns \ + or @per.fns==@fnx + @per.fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ ? @fnx : @opt.fns - @@idx_arr[:xthml]=[] + @per.idx_arr_xhtml=[] #... end - ao=(@@idx_arr[:xhtml].empty?) \ + ao=(@per.idx_arr_xhtml.empty?) \ ? read_idx_xhtml - : @@idx_arr[:xhtml].dup + : @per.idx_arr_xhtml.dup rescue SiSU_Errors::Rescued.new($!,$@,@opt.selections,@opt.fns).location do __LINE__.to_s + ':' + __FILE__ @@ -231,16 +232,16 @@ module SiSU_AO def get_map_nametags #reads ao map.nametags, #unless does not exist then creates first begin ao=[] - unless @@fns==@opt.fns \ - or @@fns==@fnx - @@fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ + unless @per.fns==@opt.fns \ + or @per.fns==@fnx + @per.fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ ? @fnx : @opt.fns - @@map_arr[:nametags]=[] + @per.map_arr_nametags=[] end - ao=(@@map_arr[:nametags].empty?) \ + ao=(@per.map_arr_nametags.empty?) \ ? read_map_nametags - : @@map_arr[:nametags].dup + : @per.map_arr_nametags.dup rescue SiSU_Errors::Rescued.new($!,$@,@opt.selections,@opt.fns).location do __LINE__.to_s + ':' + __FILE__ @@ -252,16 +253,16 @@ module SiSU_AO def get_map_ocn_htmlseg #reads ao map.ocn_htmlseg, #unless does not exist then creates first begin ao=[] - unless @@fns==@opt.fns \ - or @@fns==@fnx - @@fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ + unless @per.fns==@opt.fns \ + or @per.fns==@fnx + @per.fns=(@fnx && @fnx =~/\.ss[tmi]$/) \ ? @fnx : @opt.fns - @@map_arr[:ocn_htmlseg]=[] + @per.map_arr_ocn_htmlseg=[] end - ao=(@@map_arr[:ocn_htmlseg].empty?) \ + ao=(@per.map_arr_ocn_htmlseg.empty?) \ ? read_map_ocn_htmlseg - : @@map_arr[:ocn_htmlseg].dup + : @per.map_arr_ocn_htmlseg.dup rescue SiSU_Errors::Rescued.new($!,$@,@opt.selections,@opt.fns).location do __LINE__.to_s + ':' + __FILE__ @@ -539,11 +540,12 @@ module SiSU_AO SiSU_AO_MiscArrangeText::SI.new(@md,data_txt). # ao_misc_arrange.rb prepare_text data_obj, - metadata= + metadata, + bibliography= SiSU_AO_DocumentStructureExtract::Build.new(@md,data_txt). # ao_doc_str.rb identify_parts data_obj= - SiSU_AO_Syntax::Markup.new(@md,data_obj).songsheet # ao_syntax.rb + SiSU_AO_Syntax::Markup.new(@md,data_obj,bibliography).songsheet # ao_syntax.rb data_obj, endnote_array= SiSU_AO_CharacterCheck::Check.new(data_obj). # ao_character_check.rb |