1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00
This commit is contained in:
gnosygnu
2015-08-30 22:57:59 -04:00
parent ed911e3de5
commit 5fc4eb41ec
579 changed files with 2460 additions and 1564 deletions

View File

@@ -32,6 +32,7 @@ public class Xob_cmd_keys {
, Key_wiki_image = "wiki.image" // "wiki.image"
, Key_wiki_page_dump_make = "wiki.page_dump.make" // "file.page_dump"
, Key_wiki_page_dump_drop = "wiki.page_dump.drop"
, Key_wiki_pagelink = "wiki.pagelink"
, Key_file_lnki_temp = "file.lnki_temp"
, Key_file_lnki_regy = "file.lnki_regy"
, Key_file_page_regy = "file.page_regy"

View File

@@ -41,6 +41,7 @@ public class Xob_cmd_mgr implements GfoInvkAble {
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wiki_page_dump_drop)) return Add(new Xob_page_dump_cmd_drop(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wiki_redirect)) return Add(new Xob_redirect_cmd(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wiki_image)) return Add(new Xob_image_cmd(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wiki_pagelink)) return Add(new Xob_pagelinks_parser_cmd(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_file_lnki_temp)) return Add(new Xob_lnki_temp_wkr(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_file_lnki_regy)) return Add(new Xob_lnki_regy_cmd(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_file_page_regy)) return Add(new Xob_page_regy_cmd(bldr, wiki));

View File

@@ -21,7 +21,7 @@ public class Aria2_lib_mgr implements GfoInvkAble {
public ProcessAdp Lib() {return lib;} private ProcessAdp lib = new ProcessAdp();
public void Init_by_app(Xoae_app app) {
Xoa_fsys_eval cmd_eval = app.Url_cmd_eval();
ProcessAdp.ini_(this, app.Usr_dlg(), lib, cmd_eval, ProcessAdp.Run_mode_sync_block, Int_.MaxValue
ProcessAdp.ini_(this, app.Usr_dlg(), lib, cmd_eval, ProcessAdp.Run_mode_sync_block, Int_.Max_value
, "~{<>bin_plat_dir<>}aria2" + Op_sys.Cur().Fsys_dir_spr_str() + "aria2c"
, Lib_args_fmt
, "wiki_abrv", "wiki_date", "wiki_type");

View File

@@ -129,14 +129,14 @@ public class Xob_wiki_cfg_bldr_tst {
String api = protocol + wiki + "/w/api.php?action=query&format=xml&meta=siteinfo&siprop=namespacealiases";
String xml = String_.new_u8(Io_mgr.I.DownloadFil_args("", null).Trg_engine_key_(trg_engine_key).Exec_as_bry(api));
if (xml == null) continue; // not found
gplx.xmls.XmlDoc xdoc = gplx.xmls.XmlDoc_.parse_(xml);
gplx.xmls.XmlDoc xdoc = gplx.xmls.XmlDoc_.parse(xml);
gplx.xmls.XmlNde xnde = gplx.xmls.Xpath_.SelectFirst(xdoc.Root(), "query/namespacealiases");
sb.Add("app.bldr.wiki_cfg_bldr.get('").Add(wiki).Add("').new_cmd_('wiki.ns_mgr.aliases', 'ns_mgr.add_alias_bulk(\"\n");
int xndes_len = xnde.SubNdes().Count();
for (int j = 0; j < xndes_len; j++) {
gplx.xmls.XmlNde ns_nde = xnde.SubNdes().Get_at(j);
if (!String_.Eq(ns_nde.Name(), "ns")) continue;
int id = Int_.parse_(ns_nde.Atrs().FetchValOr("id", "-1"));
int id = Int_.parse(ns_nde.Atrs().FetchValOr("id", "-1"));
String name = String_.Replace(String_.Replace(ns_nde.Text_inner(), " ", "_"), "'", "''");
sb.Add(Int_.Xto_str(id)).Add("|").Add(String_.Trim(name)).Add_char_nl();
}

View File

@@ -23,9 +23,9 @@ public abstract class Xob_dump_mgr_base extends Xob_itm_basic_base implements Xo
private Xowd_db_mgr db_fsys_mgr; protected Xop_parser parser; protected Xop_ctx ctx; protected Xop_root_tkn root;
private int[] ns_ary; private Xowd_db_file[] db_ary;
private int ns_bgn = -1, db_bgn = -1, pg_bgn = -1;
private int ns_end = -1, db_end = -1, pg_end = Int_.MaxValue;
private int ns_end = -1, db_end = -1, pg_end = Int_.Max_value;
private int commit_interval = 1000, progress_interval = 250, cleanup_interval = 2500, select_size = 10 * Io_mgr.Len_mb;
private int exec_count, exec_count_max = Int_.MaxValue;
private int exec_count, exec_count_max = Int_.Max_value;
private boolean reset_db = false, exit_after_commit = false, exit_now = false;
private boolean load_tmpls;
private Xob_dump_bmk_mgr bmk_mgr = new Xob_dump_bmk_mgr();
@@ -67,7 +67,7 @@ public abstract class Xob_dump_mgr_base extends Xob_itm_basic_base implements Xo
private long time_bgn;
public void Cmd_run() {Exec_ns_ary();}
private void Exec_ns_ary() {
if (pg_bgn == Int_.MaxValue) return;
if (pg_bgn == Int_.Max_value) return;
if (load_tmpls) Xob_dump_mgr_base_.Load_all_tmpls(usr_dlg, wiki, page_src);
time_bgn = Env_.TickCount();
Xob_dump_bmk dump_bmk = new Xob_dump_bmk();
@@ -169,7 +169,7 @@ public abstract class Xob_dump_mgr_base extends Xob_itm_basic_base implements Xo
public void Cmd_term() {}
public void Cmd_end() {
if (!exit_now)
pg_bgn = Int_.MaxValue;
pg_bgn = Int_.Max_value;
Exec_commit(-1, -1, -1, Bry_.Empty);
Exec_end_hook();
Free();

View File

@@ -18,13 +18,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.cmds.ctgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*;
import gplx.core.flds.*; import gplx.ios.*; import gplx.xowa.ctgs.*; import gplx.xowa.tdbs.*;
public class Xoctg_link_idx_wkr extends Xob_idx_base { // NOTE: similar functionality to Xob_make_cmd_site, but more complicated due to p,f,s; not inheriting
Io_url src_link_dir; int make_fil_max = Int_.MinValue;
Io_url src_link_dir; int make_fil_max = Int_.Min_value;
public Xoctg_link_idx_wkr(Xob_bldr bldr, Xowe_wiki wiki) {this.Cmd_ctor(bldr, wiki);}
@Override public String Cmd_key() {return Xob_cmd_keys.Key_tdb_ctg_link_idx;}
@Override public void Cmd_bgn_hook() {
this.fld_rdr = this.Fld_rdr();
if (src_link_dir == null) src_link_dir = wiki.Fsys_mgr().Tmp_dir().GenSubDir_nest(Xob_cmd_keys.Key_tdb_text_cat_link, "make");
if (make_fil_max == Int_.MinValue) make_fil_max = Io_mgr.Len_mb;
if (make_fil_max == Int_.Min_value) make_fil_max = Io_mgr.Len_mb;
make_link_mgr = new Xoctg_make_link_mgr(usr_dlg, make_fil_max, wiki.Tdb_fsys_mgr());
make_main_mgr = new Xoctg_make_main_mgr(usr_dlg, make_fil_max, wiki.Tdb_fsys_mgr());
Io_mgr.I.DeleteDirDeep_ary(make_link_mgr.Make_dir(), make_main_mgr.Make_dir());

View File

@@ -38,7 +38,7 @@ class Xob_bin_db_itm {
public static Xob_bin_db_itm new_v1(Fsm_bin_fil fil) {
byte[] name = Bry_.new_u8(fil.Url_rel()); // EX: "fsdb.bin.0000.sqlite3"
int ns_id = 0; // assume v1 dbs are all in main ns
int pt_id = Bry_.To_int_or(name, 9 , 13, Int_.MinValue); if (pt_id == Int_.MinValue) throw Err_.new_wo_type("bin_db_itm.parse: invalid pt_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw());
int pt_id = Bry_.To_int_or(name, 9 , 13, Int_.Min_value); if (pt_id == Int_.Min_value) throw Err_.new_wo_type("bin_db_itm.parse: invalid pt_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw());
return new Xob_bin_db_itm(fil.Id(), fil.Url(), ns_id, pt_id);
}
public static Xob_bin_db_itm new_v2(Fsm_bin_fil fil) {
@@ -50,8 +50,8 @@ class Xob_bin_db_itm {
int ns_end = Bry_finder.Find_fwd(name, ns_end_tkn, ns_bgn); if (ns_end == Bry_finder.Not_found) throw Err_.new_wo_type("bin_db_itm.parse: invalid ns_end", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw());
int pt_bgn = ns_end + ns_end_tkn_len;
int pt_end = Bry_finder.Find_fwd(name, pt_end_tkn, pt_bgn); if (pt_end == Bry_finder.Not_found) throw Err_.new_wo_type("bin_db_itm.parse: invalid pt_end", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw());
int ns_id = Bry_.To_int_or(name, ns_bgn, ns_end, Int_.MinValue); if (ns_id == Int_.MinValue) throw Err_.new_wo_type("bin_db_itm.parse: invalid ns_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw());
int pt_id = Bry_.To_int_or(name, pt_bgn, pt_end, Int_.MinValue); if (pt_id == Int_.MinValue) throw Err_.new_wo_type("bin_db_itm.parse: invalid pt_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw());
int ns_id = Bry_.To_int_or(name, ns_bgn, ns_end, Int_.Min_value); if (ns_id == Int_.Min_value) throw Err_.new_wo_type("bin_db_itm.parse: invalid ns_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw());
int pt_id = Bry_.To_int_or(name, pt_bgn, pt_end, Int_.Min_value); if (pt_id == Int_.Min_value) throw Err_.new_wo_type("bin_db_itm.parse: invalid pt_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw());
return new Xob_bin_db_itm(fil.Id(), fil.Url(), ns_id, pt_id);
}
}

View File

@@ -56,7 +56,7 @@ class Xob_diff_regy_sql_runner {
this.url = url;
String[] parts = String_.Split(url.NameOnly(), "-");
wiki_domain = parts[0];
fsdb_db_id = Int_.parse_(parts[1]);
fsdb_db_id = Int_.parse(parts[1]);
fsdb_db_tid = Fsdb_db_tid_.Xto_tid(parts[2]);
}
public void Run_sql(Xoae_app app) {

View File

@@ -28,8 +28,8 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd {
private long download_size_max = Io_mgr.Len_mb_long * 5; private int[] download_keep_tier_ids = Int_.Ary(0);
private Xobu_poll_mgr poll_mgr; private int poll_interval; private long time_bgn;
private int select_interval = 2500, progress_interval = 1, commit_interval = 1, delete_interval = 5000;
private boolean exec_done, resume_enabled; private int exec_count, exec_count_max = Int_.MaxValue, exec_fail, exec_fail_max = 10000; // 115 errors over 900k images
private int tier_id_bmk = -1, tier_id_val = -1; private int page_id_bmk = -1, page_id_val = -1, page_id_end = Int_.MaxValue; private int lnki_id_bmk = -1, lnki_id_val = -1;
private boolean exec_done, resume_enabled; private int exec_count, exec_count_max = Int_.Max_value, exec_fail, exec_fail_max = 10000; // 115 errors over 900k images
private int tier_id_bmk = -1, tier_id_val = -1; private int page_id_bmk = -1, page_id_val = -1, page_id_end = Int_.Max_value; private int lnki_id_bmk = -1, lnki_id_val = -1;
private boolean exit_after_commit, exit_now;
public Xob_fsdb_make_cmd(Xob_bldr bldr, Xowe_wiki wiki) {
this.Cmd_ctor(bldr, wiki);
@@ -140,7 +140,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd {
}
else {
if (tier_id_bmk == -1) {
tier_id_bmk = Int_.parse_(tier_id_str);
tier_id_bmk = Int_.parse(tier_id_str);
usr_dlg.Note_many("", "", "restoring from bmk: tier_id=~{0}", tier_id_bmk);
}
if (page_id_bmk == -1) {

View File

@@ -63,6 +63,7 @@ public class Xob_lnki_temp_wkr extends Xob_dump_mgr_base implements Xopg_redlink
gplx.xowa.Xop_xnde_wkr.Timeline_log_wkr = log_mgr.Make_wkr();
gplx.xowa.xtns.scores.Score_xnde.Log_wkr = log_mgr.Make_wkr();
gplx.xowa.xtns.hieros.Hiero_xnde.Log_wkr = log_mgr.Make_wkr();
gplx.xowa.xtns.math.Math_nde.Log_wkr = log_mgr.Make_wkr();
Xof_fsdb_mgr__sql trg_fsdb_mgr = new Xof_fsdb_mgr__sql();
wiki.File__fsdb_mode().Tid_v2_bld_y_();
Fsdb_db_mgr__v2 fsdb_core = Fsdb_db_mgr__v2_bldr.I.Get_or_make(wiki, Bool_.Y);
@@ -84,7 +85,7 @@ public class Xob_lnki_temp_wkr extends Xob_dump_mgr_base implements Xopg_redlink
log_mgr.Txn_bgn();
}
@Override public void Exec_pg_itm_hook(int ns_ord, Xow_ns ns, Xowd_page_itm db_page, byte[] page_src) {
Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ns.Gen_ttl(db_page.Ttl_page_db()));
Xoa_ttl ttl = Xoa_ttl.parse(wiki, ns.Gen_ttl(db_page.Ttl_page_db()));
byte[] ttl_bry = ttl.Page_db();
byte page_tid = Xow_page_tid.Identify(wiki.Domain_tid(), ns.Id(), ttl_bry);
if (page_tid != Xow_page_tid.Tid_wikitext) return; // ignore js, css, lua, json
@@ -142,7 +143,7 @@ public class Xob_lnki_temp_wkr extends Xob_dump_mgr_base implements Xopg_redlink
int lnki_page = lnki.Page();
byte[] ttl_commons = Xto_commons(ns_file_is_case_match_all, commons_wiki, ttl);
if ( Xof_lnki_page.Null_n(lnki_page) // page set
&& Xof_lnki_time.Null_n(lnki_time)) // thumbtime set
&& Xof_lnki_time.Null_n(lnki_time)) // thumbtime set
usr_dlg.Warn_many("", "", "page and thumbtime both set; this may be an issue with fsdb: page=~{0} ttl=~{1}", ctx.Cur_page().Ttl().Page_db_as_str(), String_.new_u8(ttl));
if (lnki.Ns_id() == Xow_ns_.Id_media)
lnki_src_tid = Xob_lnki_src_tid.Tid_media;
@@ -176,7 +177,7 @@ public class Xob_lnki_temp_wkr extends Xob_dump_mgr_base implements Xopg_redlink
}
public static byte[] Xto_commons(boolean ns_file_is_case_match_all, Xowe_wiki commons_wiki, byte[] ttl_bry) {
if (!ns_file_is_case_match_all) return null; // return "" if wiki matches common
Xoa_ttl ttl = Xoa_ttl.parse_(commons_wiki, Xow_ns_.Id_file, ttl_bry);
Xoa_ttl ttl = Xoa_ttl.parse(commons_wiki, Xow_ns_.Id_file, ttl_bry);
byte[] rv = ttl.Page_db();
return Bry_.Eq(rv, ttl_bry) ? null : rv;
}

View File

@@ -0,0 +1,72 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero 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 Affero General Public License for more details.
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.bldrs.cmds.texts.sqls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*; import gplx.xowa.bldrs.cmds.texts.*;
import gplx.dbs.*;
import gplx.xowa.wikis.data.*; import gplx.xowa.wikis.data.tbls.*;
public class Xob_pagelinks_parser_cmd extends Xob_sql_dump_base implements Sql_file_parser_cmd {
private Db_conn core_conn;
private Xowd_pagelinks_temp_tbl temp_tbl;
public Xob_pagelinks_parser_cmd(Xob_bldr bldr, Xowe_wiki wiki) {this.Cmd_ctor(bldr, wiki); this.make_fil_len = Io_mgr.Len_mb;}
@Override public String Sql_file_name() {return "pagelinks";}
@Override public String Cmd_key() {return Xob_cmd_keys.Key_wiki_pagelink;}
private static final byte Fld__pl_from = 0, Fld__pl_namespace = 1, Fld__pl_title = 2;
private int tmp_src_id, tmp_trg_ns;
private int rows = 0;
@Override public void Cmd_bgn_hook(Xob_bldr bldr, Sql_file_parser parser) {
parser.Fld_cmd_(this).Flds_req_idx_(4, 0, 1, 2);
wiki.Init_assert();
Xowd_db_file core_db = wiki.Data__core_mgr().Db__core();
this.core_conn = core_db.Conn();
this.temp_tbl = new Xowd_pagelinks_temp_tbl(core_conn);
core_conn.Ddl_delete_tbl(temp_tbl.Tbl_name());
temp_tbl.Create_tbl();
temp_tbl.Insert_bgn();
}
@Override public void Cmd_end() {
temp_tbl.Insert_end();
temp_tbl.Create_idx();
Xowd_pagelinks_tbl actl_tbl = new Xowd_pagelinks_tbl(core_conn);
core_conn.Ddl_delete_tbl(actl_tbl.Tbl_name());
actl_tbl.Create_tbl();
core_conn.Exec_sql(Sql__pagelinks__make);
core_conn.Ddl_delete_tbl(temp_tbl.Tbl_name());
actl_tbl.Create_idx__src_trg();
actl_tbl.Create_idx__trg_src();
core_conn.Env_vacuum();
}
public void Exec(byte[] src, byte[] fld_key, int fld_idx, int fld_bgn, int fld_end, Bry_bfr file_bfr, Sql_file_parser_data data) {
switch (fld_idx) {
case Fld__pl_from: this.tmp_src_id = Bry_.To_int_or(src, fld_bgn, fld_end, -1); break;
case Fld__pl_namespace: this.tmp_trg_ns = Bry_.To_int_or(src, fld_bgn, fld_end, -1); break;
case Fld__pl_title:
byte[] tmp_trg_ttl = Bry_.Mid(src, fld_bgn, fld_end);
temp_tbl.Insert(tmp_src_id, tmp_trg_ns, tmp_trg_ttl);
if (++rows % 100000 == 0) usr_dlg.Prog_many("", "", "reading row ~{0}", Int_.Xto_str_fmt(rows, "#,##0"));
break;
}
}
private static final String Sql__pagelinks__make = String_.Concat_lines_nl_skip_last
( "INSERT INTO pagelinks (src_id, trg_id, trg_count)"
, "SELECT pl.src_id"
, ", p.page_id"
, ", Count(p.page_id)"
, "FROM pagelinks_temp pl"
, " JOIN page p ON pl.trg_ns = p.page_namespace AND pl.trg_ttl = p.page_title"
, "GROUP BY pl.src_id, p.page_id"
);
}

View File

@@ -0,0 +1,61 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero 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 Affero General Public License for more details.
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.bldrs.cmds.texts.sqls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*; import gplx.xowa.bldrs.cmds.texts.*;
import org.junit.*;
// public class Xob_pagelinks_parser_tst {
// @Before public void init() {if (Xoa_test_.Db_skip()) return; fxt.Ctor_fsys();} Db_mgr_fxt fxt = new Db_mgr_fxt();
// @After public void term() {if (Xoa_test_.Db_skip()) return; fxt.Rls();}
// @Test public void Basic() {
// if (Xoa_test_.Db_skip()) return;
// fxt.Init_db_sqlite();
// fxt.Wiki().Db_mgr_as_sql().Core_data_mgr().Db__cat_core().Tbl__cat_core().Create_tbl();
// Init_ctgs(1, 2, 3);
// Io_url page_props_url = Xoa_test_.Url_root().GenSubFil_nest("root", "wiki", "en.wikipedia.org", "page_props.sql");
// fxt .Init_fil(page_props_url, String_.Concat
// ( "INSERT INTO `page_props` VALUES"
// , " (1,'hiddencat','')"
// , ",(2,'pageimage','A.png')"
// , ",(3,'hiddencat','')"
// , ";"
// ))
// .Exec_run(new Xoctg_hiddencat_parser_sql(fxt.Bldr(), fxt.Wiki()))
// ;
// Tst_ctg_hidden(Bool_.Y, 1, 3);
// Tst_ctg_hidden(Bool_.N, 2);
// }
// private void Init_ctgs(params int[] ctgs) {
// int len = ctgs.length;
// Xowd_cat_core_tbl tbl = fxt.Wiki().Db_mgr_as_sql().Core_data_mgr().Db__cat_core().Tbl__cat_core().Create_tbl();
// tbl.Insert_bgn();
// try {
// for (int i = 0; i < len; i++) {
// int ctg_id = ctgs[i];
// tbl.Insert_cmd_by_batch(ctg_id, 0, 0, 0, Bool_.N_byte, 0);
// }
// } finally {tbl.Insert_end();}
// }
// private void Tst_ctg_hidden(boolean expd_hidden, params int[] ctgs) {
// int len = ctgs.length;
// Xowd_cat_core_tbl tbl = fxt.Wiki().Db_mgr_as_sql().Core_data_mgr().Db__cat_core().Tbl__cat_core();
// for (int i = 0; i < len; i++) {
// int ctg_id = ctgs[i];
// Xowd_category_itm ctg_itm = tbl.Select(ctg_id);
// Tfds.Eq(expd_hidden, ctg_itm.Hidden(), Int_.Xto_str(ctg_id));
// }
// }
// }

View File

@@ -79,7 +79,7 @@ public class Xob_cleanup_cmd extends Xob_itm_basic_base implements Xob_cmd {
Criteria_ioMatch[] rv = new Criteria_ioMatch[match_ary_len];
for (int i = 0; i < rv.length; i++) {
String match = match_ary[i];
rv[i] = Criteria_ioMatch.parse_(true, match, false);
rv[i] = Criteria_ioMatch.parse(true, match, false);
}
return rv;
}

View File

@@ -34,7 +34,7 @@ public class Xob_deploy_zip_cmd extends Xob_itm_basic_base implements Xob_cmd {
for (Io_url ns_dir : ns_dirs) {
Log("zipping dir: ~{0}", ns_dir.Raw());
String ns_num = ns_dir.NameOnly();
Xow_ns ns_itm = wiki.Ns_mgr().Ids_get_or_null(Int_.parse_(ns_num));
Xow_ns ns_itm = wiki.Ns_mgr().Ids_get_or_null(Int_.parse(ns_num));
Zip_ns(bldr, ns_dir, type_name, ns_itm.Name_str());
}
}

View File

@@ -28,7 +28,7 @@ public class Xob_site_meta_cmd implements Xob_cmd {
if (wikis == null) wikis = Xow_wmf_api_mgr.Wikis;
if (db_url == null) db_url = bldr.App().Fsys_mgr().Cfg_site_meta_fil();
if (cutoff_time == null) cutoff_time = DateAdp_.Now().Add_day(-1);
Site_meta_itm.Build_site_meta(bldr.App().Wmf_mgr(), db_url, wikis, cutoff_time);
Site_meta_itm.Build_site_meta(bldr.App().Utl__json_parser(), bldr.App().Wmf_mgr(), db_url, wikis, cutoff_time);
}
public void Cmd_init(Xob_bldr bldr) {}
public void Cmd_bgn(Xob_bldr bldr) {}

View File

@@ -116,7 +116,7 @@ public class Dg_match_mgr {
int rule_score = rule_tally.Rule().Score();
int rule_score_total = rule_score * min_results;
if (log_enabled) log_mgr.Insert_page_rule(log_tid, page_id, rule_tally.Rule().Id(), rule_score_total);
if (rule_score == Dg_rule.Score_banned) {score_cur = Int_.MaxValue; break;}
if (rule_score == Dg_rule.Score_banned) {score_cur = Int_.Max_value; break;}
score_cur += rule_score_total;
++rule_match_count;
}
@@ -154,7 +154,7 @@ class Dg_rule_tally {
results[idx_val] = results[idx_val] + 1;
}
public int Results_pass_count() {
int rv = Int_.MaxValue;
int rv = Int_.Max_value;
for (int i = 0; i < results_len; ++i) {
int result = results[i];
if (rv > result) rv = result;

View File

@@ -71,8 +71,8 @@ class Dg_parser {
if (src[brack_bgn] != Byte_ascii.Lt) {Warn("dg.invalid_line.wrong_term_dlm", rel_path, line_idx, src, line_bgn, line_end); break;}
brack_end = Bry_finder.Find_fwd(src, Byte_ascii.Gt, brack_bgn);
if (brack_end == Bry_finder.Not_found) {Warn("dg.invalid_line.score not found", rel_path, line_idx, src, line_bgn, line_end); break;}
int parse_score = Bry_.To_int_or(src, brack_bgn + 1, brack_end, Int_.MinValue);
if (parse_score == Int_.MinValue) {Warn("dg.invalid_line.score is invalid", rel_path, line_idx, src, line_bgn, line_end); break;}
int parse_score = Bry_.To_int_or(src, brack_bgn + 1, brack_end, Int_.Min_value);
if (parse_score == Int_.Min_value) {Warn("dg.invalid_line.score is invalid", rel_path, line_idx, src, line_bgn, line_end); break;}
score = parse_score;
break;
}

View File

@@ -27,12 +27,12 @@ abstract class Json_itm_wkr__base implements Json_itm_wkr {
List_adp tmp_list = List_adp_.new_(); Byte_obj_ref tmp_result = Byte_obj_ref.zero_(); Bry_bfr tmp_bfr = Bry_bfr.reset_(16);
Json_doc jdoc = json_parser.Parse(src);
this.Exec_bgn();
Json_nde root = jdoc.Root();
Json_nde root = jdoc.Root_nde();
int subs_len = root.Len();
for (int i = 0; i < subs_len; ++i) {
Json_itm itm = root.Get_at(i);
switch (itm.Tid()) {
case Json_itm_.Tid_kv:
case Json_itm_.Tid__kv:
Json_kv kv = (Json_kv)itm;
if (kv.Key().Data_eq(Name_metadata)) continue; // ignore @metadata node
byte[] kv_key = kv.Key().Data_bry();

View File

@@ -254,8 +254,8 @@ public class Xol_mw_lang_parser {
int kv_ary_len = kv_ary.Subs_len();
boolean case_match = false; // if 1 arg, default to false
int kv_ary_bgn = 0; int words_len = kv_ary_len; // if 1 arg, default to entire kv_ary; words_len
int case_match_int = Php_itm_.Parse_int_or(kv_ary.Subs_get(0), Int_.MinValue);
if (case_match_int != Int_.MinValue) {
int case_match_int = Php_itm_.Parse_int_or(kv_ary.Subs_get(0), Int_.Min_value);
if (case_match_int != Int_.Min_value) {
case_match = Parse_int_as_bool(kv_ary.Subs_get(0)); // arg[0] is case_match
kv_ary_bgn = 1; // arg[1] is 1st word
words_len = kv_ary_len - 1; // words.len = kv_len - 1 (skip case_match
@@ -291,8 +291,8 @@ public class Xol_mw_lang_parser {
}
}
private boolean Parse_int_as_bool(Php_itm itm) {
int rv = Php_itm_.Parse_int_or(itm, Int_.MinValue);
if (rv == Int_.MinValue) throw Err_.new_wo_type("value must be 0 or 1", "val", String_.new_u8(itm.Val_obj_bry()));
int rv = Php_itm_.Parse_int_or(itm, Int_.Min_value);
if (rv == Int_.Min_value) throw Err_.new_wo_type("value must be 0 or 1", "val", String_.new_u8(itm.Val_obj_bry()));
return rv == 1;
}
private void Parse_separatorTransformTable(Php_line_assign line, Xol_num_mgr num_mgr) {

View File

@@ -19,12 +19,12 @@ package gplx.xowa.bldrs.syncs; import gplx.*; import gplx.xowa.*; import gplx.xo
import gplx.ios.*;
class Xob_sync_grp {
private final Ordered_hash itms = Ordered_hash_.new_();
public Xob_sync_grp Ctor_itm(DateAdp upload_time, DateAdp related_time) {
this.upload_time = upload_time; this.related_time = related_time;
public Xob_sync_grp Ctor_itm(DateAdp dump_time, DateAdp upload_time) {
this.dump_time = dump_time; this.upload_time = upload_time;
return this;
}
public DateAdp Dump_time() {return dump_time;} private DateAdp dump_time;
public DateAdp Upload_time() {return upload_time;} private DateAdp upload_time;
public DateAdp Related_time() {return related_time;} private DateAdp related_time;
public int Itms__len() {return itms.Count();}
public void Itms__add(Xob_sync_pkg file) {itms.Add(file.Path(), file);}
public Xob_sync_pkg Itms__get_at(int i) {return (Xob_sync_pkg)itms.Get_at(i);}

View File

@@ -21,7 +21,7 @@ public class Xoi_wiki_props_alias {
public String Alias() {return alias;} private String alias;
public Xoi_wiki_props_alias Init_by_ctor(int id, String alias) {this.id = id; this.alias = alias; return this;}
public void Init_by_xml(gplx.xmls.XmlNde ns_nde) {
this.id = Int_.parse_(ns_nde.Atrs().FetchValOr("id", "-1"));
this.id = Int_.parse(ns_nde.Atrs().FetchValOr("id", "-1"));
this.alias = String_.Replace(String_.Replace(ns_nde.Text_inner(), " ", "_"), "'", "''");
}
}

View File

@@ -52,7 +52,7 @@ public class Xoi_wiki_props_api {
bfr.Add_byte_nl();
}
public void Parse(Xoi_wiki_props_wiki wiki, String xml) {
XmlDoc xdoc = XmlDoc_.parse_(xml);
XmlDoc xdoc = XmlDoc_.parse(xml);
XmlNde query_xnde = Xpath_.SelectFirst(xdoc.Root(), "query");
XmlNde aliases_xnde = Xpath_.SelectFirst(query_xnde, "namespace"+"aliases");
wiki.Alias_ary_(Parse_alias_ary(aliases_xnde));

View File

@@ -135,7 +135,7 @@ class Xob_subpage_tst_fxt {
int ns_len = wiki.Ns_list().Count();
for (int i = 0; i < ns_len; i++) {
Xob_subpage_ns ns = (Xob_subpage_ns)wiki.Ns_list().Get_at(i);
sb.Add(ns.Id()).Add("=").Add(Bool_.Xto_str_lower(ns.Enabled())).Add_char_nl();
sb.Add(ns.Id()).Add("=").Add(Bool_.To_str_lower(ns.Enabled())).Add_char_nl();
}
sb.Add_char_nl();
}

View File

@@ -21,7 +21,7 @@ public class Xoi_wiki_props_ns {
public boolean Subpages_enabled() {return subpages_enabled;} private boolean subpages_enabled;
public Xoi_wiki_props_ns Init_by_ctor(int id, boolean subpages_enabled) {this.id = id; this.subpages_enabled = subpages_enabled; return this;}
public void Init_by_xml(gplx.xmls.XmlNde ns_nde) {
this.id = Int_.parse_(ns_nde.Atrs().FetchValOr("id", "-1"));
this.id = Int_.parse(ns_nde.Atrs().FetchValOr("id", "-1"));
this.subpages_enabled = ns_nde.Atrs().Fetch_or_null("subpages") != null;// per api, subpages="" means ns has subpages; no subpages attribute means no subpages
}
}

View File

@@ -31,7 +31,7 @@ public class Xob_siteinfo_parser {
finally {rdr.Rls();}
}
public static void Siteinfo_parse(Xowe_wiki wiki, Gfo_usr_dlg usr_dlg, String siteinfo_str) {
XmlDoc xdoc = XmlDoc_.parse_(siteinfo_str);
XmlDoc xdoc = XmlDoc_.parse(siteinfo_str);
XmlNde root = xdoc.Root();
int root_subs_len = root.SubNdes().Count();
Bry_bfr siteinfo_misc_bfr = Bry_bfr.reset_(512);
@@ -74,8 +74,8 @@ public class Xob_siteinfo_parser {
XmlNde sub_nde = ns_nde.SubNdes().Get_at(i);
if (sub_nde.Atrs().Count() == 0) continue; // NOTE: JAVA again has unexpected nodes
try {
int ns_id = Int_.parse_(sub_nde.Atrs().FetchValOr("key", ""));
byte case_match = Xow_ns_case_.parse_(sub_nde.Atrs().FetchValOr("case", ""));
int ns_id = Int_.parse(sub_nde.Atrs().FetchValOr("key", ""));
byte case_match = Xow_ns_case_.parse(sub_nde.Atrs().FetchValOr("case", ""));
String name = sub_nde.Text_inner();
ns_mgr.Add_new(ns_id, Bry_.new_u8(name), case_match, false);
}