mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v2.10.3.1
This commit is contained in:
@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.xtns.proofreadPage; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
|
||||
import gplx.core.primitives.*;
|
||||
import gplx.xowa.nss.*;
|
||||
import gplx.xowa.wikis.nss.*;
|
||||
import gplx.xowa.parsers.*; import gplx.xowa.parsers.logs.*; import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.lnkis.*; import gplx.xowa.parsers.tmpls.*;
|
||||
class Pp_index_parser {
|
||||
public static Pp_index_page Parse(Xowe_wiki wiki, Xop_ctx ctx, Xoa_ttl index_ttl, int ns_page_id) {
|
||||
|
||||
@@ -16,10 +16,10 @@ You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.xtns.proofreadPage; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
|
||||
import gplx.xowa.html.*;
|
||||
import gplx.xowa.parsers.*; import gplx.xowa.parsers.logs.*; import gplx.xowa.parsers.xndes.*;
|
||||
public class Pp_pagelist_nde implements Xox_xnde, Xop_xnde_atr_parser { // TODO:
|
||||
public void Xatr_parse(Xowe_wiki wiki, byte[] src, Xop_xatr_itm xatr, Object xatr_key_obj) {}
|
||||
import gplx.xowa.htmls.*;
|
||||
import gplx.xowa.parsers.*; import gplx.xowa.parsers.logs.*; import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.htmls.*;
|
||||
public class Pp_pagelist_nde implements Xox_xnde { // TODO:
|
||||
public void Xatr__set(Xowe_wiki wiki, byte[] src, Mwh_atr_itm xatr, Object xatr_id_obj) {}
|
||||
public void Xtn_parse(Xowe_wiki wiki, Xop_ctx ctx, Xop_root_tkn root, byte[] src, Xop_xnde_tkn xnde) {
|
||||
boolean log_wkr_enabled = Log_wkr != Xop_log_basic_wkr.Null; if (log_wkr_enabled) Log_wkr.Log_end_xnde(ctx.Cur_page(), Xop_log_basic_wkr.Tid_hiero, src, xnde);
|
||||
} public static Xop_log_basic_wkr Log_wkr = Xop_log_basic_wkr.Null;
|
||||
|
||||
@@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.xtns.proofreadPage; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
|
||||
import gplx.xowa.html.*;
|
||||
import gplx.xowa.htmls.*;
|
||||
import gplx.xowa.parsers.*; import gplx.xowa.parsers.xndes.*;
|
||||
public class Pp_pagequality_nde implements Xox_xnde {
|
||||
public void Xtn_parse(Xowe_wiki wiki, Xop_ctx ctx, Xop_root_tkn root, byte[] src, Xop_xnde_tkn xnde) {} // FUTURE: noop for now so it doesn't show (since it's useless)
|
||||
|
||||
@@ -17,12 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.xtns.proofreadPage; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
|
||||
import gplx.core.primitives.*;
|
||||
import gplx.xowa.cfgs.*;
|
||||
import gplx.xowa.html.*;
|
||||
import gplx.xowa.nss.*;
|
||||
import gplx.xowa.xtns.lst.*; import gplx.xowa.pages.*; import gplx.xowa.wikis.data.tbls.*;
|
||||
import gplx.xowa.parsers.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.lnkis.*; import gplx.xowa.parsers.tmpls.*;
|
||||
public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser {
|
||||
import gplx.xowa.apps.cfgs.*;
|
||||
import gplx.xowa.htmls.*;
|
||||
import gplx.xowa.wikis.nss.*;
|
||||
import gplx.xowa.xtns.lst.*; import gplx.xowa.wikis.pages.*; import gplx.xowa.wikis.data.tbls.*;
|
||||
import gplx.xowa.parsers.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.htmls.*; import gplx.xowa.parsers.lnkis.*; import gplx.xowa.parsers.tmpls.*;
|
||||
public class Pp_pages_nde implements Xox_xnde, Mwh_atr_itm_owner {
|
||||
private boolean xtn_literal = false;
|
||||
private Xop_root_tkn xtn_root;
|
||||
private byte[] index_ttl_bry, bgn_page_bry, end_page_bry, bgn_sect_bry, end_sect_bry;
|
||||
@@ -36,23 +36,23 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser {
|
||||
private Xoae_app app; private Xowe_wiki wiki; private Xop_ctx ctx; private Gfo_usr_dlg usr_dlg;
|
||||
private byte[] src; private Xop_xnde_tkn xnde_tkn;
|
||||
private Xoa_ttl cur_page_ttl;
|
||||
public void Xatr_parse(Xowe_wiki wiki, byte[] src, Xop_xatr_itm xatr, Object xatr_key_obj) {
|
||||
if (xatr_key_obj == null) return;
|
||||
Byte_obj_val xatr_key = (Byte_obj_val)xatr_key_obj;
|
||||
switch (xatr_key.Val()) {
|
||||
case Xatr_index_ttl: index_ttl_bry = xatr.Val_as_bry(src); break;
|
||||
case Xatr_bgn_page: bgn_page_bry = xatr.Val_as_bry(src); break;
|
||||
case Xatr_end_page: end_page_bry = xatr.Val_as_bry(src); break;
|
||||
case Xatr_bgn_sect: bgn_sect_bry = xatr.Val_as_bry(src); break;
|
||||
case Xatr_end_sect: end_sect_bry = xatr.Val_as_bry(src); break;
|
||||
case Xatr_include: include = xatr.Val_as_bry(src); break;
|
||||
case Xatr_exclude: exclude = xatr.Val_as_bry(src); break;
|
||||
case Xatr_step: step_bry = xatr.Val_as_bry(src); break;
|
||||
case Xatr_onlysection: onlysection = xatr.Val_as_bry(src); break;
|
||||
case Xatr_header: header = xatr.Val_as_bry(src); break;
|
||||
case Xatr_toc_cur: toc_cur = xatr.Val_as_bry(src); break;
|
||||
case Xatr_toc_prv: toc_prv = xatr.Val_as_bry(src); break;
|
||||
case Xatr_toc_nxt: toc_nxt = xatr.Val_as_bry(src); break;
|
||||
public void Xatr__set(Xowe_wiki wiki, byte[] src, Mwh_atr_itm xatr, Object xatr_id_obj) {
|
||||
if (xatr_id_obj == null) return;
|
||||
Byte_obj_val xatr_id = (Byte_obj_val)xatr_id_obj;
|
||||
switch (xatr_id.Val()) {
|
||||
case Xatr_index_ttl: index_ttl_bry = xatr.Val_as_bry(); break;
|
||||
case Xatr_bgn_page: bgn_page_bry = xatr.Val_as_bry(); break;
|
||||
case Xatr_end_page: end_page_bry = xatr.Val_as_bry(); break;
|
||||
case Xatr_bgn_sect: bgn_sect_bry = xatr.Val_as_bry(); break;
|
||||
case Xatr_end_sect: end_sect_bry = xatr.Val_as_bry(); break;
|
||||
case Xatr_include: include = xatr.Val_as_bry(); break;
|
||||
case Xatr_exclude: exclude = xatr.Val_as_bry(); break;
|
||||
case Xatr_step: step_bry = xatr.Val_as_bry(); break;
|
||||
case Xatr_onlysection: onlysection = xatr.Val_as_bry(); break;
|
||||
case Xatr_header: header = xatr.Val_as_bry(); break;
|
||||
case Xatr_toc_cur: toc_cur = xatr.Val_as_bry(); break;
|
||||
case Xatr_toc_prv: toc_prv = xatr.Val_as_bry(); break;
|
||||
case Xatr_toc_nxt: toc_nxt = xatr.Val_as_bry(); break;
|
||||
}
|
||||
}
|
||||
public void Xtn_parse(Xowe_wiki wiki, Xop_ctx ctx, Xop_root_tkn root, byte[] src, Xop_xnde_tkn xnde) {
|
||||
@@ -82,7 +82,7 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser {
|
||||
private boolean Init_vars(Xowe_wiki wiki, Xop_ctx ctx, byte[] src, Xop_xnde_tkn xnde) {
|
||||
this.wiki = wiki; this.ctx = ctx; app = wiki.Appe(); usr_dlg = app.Usr_dlg();
|
||||
this.src = src; this.xnde_tkn = xnde; cur_page_ttl = ctx.Cur_page().Ttl();
|
||||
Xop_xatr_itm.Xatr_parse(app, this, xtn_atrs, wiki, src, xnde);
|
||||
Xox_xnde_.Xatr__set(wiki, this, xatrs_hash, src, xnde);
|
||||
Xop_amp_mgr amp_mgr = wiki.Appe().Parser_amp_mgr();
|
||||
index_ttl_bry = amp_mgr.Decode_as_bry(index_ttl_bry);
|
||||
bgn_page_bry = amp_mgr.Decode_as_bry(bgn_page_bry);
|
||||
@@ -134,13 +134,13 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser {
|
||||
full_bfr.Add_byte_pipe()
|
||||
.Add(caption)
|
||||
.Add(Xop_tkn_.Lnki_end);
|
||||
return full_bfr.Xto_bry_and_clear();
|
||||
return full_bfr.To_bry_and_clear();
|
||||
}
|
||||
private byte[] Get_caption(Bry_bfr full_bfr, byte[] index_page_src, Xop_lnki_tkn lnki) {
|
||||
byte[] rv = Bry_.Empty;
|
||||
try {
|
||||
wiki.Html_mgr().Html_wtr().Write_tkn(full_bfr, ctx, Xoh_wtr_ctx.Basic, index_page_src, null, -1, lnki.Caption_tkn());
|
||||
rv = full_bfr.Xto_bry_and_clear();
|
||||
rv = full_bfr.To_bry_and_clear();
|
||||
}
|
||||
catch (Exception e) {
|
||||
wiki.Appe().Usr_dlg().Warn_many("", "", "failed to write caption: page=~{0} lnki=~{1} err=~{2}", ctx.Cur_page().Ttl().Full_db(), String_.new_u8(index_page_src, lnki.Src_bgn(), lnki.Src_end()), Err_.Message_gplx_full(e));
|
||||
@@ -205,9 +205,9 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser {
|
||||
.Add(arg.Val())
|
||||
;
|
||||
}
|
||||
full_bfr.Add(Xoa_consts.Invk_end);
|
||||
full_bfr.Add(gplx.xowa.parsers.tmpls.Xop_curly_end_lxr.Hook);
|
||||
full_bfr.Add(rv);
|
||||
return full_bfr.Xto_bry_and_clear();
|
||||
return full_bfr.To_bry_and_clear();
|
||||
}
|
||||
private Xoa_ttl[] Get_ttls_from_xnde_args() {
|
||||
if (!Chk_step()) return Ttls_null;
|
||||
@@ -306,7 +306,7 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser {
|
||||
.Add(index_ttl_bry) // EX: 'File.djvu'
|
||||
.Add_byte(Byte_ascii.Slash) // EX: '/'
|
||||
.Add_int_variable(page.Val()); // EX: '123'
|
||||
rv[rv_idx++] = Xoa_ttl.parse(wiki, ttl_bfr.Xto_bry_and_clear());
|
||||
rv[rv_idx++] = Xoa_ttl.parse(wiki, ttl_bfr.To_bry_and_clear());
|
||||
}
|
||||
ttl_bfr.Mkr_rls();
|
||||
return rv;
|
||||
@@ -359,7 +359,7 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser {
|
||||
}
|
||||
page_bfr.Mkr_rls();
|
||||
ctx.Tmpl_output_(null);
|
||||
return full_bfr.Xto_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) {
|
||||
Xop_ctx tmp_ctx = Xop_ctx.new_sub_page_(wiki, ctx, lst_page_regy);
|
||||
@@ -371,7 +371,7 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser {
|
||||
tmp_parser.Parse_text_to_wdom(rv, tmp_ctx, tmp_ctx.Tkn_mkr(), wikitext, Xop_parser_.Doc_bgn_bos);
|
||||
return rv;
|
||||
}
|
||||
private static Hash_adp_bry xtn_atrs = Hash_adp_bry.ci_a7() // NOTE: these do not seem to be i18n'd; no ProofreadPage.magic.php; ProofreadPage.i18n.php only has messages; ProofreadPage.body.php refers to names literally
|
||||
private static Hash_adp_bry xatrs_hash = Hash_adp_bry.ci_a7() // NOTE: these do not seem to be i18n'd; no ProofreadPage.magic.php; ProofreadPage.i18n.php only has messages; ProofreadPage.body.php refers to names literally
|
||||
.Add_str_obj("index" , Byte_obj_val.new_(Pp_pages_nde.Xatr_index_ttl))
|
||||
.Add_str_obj("from" , Byte_obj_val.new_(Pp_pages_nde.Xatr_bgn_page))
|
||||
.Add_str_obj("to" , Byte_obj_val.new_(Pp_pages_nde.Xatr_end_page))
|
||||
|
||||
@@ -16,11 +16,11 @@ You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.xtns.proofreadPage; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
|
||||
import org.junit.*; import gplx.xowa.cfgs.*;
|
||||
import org.junit.*; import gplx.xowa.apps.cfgs.*;
|
||||
public class Pp_pages_nde_basic_tst {
|
||||
private Xop_fxt fxt = new Xop_fxt();
|
||||
@Before public void Init() {
|
||||
Io_mgr.I.InitEngine_mem();
|
||||
Io_mgr.Instance.InitEngine_mem();
|
||||
fxt.Wiki().Xtn_mgr().Xtn_proofread().Enabled_y_();
|
||||
fxt.Wiki().Db_mgr().Load_mgr().Clear(); // must clear; otherwise fails b/c files get deleted, but wiki.data_mgr caches the Xowd_regy_mgr (the .reg file) in memory;
|
||||
fxt.Wiki().Ns_mgr().Add_new(Xowc_xtn_pages.Ns_page_id_default, "Page").Add_new(Xowc_xtn_pages.Ns_index_id_default, "Index").Init();
|
||||
|
||||
@@ -16,11 +16,11 @@ You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.xtns.proofreadPage; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
|
||||
import org.junit.*; import gplx.xowa.cfgs.*;
|
||||
import org.junit.*; import gplx.xowa.apps.cfgs.*;
|
||||
public class Pp_pages_nde_hdr_tst {
|
||||
private Xop_fxt fxt = new Xop_fxt();
|
||||
@Before public void Init() {
|
||||
Io_mgr.I.InitEngine_mem();
|
||||
Io_mgr.Instance.InitEngine_mem();
|
||||
fxt.Wiki().Xtn_mgr().Xtn_proofread().Enabled_y_();
|
||||
fxt.Wiki().Cache_mgr().Page_cache().Free_mem_all();
|
||||
fxt.Wiki().Db_mgr().Load_mgr().Clear(); // must clear; otherwise fails b/c files get deleted, but wiki.data_mgr caches the Xowd_regy_mgr (the .reg file) in memory;
|
||||
|
||||
@@ -16,11 +16,11 @@ You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.xtns.proofreadPage; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
|
||||
import org.junit.*; import gplx.xowa.cfgs.*;
|
||||
import org.junit.*; import gplx.xowa.apps.cfgs.*;
|
||||
public class Pp_pages_nde_index_tst {
|
||||
private Xop_fxt fxt = new Xop_fxt();
|
||||
@Before public void Init() {
|
||||
Io_mgr.I.InitEngine_mem();
|
||||
Io_mgr.Instance.InitEngine_mem();
|
||||
fxt.Wiki().Xtn_mgr().Xtn_proofread().Enabled_y_();
|
||||
fxt.Wiki().Db_mgr().Load_mgr().Clear(); // must clear; otherwise fails b/c files get deleted, but wiki.data_mgr caches the Xowd_regy_mgr (the .reg file) in memory;
|
||||
fxt.Wiki().Ns_mgr().Add_new(Xowc_xtn_pages.Ns_page_id_default, "Page").Add_new(Xowc_xtn_pages.Ns_index_id_default, "Index").Init();
|
||||
|
||||
@@ -24,6 +24,6 @@ public class Pp_xtn_mgr extends Xox_mgr_base {
|
||||
@Override public Xox_mgr Clone_new() {return new Pp_xtn_mgr();}
|
||||
@Override public void Xtn_init_by_wiki(Xowe_wiki wiki) {
|
||||
if (!this.Enabled_manually())
|
||||
this.Enabled_(wiki.Domain_tid() == Xow_domain_type_.Int__wikisource); // only enable for wikisource
|
||||
this.Enabled_(wiki.Domain_tid() == Xow_domain_tid_.Int__wikisource); // only enable for wikisource
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user