mirror of
https://github.com/gnosygnu/xowa.git
synced 2024-10-27 20:34:16 +00:00
Dev: Release bry_bfr in Tag_html_wkr_basic [#351]
This commit is contained in:
parent
ba40cf6c69
commit
571f0a2388
@ -110,8 +110,10 @@ public class Http_server_mgr implements Gfo_invk {
|
|||||||
// generate ttl of domain/wiki/page; needed for pages with leading slash; EX: "/abcd" -> "en.wikipedia.org/wiki//abcd"; ISSUE#:301; DATE:2018-12-16
|
// generate ttl of domain/wiki/page; needed for pages with leading slash; EX: "/abcd" -> "en.wikipedia.org/wiki//abcd"; ISSUE#:301; DATE:2018-12-16
|
||||||
else {
|
else {
|
||||||
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
||||||
tmp_bfr.Add(wiki.Domain_bry()).Add(gplx.xowa.htmls.hrefs.Xoh_href_.Bry__wiki).Add(ttl_bry);
|
try {
|
||||||
ttl_bry = tmp_bfr.To_bry_and_clear_and_rls();
|
tmp_bfr.Add(wiki.Domain_bry()).Add(gplx.xowa.htmls.hrefs.Xoh_href_.Bry__wiki).Add(ttl_bry);
|
||||||
|
ttl_bry = tmp_bfr.To_bry_and_clear();
|
||||||
|
} finally {tmp_bfr.Mkr_rls();}
|
||||||
}
|
}
|
||||||
Xoa_url url = wiki.Utl__url_parser().Parse(ttl_bry);
|
Xoa_url url = wiki.Utl__url_parser().Parse(ttl_bry);
|
||||||
Xoa_ttl ttl = Xoa_ttl.Parse(wiki, url.To_bry_page_w_anch()); // changed from ttl_bry to page_w_anch; DATE:2017-07-24
|
Xoa_ttl ttl = Xoa_ttl.Parse(wiki, url.To_bry_page_w_anch()); // changed from ttl_bry to page_w_anch; DATE:2017-07-24
|
||||||
|
@ -48,6 +48,7 @@ public class Xoh_page_wtr_wkr {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Bry_bfr page_bfr = wiki.Utl__bfr_mkr().Get_m001(); // NOTE: get separate page rv to output page; do not reuse tmp_bfr b/c it will be used inside Fmt_do
|
Bry_bfr page_bfr = wiki.Utl__bfr_mkr().Get_m001(); // NOTE: get separate page rv to output page; do not reuse tmp_bfr b/c it will be used inside Fmt_do
|
||||||
|
try {
|
||||||
Xoh_wtr_ctx hctx = null;
|
Xoh_wtr_ctx hctx = null;
|
||||||
if (page_mode == Xopg_page_.Tid_html
|
if (page_mode == Xopg_page_.Tid_html
|
||||||
&& wiki.Html__hdump_mgr().Load_mgr().Html_mode().Tid() == Xow_hdump_mode.Hdump_save.Tid()) {
|
&& wiki.Html__hdump_mgr().Load_mgr().Html_mode().Tid() == Xow_hdump_mode.Hdump_save.Tid()) {
|
||||||
@ -65,6 +66,7 @@ public class Xoh_page_wtr_wkr {
|
|||||||
Write_page_by_tid(ctx, hctx, page_mode, rv, mgr.Page_html_fmtr(), Gfh_utl.Escape_html_as_bry(rv.To_bry_and_clear()));
|
Write_page_by_tid(ctx, hctx, page_mode, rv, mgr.Page_html_fmtr(), Gfh_utl.Escape_html_as_bry(rv.To_bry_and_clear()));
|
||||||
wdata_lang_wtr.Page_(null);
|
wdata_lang_wtr.Page_(null);
|
||||||
}
|
}
|
||||||
|
} finally {page_bfr.Mkr_rls();}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Write_body(rv, ctx, Xoh_wtr_ctx.Basic, page);
|
Write_body(rv, ctx, Xoh_wtr_ctx.Basic, page);
|
||||||
@ -183,6 +185,7 @@ public class Xoh_page_wtr_wkr {
|
|||||||
// get separate bfr; note that bfr already has <html> and <head> written to it, so this can't be passed to tidy; DATE:2014-06-11
|
// get separate bfr; note that bfr already has <html> and <head> written to it, so this can't be passed to tidy; DATE:2014-06-11
|
||||||
Bry_bfr tidy_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
Bry_bfr tidy_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
||||||
|
|
||||||
|
try {
|
||||||
// write wikitext
|
// write wikitext
|
||||||
if (page.Html_data().Skip_parse()) {
|
if (page.Html_data().Skip_parse()) {
|
||||||
tidy_bfr.Add(page.Html_data().Custom_body());
|
tidy_bfr.Add(page.Html_data().Custom_body());
|
||||||
@ -206,7 +209,9 @@ public class Xoh_page_wtr_wkr {
|
|||||||
|
|
||||||
// add back to main bfr
|
// add back to main bfr
|
||||||
bfr.Add_bfr_and_clear(tidy_bfr);
|
bfr.Add_bfr_and_clear(tidy_bfr);
|
||||||
tidy_bfr.Mkr_rls();
|
} finally {
|
||||||
|
tidy_bfr.Mkr_rls();
|
||||||
|
}
|
||||||
|
|
||||||
// handle Categories at bottom of page; note that html is XOWA-generated so does not need to be tidied
|
// handle Categories at bottom of page; note that html is XOWA-generated so does not need to be tidied
|
||||||
int ctgs_len = page.Wtxt().Ctgs__len();
|
int ctgs_len = page.Wtxt().Ctgs__len();
|
||||||
|
@ -19,9 +19,11 @@ import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.miscs.*;
|
|||||||
public class Xot_tmpl_wtr {
|
public class Xot_tmpl_wtr {
|
||||||
public static byte[] Write_all(Xop_ctx ctx, Xot_invk frame, Xop_root_tkn root, byte[] src) {
|
public static byte[] Write_all(Xop_ctx ctx, Xot_invk frame, Xop_root_tkn root, byte[] src) {
|
||||||
Bry_bfr bfr = ctx.Wiki().Utl__bfr_mkr().Get_m001().Reset_if_gt(Io_mgr.Len_mb);
|
Bry_bfr bfr = ctx.Wiki().Utl__bfr_mkr().Get_m001().Reset_if_gt(Io_mgr.Len_mb);
|
||||||
Write_tkn(bfr, ctx, frame, src, src.length, root);
|
try {
|
||||||
byte[] rv = bfr.To_bry_and_rls();
|
Write_tkn(bfr, ctx, frame, src, src.length, root);
|
||||||
return ctx.Wiki().Parser_mgr().Uniq_mgr().Parse(rv); // NOTE: noops if no UNIQs; // UNIQ; DATE:2017-03-31
|
byte[] rv = bfr.To_bry_and_clear();
|
||||||
|
return ctx.Wiki().Parser_mgr().Uniq_mgr().Parse(rv); // NOTE: noops if no UNIQs; // UNIQ; DATE:2017-03-31
|
||||||
|
} finally {bfr.Mkr_rls();}
|
||||||
}
|
}
|
||||||
private static void Write_tkn(Bry_bfr rslt_bfr, Xop_ctx ctx, Xot_invk frame, byte[] src, int src_len, Xop_tkn_itm tkn) {
|
private static void Write_tkn(Bry_bfr rslt_bfr, Xop_ctx ctx, Xot_invk frame, byte[] src, int src_len, Xop_tkn_itm tkn) {
|
||||||
switch (tkn.Tkn_tid()) {
|
switch (tkn.Tkn_tid()) {
|
||||||
|
@ -112,6 +112,7 @@ public class Xop_xnde_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
|
|||||||
cur_bfr = ctx.Wiki().Utl__bfr_mkr().Get_m001().Reset_if_gt(Io_mgr.Len_mb);
|
cur_bfr = ctx.Wiki().Utl__bfr_mkr().Get_m001().Reset_if_gt(Io_mgr.Len_mb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
// write tag_bgn; EX: <poem>
|
// write tag_bgn; EX: <poem>
|
||||||
cur_bfr.Add_mid(src, tag_open_bgn, tag_open_end);
|
cur_bfr.Add_mid(src, tag_open_bgn, tag_open_end);
|
||||||
|
|
||||||
@ -135,6 +136,11 @@ public class Xop_xnde_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
|
|||||||
byte[] key = ctx.Wiki().Parser_mgr().Uniq_mgr().Add(Bool_.Y, tag.Name_bry(), val);
|
byte[] key = ctx.Wiki().Parser_mgr().Uniq_mgr().Add(Bool_.Y, tag.Name_bry(), val);
|
||||||
bfr.Add(key);
|
bfr.Add(key);
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
if (is_tmpl_mode) {
|
||||||
|
cur_bfr.Mkr_rls();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -44,8 +44,12 @@ public class Lst_pfunc_itm {
|
|||||||
|
|
||||||
// eval tmpl
|
// eval tmpl
|
||||||
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
||||||
tmpl.Tmpl_evaluate(sub_ctx, Xot_invk_temp.Page_is_caller, tmp_bfr);
|
try {
|
||||||
sub_src = tmp_bfr.To_bry_and_rls();
|
tmpl.Tmpl_evaluate(sub_ctx, Xot_invk_temp.Page_is_caller, tmp_bfr);
|
||||||
|
sub_src = tmp_bfr.To_bry_and_clear();
|
||||||
|
} finally {
|
||||||
|
tmp_bfr.Mkr_rls();
|
||||||
|
}
|
||||||
|
|
||||||
// parse again
|
// parse again
|
||||||
if (!wiki.Parser_mgr().Tmpl_stack_add(ttl.Full_db())) return null; // put template back on stack;
|
if (!wiki.Parser_mgr().Tmpl_stack_add(ttl.Full_db())) return null; // put template back on stack;
|
||||||
|
@ -324,6 +324,7 @@ public class Pp_pages_nde implements Xox_xnde, Mwh_atr_itm_owner1 {
|
|||||||
Xoa_ttl end_page_ttl = end_page_bry == null ? null : ary[ary_len - 1];
|
Xoa_ttl end_page_ttl = end_page_bry == null ? null : ary[ary_len - 1];
|
||||||
|
|
||||||
Bry_bfr page_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
Bry_bfr page_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
||||||
|
try {
|
||||||
for (int i = 0; i < ary_len; i++) {
|
for (int i = 0; i < ary_len; i++) {
|
||||||
Xoa_ttl ttl = ary[i];
|
Xoa_ttl ttl = ary[i];
|
||||||
byte[] ttl_page_db = ttl.Page_db();
|
byte[] ttl_page_db = ttl.Page_db();
|
||||||
@ -351,7 +352,10 @@ public class Pp_pages_nde implements Xox_xnde, Mwh_atr_itm_owner1 {
|
|||||||
full_bfr.Add_bfr_and_clear(page_bfr);
|
full_bfr.Add_bfr_and_clear(page_bfr);
|
||||||
full_bfr.Add(gplx.langs.htmls.entitys.Gfh_entity_.Space_bry); // $out.= " "; REF.MW:ProofreadPageRenderer.pn
|
full_bfr.Add(gplx.langs.htmls.entitys.Gfh_entity_.Space_bry); // $out.= " "; REF.MW:ProofreadPageRenderer.pn
|
||||||
}
|
}
|
||||||
page_bfr.Mkr_rls();
|
}
|
||||||
|
finally {
|
||||||
|
page_bfr.Mkr_rls();
|
||||||
|
}
|
||||||
return full_bfr.To_bry_and_clear();
|
return full_bfr.To_bry_and_clear();
|
||||||
}
|
}
|
||||||
private Xop_root_tkn Bld_root_nde(Bry_bfr page_bfr, Hash_adp_bry lst_page_regy, byte[] wikitext) {
|
private Xop_root_tkn Bld_root_nde(Bry_bfr page_bfr, Hash_adp_bry lst_page_regy, byte[] wikitext) {
|
||||||
|
@ -131,8 +131,11 @@ public class Score_xnde implements Xox_xnde, Mwh_atr_itm_owner1, Xoh_cmd_itm {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
||||||
ly_text = code_is_raw ? code : score_xtn.Lilypond_fmtr().Bld_bry_many(tmp_bfr, Score_xtn_mgr.Lilypond_version, code);
|
try {
|
||||||
tmp_bfr.Mkr_rls();
|
ly_text = code_is_raw ? code : score_xtn.Lilypond_fmtr().Bld_bry_many(tmp_bfr, Score_xtn_mgr.Lilypond_version, code);
|
||||||
|
} finally {
|
||||||
|
tmp_bfr.Mkr_rls();
|
||||||
|
}
|
||||||
Io_mgr.Instance.SaveFilBry(ly_file, ly_text);
|
Io_mgr.Instance.SaveFilBry(ly_file, ly_text);
|
||||||
}
|
}
|
||||||
ly_process.Working_dir_(ly_file.OwnerDir()); // NOTE: must change working_dir, else file will be dumped into same dir as lilypond.exe
|
ly_process.Working_dir_(ly_file.OwnerDir()); // NOTE: must change working_dir, else file will be dumped into same dir as lilypond.exe
|
||||||
|
Loading…
Reference in New Issue
Block a user