aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/current/ao.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/current/ao.rb')
-rw-r--r--lib/sisu/current/ao.rb106
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