1
0
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:
gnosygnu
2015-10-18 22:17:57 -04:00
parent 8e18af05b6
commit 4f43f51b18
1935 changed files with 12500 additions and 12889 deletions

View File

@@ -86,7 +86,7 @@ public class Scrib_lib_language implements Scrib_lib {
boolean exists = false;
if ( lang_code != null // null check; protecting against Module passing in nil from lua
&& String_.Eq(lang_code, String_.Lower(lang_code)) // must be lower-case; REF.MW: $code === strtolower( $code )
&& Xol_lang_itm_.Exists(Bry_.new_a7(lang_code))
&& Xol_lang_stub_.Exists(Bry_.new_a7(lang_code))
)
exists = true;
return rslt.Init_obj(exists);
@@ -116,9 +116,9 @@ public class Scrib_lib_language implements Scrib_lib {
byte b = lang_code[i];
if (b == Byte_ascii.Dash) {}
else {
byte tid = Xol_lang_.Char_tid(b);
byte tid = Xol_lang_itm_.Char_tid(b);
switch (tid) {
case Xol_lang_.Char_tid_ltr_l: case Xol_lang_.Char_tid_ltr_u: case Xol_lang_.Char_tid_num:
case Xol_lang_itm_.Char_tid_ltr_l: case Xol_lang_itm_.Char_tid_ltr_u: case Xol_lang_itm_.Char_tid_num:
break;
default:
valid = false;
@@ -132,7 +132,7 @@ public class Scrib_lib_language implements Scrib_lib {
public boolean FetchLanguageName(Scrib_proc_args args, Scrib_proc_rslt rslt) {
byte[] lang_code = args.Pull_bry(0);
// byte[] trans_code = args.Get_bry_or_null(1); // TODO: FetchLanguageName("en", "fr") -> Anglais; WHEN: needs global database of languages;
Xol_lang_itm lang_itm = Xol_lang_itm_.Get_by_key(lang_code);
Xol_lang_stub lang_itm = Xol_lang_stub_.Get_by_key_or_null(lang_code);
return rslt.Init_obj(lang_itm == null ? String_.Empty : String_.new_u8(lang_itm.Canonical_name()));
}
public boolean FetchLanguageNames(Scrib_proc_args args, Scrib_proc_rslt rslt) {
@@ -142,13 +142,13 @@ public class Scrib_lib_language implements Scrib_lib {
}
public boolean GetFallbacksFor(Scrib_proc_args args, Scrib_proc_rslt rslt) {
byte[] lang_code = args.Pull_bry(0);
Xol_lang lang = core.App().Lang_mgr().Get_by_key(lang_code); if (lang == null) return rslt.Init_many_empty(); // lang is not valid; return empty array per MW;
Xol_lang_itm lang = core.App().Lang_mgr().Get_by(lang_code); if (lang == null) return rslt.Init_many_empty(); // lang is not valid; return empty array per MW;
return rslt.Init_bry_ary(lang.Fallback_bry_ary());
}
public boolean Lcfirst(Scrib_proc_args args, Scrib_proc_rslt rslt) {return Case_1st(args, rslt, Bool_.N);}
public boolean Ucfirst(Scrib_proc_args args, Scrib_proc_rslt rslt) {return Case_1st(args, rslt, Bool_.Y);}
private boolean Case_1st(Scrib_proc_args args, Scrib_proc_rslt rslt, boolean upper) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
byte[] word = args.Pull_bry(1);
Bry_bfr bfr = core.Wiki().Appe().Utl__bfr_mkr().Get_b128().Mkr_rls();
return rslt.Init_obj(lang.Case_mgr().Case_build_1st(bfr, upper, word, 0, word.length));
@@ -156,13 +156,13 @@ public class Scrib_lib_language implements Scrib_lib {
public boolean Lc(Scrib_proc_args args, Scrib_proc_rslt rslt) {return Case_all(args, rslt, Bool_.N);}
public boolean Uc(Scrib_proc_args args, Scrib_proc_rslt rslt) {return Case_all(args, rslt, Bool_.Y);}
private boolean Case_all(Scrib_proc_args args, Scrib_proc_rslt rslt, boolean upper) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
byte[] word = args.Pull_bry(1);
return rslt.Init_obj(lang.Case_mgr().Case_build(upper, word, 0, word.length));
}
public boolean CaseFold(Scrib_proc_args args, Scrib_proc_rslt rslt) {return Uc(args, rslt);} // REF.MW:Language.php!caseFold; http://www.w3.org/International/wiki/Case_folding
public boolean FormatNum(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
byte[] num = args.Xstr_bry_or_null(1);
boolean skip_commafy = false;
if (num != null) { // MW: if num present, check options table for noCommafy arg;
@@ -177,7 +177,7 @@ public class Scrib_lib_language implements Scrib_lib {
return rslt.Init_obj(rv);
}
public boolean FormatDate(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
byte[] fmt_bry = args.Pull_bry(1);
byte[] date_bry = args.Cast_bry_or_empty(2); // NOTE: optional empty is required b/c date is sometimes null; use Bry_.Empty b/c this is what Pft_func_time.ParseDate takes; DATE:2013-04-05
boolean utc = args.Cast_bool_or_n(3);
@@ -203,14 +203,14 @@ public class Scrib_lib_language implements Scrib_lib {
return rslt.Init_obj(rv);
}
public boolean ParseFormattedNumber(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
byte[] num = args.Xstr_bry_or_null(1);
if (num == null) return rslt.Init_null(); // ParseFormattedNumber can sometimes take 1 arg ({'en'}), or null arg ({'en', null}); return null (not ""); DATE:2014-01-07
byte[] rv = lang.Num_mgr().Raw(num);
return rslt.Init_obj(rv);
}
public boolean FormatDuration(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
long seconds = args.Pull_long(1);
KeyVal[] intervals_kv_ary = args.Cast_kv_ary_or_null(2);
Xol_duration_itm[] intervals = Xol_duration_itm_.Xto_itm_ary(intervals_kv_ary);
@@ -218,7 +218,7 @@ public class Scrib_lib_language implements Scrib_lib {
return rslt.Init_obj(rv);
}
public boolean GetDurationIntervals(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
long seconds = args.Pull_long(1);
KeyVal[] intervals_kv_ary = args.Cast_kv_ary_or_null(2);
Xol_duration_itm[] intervals = Xol_duration_itm_.Xto_itm_ary(intervals_kv_ary);
@@ -226,14 +226,14 @@ public class Scrib_lib_language implements Scrib_lib {
return rslt.Init_obj(Xol_interval_itm.Xto_kv_ary(rv));
}
public boolean ConvertPlural(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
int count = args.Pull_int(1);
byte[][] words = args.Cast_params_as_bry_ary_or_rest_of_ary(2);
byte[] rv = lang.Plural().Plural_eval(lang, count, words);
return rslt.Init_obj(rv);
}
public boolean ConvertGrammar(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
byte[] word = args.Pull_bry(1);
byte[] type = args.Pull_bry(2);
Bry_bfr bfr = core.Wiki().Utl__bfr_mkr().Get_b512();
@@ -242,12 +242,12 @@ public class Scrib_lib_language implements Scrib_lib {
}
public boolean gender(Scrib_proc_args args, Scrib_proc_rslt rslt) {throw Err_.new_unimplemented();}
public boolean IsRTL(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Xol_lang lang = lang_(args);
Xol_lang_itm lang = lang_(args);
return rslt.Init_obj(!lang.Dir_ltr());
}
private Xol_lang lang_(Scrib_proc_args args) {
private Xol_lang_itm lang_(Scrib_proc_args args) {
byte[] lang_code = args.Cast_bry_or_null(0);
Xol_lang lang = lang_code == null ? null : core.App().Lang_mgr().Get_by_key_or_load(lang_code);
Xol_lang_itm lang = lang_code == null ? null : core.App().Lang_mgr().Get_by_or_load(lang_code);
if (lang == null) throw Err_.new_wo_type("lang_code is not valid", "lang_code", String_.new_u8(lang_code));
return lang;
}

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.xtns.scribunto.libs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.scribunto.*;
import org.junit.*;
import gplx.xowa.langs.*; import gplx.xowa.langs.numbers.*;
import gplx.xowa.langs.*; import gplx.xowa.langs.msgs.*; import gplx.xowa.langs.numbers.*;
public class Scrib_lib_language_tst {
@Before public void init() {
fxt.Clear_for_lib();
@@ -49,7 +49,7 @@ public class Scrib_lib_language_tst {
fxt.Test_scrib_proc_str(lib, Scrib_lib_language.Invk_fetchLanguageName, Object_.Ary("enx"), "");
}
@Test public void GetFallbacksFor() {
Xol_lang other_lang = fxt.Core().App().Lang_mgr().Get_by_key_or_new(Bry_.new_a7("zh"));
Xol_lang_itm other_lang = fxt.Core().App().Lang_mgr().Get_by_or_new(Bry_.new_a7("zh"));
other_lang.Fallback_bry_(Bry_.new_a7("gan-hant, zh-hant, zh-hans"));
fxt.Test_scrib_proc_str_ary(lib, Scrib_lib_language.Invk_getFallbacksFor, Object_.Ary("zh"), String_.Concat_lines_nl
( "1="
@@ -63,7 +63,7 @@ public class Scrib_lib_language_tst {
fxt.Test_scrib_proc_empty(lib, Scrib_lib_language.Invk_getFallbacksFor, Object_.Ary("unknown"));
}
@Test public void FormatNum() {
Xol_lang other_lang = fxt.Core().App().Lang_mgr().Get_by_key_or_new(Bry_.new_a7("de")).Init_by_load_assert(); // NOTE: must call Init_by_load_assert, else load will be called by scrib and sprs below will get overwritten during load;
Xol_lang_itm other_lang = fxt.Core().App().Lang_mgr().Get_by_or_new(Bry_.new_a7("de")).Init_by_load_assert(); // NOTE: must call Init_by_load_assert, else load will be called by scrib and sprs below will get overwritten during load;
fxt.Parser_fxt().Init_lang_numbers_separators(other_lang, ".", ",");
fxt.Test_scrib_proc_str(lib, Scrib_lib_language.Invk_formatNum, Object_.Ary("de", 1234), "1.234"); // german spr
fxt.Test_scrib_proc_str(lib, Scrib_lib_language.Invk_formatNum, Object_.Ary("en", 1234), "1,234"); // english spr
@@ -116,8 +116,8 @@ public class Scrib_lib_language_tst {
}
@Test public void IsRTL() {
fxt.Test_scrib_proc_bool(lib, Scrib_lib_language.Invk_isRTL, Object_.Ary("en"), false);
Xol_lang other_lang = fxt.Core().App().Lang_mgr().Get_by_key_or_new(Bry_.new_a7("ar"));
GfoInvkAble_.InvkCmd_val(other_lang, Xol_lang.Invk_dir_rtl_, true);
Xol_lang_itm other_lang = fxt.Core().App().Lang_mgr().Get_by_or_new(Bry_.new_a7("ar"));
GfoInvkAble_.InvkCmd_val(other_lang, Xol_lang_itm.Invk_dir_rtl_, true);
fxt.Test_scrib_proc_bool(lib, Scrib_lib_language.Invk_isRTL, Object_.Ary("ar"), true);
}
@Test public void Format_duration() {

View File

@@ -17,8 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.xtns.scribunto.libs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.scribunto.*;
import gplx.core.primitives.*; import gplx.langs.htmls.*;
import gplx.xowa.apps.gfss.*;
import gplx.xowa.langs.*;
import gplx.xowa.apps.gfs.*;
import gplx.xowa.langs.*; import gplx.xowa.langs.msgs.*;
import gplx.xowa.parsers.*;
public class Scrib_lib_message implements Scrib_lib {
public Scrib_lib_message(Scrib_core core) {this.core = core;} private Scrib_core core;
@@ -115,7 +115,7 @@ class Scrib_lib_message_data {
if (Bry_.Eq(lang_key, cur_lang) || Bry_.Len_eq_0(lang_key)) // if lang_key == core_lang then use wiki.msg_mgr; also same if lang_key == blank (arg not given)
return wiki.Msg_mgr().Val_by_key_args(msg_key, args);
else {
Xol_lang lang = wiki.Appe().Lang_mgr().Get_by_key_or_new(lang_key); lang.Init_by_load_assert();
Xol_lang_itm lang = wiki.Appe().Lang_mgr().Get_by_or_new(lang_key); lang.Init_by_load_assert();
Xol_msg_itm msg_itm = lang.Msg_mgr().Itm_by_key_or_null(msg_key); if (msg_itm == null) return Bry_.Empty;
return msg_itm.Val();
}

View File

@@ -28,7 +28,7 @@ public class Scrib_lib_message_tst {
fxt.Test_scrib_proc_str(lib, Scrib_lib_message.Invk_plain, Object_.Ary((Object)keys_ary_arg("redirectedfrom", "A")) , "(Redirected from A)");
}
@Test public void Plain_lang() {
Xol_lang lang = fxt.Parser_fxt().Wiki().Appe().Lang_mgr().Get_by_key_or_new(Bry_.new_a7("fr"));
Xol_lang_itm lang = fxt.Parser_fxt().Wiki().Appe().Lang_mgr().Get_by_or_new(Bry_.new_a7("fr"));
Init_msg(lang, "sun", "dim");
fxt.Test_scrib_proc_str(lib, Scrib_lib_message.Invk_plain, Object_.Ary((Object)keys_ary_lang("sun", "fr")) , "dim");
}
@@ -55,7 +55,7 @@ public class Scrib_lib_message_tst {
fxt.Test_scrib_proc_str(lib, Scrib_lib_message.Invk_init_message_for_lang, Object_.Ary_empty , "lang=en");
}
private void Init_msg(String key, String val) {Init_msg(fxt.Core().Wiki().Lang(), key, val);}
private void Init_msg(Xol_lang lang, String key, String val) {
private void Init_msg(Xol_lang_itm lang, String key, String val) {
lang.Msg_mgr().Itm_by_key_or_new(Bry_.new_a7(key)).Atrs_set(Bry_.new_a7(val), false, false);
}
KeyVal[] keys_ary(String msg_key) {return keys_ary(msg_key, null, null);}

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.xtns.scribunto.libs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.scribunto.*;
import gplx.core.primitives.*;
import gplx.xowa.langs.*;
import gplx.xowa.langs.*; import gplx.xowa.langs.funcs.*;
import gplx.xowa.parsers.*; import gplx.xowa.parsers.tmpls.*;
public class Scrib_lib_mw implements Scrib_lib {
private Scrib_core core; private Scrib_fsys_mgr fsys_mgr;
@@ -117,13 +117,13 @@ public class Scrib_lib_mw implements Scrib_lib {
//frame.Args_eval_by_idx(core.Ctx().Src(), idx_int); // NOTE: arg[0] is always MW function name; EX: {{#invoke:Mod_0|Func_0|Arg_1}}; arg_x = "Mod_0"; args[0] = "Func_0"; args[1] = "Arg_1"
if (nde == null) return rslt.Init_ary_empty();
nde.Val_tkn().Tmpl_evaluate(ctx, src, core.Frame_parent(), tmp_bfr);
return rslt.Init_obj(tmp_bfr.Xto_str_and_clear());
return rslt.Init_obj(tmp_bfr.To_str_and_clear());
}
else {
Arg_nde_tkn nde = frame.Args_get_by_key(src, Bry_.new_u8(idx_str));
if (nde == null) return rslt.Init_ary_empty(); // idx_str does not exist;
nde.Val_tkn().Tmpl_evaluate(ctx, src, core.Frame_parent(), tmp_bfr);
return rslt.Init_obj(tmp_bfr.Xto_str_and_clear_and_trim()); // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY
return rslt.Init_obj(tmp_bfr.To_str_and_clear_and_trim()); // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY
}
}
private Arg_nde_tkn Get_arg(Xot_invk invk, int idx, int frame_arg_adj) { // DUPE:MW_ARG_RETRIEVE
@@ -191,15 +191,17 @@ public class Scrib_lib_mw implements Scrib_lib {
else { // key exists; EX:{{a|key=val}}
key_as_int = Bry_.To_int_or(tmp_bfr.Bfr(), 0, tmp_bfr.Len(), Int_.Min_value);
if (key_as_int == Int_.Min_value) { // key is not int; create str
key_as_str = tmp_bfr.Xto_str_and_clear();
key_as_str = tmp_bfr.To_str_and_clear();
key_is_str = true;
}
else { // key is int; must return int for key b/c lua treats table[1] different than table["1"]; DATE:2014-02-13
tmp_bfr.Clear(); // must clear bfr, else key will be added to val;
}
}
// ctx.Scribunto = Bool_.Y; // CHART
nde.Val_tkn().Tmpl_evaluate(ctx, src, parent_frame, tmp_bfr);
String val = key_missing ? tmp_bfr.Xto_str_and_clear() : tmp_bfr.Xto_str_and_clear_and_trim(); // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY
// ctx.Scribunto = Bool_.N;
String val = key_missing ? tmp_bfr.To_str_and_clear() : tmp_bfr.To_str_and_clear_and_trim(); // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY
KeyVal kv = key_is_str ? KeyVal_.new_(key_as_str, val) : KeyVal_.int_(key_as_int, val);
rv.Add(kv);
}
@@ -230,10 +232,10 @@ public class Scrib_lib_mw implements Scrib_lib {
for (int i = 0; i < args_len; i++) {
Arg_nde_tkn arg = frame.Args_get_by_idx(i + args_adj);
arg.Key_tkn().Tmpl_evaluate(ctx, src, frame, tmp_bfr);
String key = tmp_bfr.Xto_str_and_clear();
if (String_.Eq(key, "")) key = Int_.Xto_str(i);
String key = tmp_bfr.To_str_and_clear();
if (String_.Eq(key, "")) key = Int_.To_str(i);
arg.Val_tkn().Tmpl_evaluate(ctx, src, parent_frame, tmp_bfr); // NOTE: must evaluate against parent_frame; evaluating against current frame may cause stack-overflow; DATE:2013-04-04
String val = tmp_bfr.Xto_str_and_clear();
String val = tmp_bfr.To_str_and_clear();
kv_args[i] = KeyVal_.new_(key, val);
}
Xot_invk_mock mock_frame = Xot_invk_mock.new_(Bry_.new_u8(frame_id), kv_args); // use frame_id for Frame_ttl; in lieu of a better candidate; DATE:2014-09-21
@@ -252,7 +254,7 @@ public class Scrib_lib_mw implements Scrib_lib {
Bry_obj_ref fnc_name_ref = Bry_obj_ref.new_(fnc_name);
KeyVal[] parser_func_args = CallParserFunction_parse_args(cur_wiki.Appe().Utl_num_parser(), argx_ref, fnc_name_ref, args.Ary());
Xot_invk_mock frame = Xot_invk_mock.new_(parent_frame.Defn_tid(), 0, fnc_name, parser_func_args); // pass something as frame_ttl; choosng fnc_name; DATE:2014-09-21
Xol_func_name_itm finder = cur_wiki.Lang().Func_regy().Find_defn(fnc_name, 0, fnc_name_len);
Xol_func_itm finder = cur_wiki.Lang().Func_regy().Find_defn(fnc_name, 0, fnc_name_len);
Xot_defn defn = finder.Func();
if (defn == Xot_defn_.Null) throw Err_.new_wo_type("callParserFunction: function was not found", "function", String_.new_u8(fnc_name));
Bry_bfr bfr = cur_wiki.Utl__bfr_mkr().Get_k004();
@@ -260,7 +262,7 @@ public class Scrib_lib_mw implements Scrib_lib {
fnc_ctx.Parse_tid_(Xop_parser_.Parse_tid_page_tmpl); // default xnde names to template; needed for test, but should be in place; DATE:2014-06-27
Xot_invk_tkn.Eval_func(fnc_ctx, src, parent_frame, frame, bfr, defn, argx_ref.Val());
bfr.Mkr_rls();
return rslt.Init_obj(bfr.Xto_str_and_clear());
return rslt.Init_obj(bfr.To_str_and_clear());
}
private KeyVal[] CallParserFunction_parse_args(Number_parser num_parser, Bry_obj_ref argx_ref, Bry_obj_ref fnc_name_ref, KeyVal[] args) {
List_adp rv = List_adp_.new_();
@@ -279,7 +281,7 @@ public class Scrib_lib_mw implements Scrib_lib {
else
rv.Add(arg);
}
rv.Sort_by(Scrib_lib_mw_callParserFunction_sorter._);
rv.Sort_by(Scrib_lib_mw_callParserFunction_sorter.Instance);
// get argx
byte[] fnc_name = fnc_name_ref.Val();
int fnc_name_len = fnc_name.length;
@@ -359,7 +361,7 @@ public class Scrib_lib_mw implements Scrib_lib {
}
KeyVal[] args_ary = args.Pull_kv_ary(2);
Xot_invk_mock new_frame = Xot_invk_mock.new_(core.Frame_current().Defn_tid(), 0, ttl.Full_txt(), args_ary); // NOTE: use spaces, not unders; REF.MW:$frame->getTitle()->getPrefixedText(); DATE:2014-08-14
String new_frame_id = "frame" + Int_.Xto_str(frame_list_len);
String new_frame_id = "frame" + Int_.To_str(frame_list_len);
frame_list.Add(new_frame_id, new_frame);
return rslt.Init_obj(new_frame_id);
}
@@ -390,5 +392,5 @@ class Scrib_lib_mw_callParserFunction_sorter implements gplx.lists.ComparerAble
else // both are strings
return String_.Compare(String_.cast(lhs_key), String_.cast(rhs_key));
}
public static final Scrib_lib_mw_callParserFunction_sorter _ = new Scrib_lib_mw_callParserFunction_sorter(); Scrib_lib_mw_callParserFunction_sorter() {}
public static final Scrib_lib_mw_callParserFunction_sorter Instance = new Scrib_lib_mw_callParserFunction_sorter(); Scrib_lib_mw_callParserFunction_sorter() {}
}

View File

@@ -16,8 +16,8 @@ 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.scribunto.libs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.scribunto.*;
import gplx.xowa.langs.*;
import gplx.xowa.nss.*;
import gplx.xowa.langs.*; import gplx.xowa.langs.msgs.*;
import gplx.xowa.wikis.nss.*;
import gplx.xowa.wikis.metas.*; import gplx.xowa.wikis.xwikis.*;
public class Scrib_lib_site implements Scrib_lib {
public Scrib_lib_site(Scrib_core core) {this.core = core;} private Scrib_core core;

View File

@@ -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.scribunto.libs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.scribunto.*;
import org.junit.*; import gplx.xowa.nss.*;
import org.junit.*; import gplx.xowa.wikis.nss.*;
public class Scrib_lib_site_tst {
@Before public void init() {
fxt.Clear_for_lib();

View File

@@ -62,6 +62,6 @@ class Scrib_lib_text_ {
}
}
bfr.Add(Colon_encoded);
return KeyVal_.new_(itm.Key_wo_colon_str(), bfr.Xto_str_and_clear());
return KeyVal_.new_(itm.Key_wo_colon_str(), bfr.To_str_and_clear());
} private static final byte[] Colon_encoded = Bry_.new_a7("&#58;");
}

View File

@@ -22,7 +22,7 @@ class Scrib_lib_text__json_util {
public void Reindex_arrays(Scrib_lib_text__reindex_data rv, KeyVal[] kv_ary, boolean is_encoding) {
int next = 0;
if (is_encoding) {
Array_.Sort(kv_ary, KeyVal__sorter__key_is_numeric.I);
Array_.Sort(kv_ary, KeyVal__sorter__key_is_numeric.Instance);
next = 1;
}
boolean is_sequence = true;
@@ -196,7 +196,7 @@ class KeyVal__sorter__key_is_numeric implements gplx.lists.ComparerAble {
int rhs_int = Int_.parse_or(rhs_itm.Key(), Int_.Min_value);
return CompareAble_.Compare(lhs_int, rhs_int);
}
public static final KeyVal__sorter__key_is_numeric I = new KeyVal__sorter__key_is_numeric(); KeyVal__sorter__key_is_numeric() {}
public static final KeyVal__sorter__key_is_numeric Instance = new KeyVal__sorter__key_is_numeric(); KeyVal__sorter__key_is_numeric() {}
}
class Scrib_lib_text__reindex_data {
public boolean Rv_is_kvy() {return rv_is_kvy;} private boolean rv_is_kvy;

View File

@@ -17,10 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.xtns.scribunto.libs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.scribunto.*;
import gplx.core.primitives.*;
import gplx.xowa.nss.*;
import gplx.xowa.wikis.nss.*;
import gplx.xowa.wikis.caches.*; import gplx.xowa.xtns.pfuncs.ttls.*; import gplx.xowa.wikis.xwikis.*; import gplx.xowa.wikis.data.tbls.*;
import gplx.xowa.files.commons.*; import gplx.xowa.files.origs.*;
import gplx.xowa.wms.apis.*;
import gplx.xowa.bldrs.wms.apis.*;
public class Scrib_lib_title implements Scrib_lib {
public Scrib_lib_title(Scrib_core core) {this.core = core;} private Scrib_core core;
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;

View File

@@ -22,7 +22,7 @@ import gplx.fsdb.*;
import gplx.xowa.wikis.domains.*; import gplx.xowa.files.*; import gplx.xowa.files.origs.*; import gplx.xowa.files.repos.*; import gplx.xowa.wikis.ttls.*;
public class Scrib_lib_title_tst {
@Before public void init() {
Db_conn_bldr.I.Reg_default_mem();
Db_conn_bldr.Instance.Reg_default_mem();
fxt.Clear_for_lib();
fxt.Core().Wiki().File__fsdb_mode().Tid_v2_bld_y_();
lib = fxt.Core().Lib_title().Init();
@@ -46,7 +46,7 @@ public class Scrib_lib_title_tst {
fxt.Test_scrib_proc_str_ary(lib, Scrib_lib_title.Invk_makeTitle, Object_.Ary("Module", "A") , ttl_fast(828, "Module", "A"));
fxt.Test_scrib_proc_str_ary(lib, Scrib_lib_title.Invk_makeTitle, Object_.Ary(828, "A") , ttl_fast(828, "Module", "A"));
fxt.Test_scrib_proc_str_ary(lib, Scrib_lib_title.Invk_makeTitle, Object_.Ary("Template", "A", "b") , ttl_fast(10, "Template", "A", "b"));
fxt.Parser_fxt().Wiki().Xwiki_mgr().Add_full("fr", "fr.wikipedia.org");
fxt.Parser_fxt().Wiki().Xwiki_mgr().Add_by_atrs("fr", "fr.wikipedia.org");
fxt.Test_scrib_proc_str_ary(lib, Scrib_lib_title.Invk_makeTitle, Object_.Ary("Template", "A", "b", "fr") , ttl_fast(0, "", "Template:A", "b", "fr"));
fxt.Parser_fxt().Init_log_(Xop_ttl_log.Invalid_char);
fxt.Test_scrib_proc_str_ary(lib, Scrib_lib_title.Invk_makeTitle, Object_.Ary("Template", "a[b"), Scrib_invoke_func_fxt.Null_rslt_ary); // PURPOSE: handle bad MakeTitle cmds; PAGE:en.w:Disney; DATE:2013-10-15
@@ -99,7 +99,7 @@ public class Scrib_lib_title_tst {
private static void Wiki_orig_tbl__create(Xowe_wiki wiki) {
Xowe_wiki_.Create(wiki, 1, "dump.xml");
Xowd_db_file text_db = wiki.Data__core_mgr().Dbs__make_by_tid(Xowd_db_file_.Tid_text); text_db.Tbl__text().Create_tbl();
Fsdb_db_mgr__v2_bldr.I.Get_or_make(wiki, Bool_.Y);
Fsdb_db_mgr__v2_bldr.Instance.Get_or_make(wiki, Bool_.Y);
wiki.File_mgr().Init_file_mgr_by_load(wiki);
}
private static void Wiki_orig_tbl__insert(Xowe_wiki wiki, String ttl_str, int w, int h) {
@@ -109,7 +109,7 @@ public class Scrib_lib_title_tst {
// private static void Init_page_regy(Xowe_wiki wiki, String ttl, int id, boolean is_redirect) {
// String url_str = "test/en.wikipedia.org/wiki_page_regy";
// Db_meta_tbl meta = new Xowd_page_tbl().new_meta();
// Db_conn_pool.I.Set_mem(url_str, meta);
// Db_conn_pool.Instance.Set_mem(url_str, meta);
// Db_conn_info url = Db_conn_info_.mem_(url_str);
// Xowd_page_tbl tbl = new Xowd_page_tbl(Bool_.N, url);
// tbl.Insert(id, ns_id, Bry_.new_u8(ttl), is_redirect, modified_on, page_len, random_int, text_db_id, html_db_id);
@@ -122,7 +122,7 @@ public class Scrib_lib_title_tst {
( "1="
, " isLocal=true"
, " interwiki=" + xwiki
, " namespace=" + Int_.Xto_str(ns_id)
, " namespace=" + Int_.To_str(ns_id)
, " nsText=" + ns_str
, " text=" + ttl
, " fragment=" + anchor
@@ -134,7 +134,7 @@ public class Scrib_lib_title_tst {
return String_.Concat_lines_nl_skip_last
( "1="
, " isRedirect=" + Bool_.To_str_lower(redirect)
, " id=" + Int_.Xto_str(ttl_id)
, " id=" + Int_.To_str(ttl_id)
, " contentModel=" + Scrib_lib_title.Key_wikitexet
, " exists=" + Bool_.To_str_lower(exists)
);
@@ -149,8 +149,8 @@ public class Scrib_lib_title_tst {
return String_.Concat_lines_nl_skip_last
( "1="
, " exists=true"
, " width=" + Int_.Xto_str(w)
, " height=" + Int_.Xto_str(h)
, " width=" + Int_.To_str(w)
, " height=" + Int_.To_str(h)
, " pages=<<NULL>>"
);
}

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.xtns.scribunto.libs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.scribunto.*;
import gplx.xowa.xtns.pfuncs.ttls.*;
import gplx.xowa.nss.*;
import gplx.xowa.wikis.nss.*;
import gplx.xowa.parsers.*;
public class Scrib_lib_uri implements Scrib_lib {
public Scrib_lib_uri(Scrib_core core) {this.core = core;} private Scrib_core core;
@@ -63,7 +63,7 @@ public class Scrib_lib_uri implements Scrib_lib {
if (ttl.Ns().Id() == Xow_ns_.Id_media) { // change "Media:" -> "File:"
bfr.Add(wiki.Ns_mgr().Ns_file().Name_db_w_colon());
bfr.Add(ttl.Page_db());
ttl_bry = bfr.Xto_bry_and_clear();
ttl_bry = bfr.To_bry_and_clear();
}
Pfunc_urlfunc.UrlString(core.Ctx(), url_tid, false, ttl_bry, bfr, qry_bry);
return rslt.Init_obj(bfr.To_str_and_rls());

View File

@@ -143,7 +143,7 @@ public class Scrib_lib_ustring implements Scrib_lib {
if ( j < capts_len // bounds check b/c null can be passed
&& Bool_.cast(capts[j].Val()) // check if true; indicates that group is "()" or "anypos" see regex converter; DATE:2014-04-23
)
tmp_list.Add(Int_.Xto_str(grp.Bgn() + Scrib_lib_ustring.Base1)); // return index only for (); NOTE: always return as String; callers expect String, and may do operations like len(result), which will fail if int; DATE:2013-12-20
tmp_list.Add(Int_.To_str(grp.Bgn() + Scrib_lib_ustring.Base1)); // return index only for (); NOTE: always return as String; callers expect String, and may do operations like len(result), which will fail if int; DATE:2013-12-20
else
tmp_list.Add(grp.Val()); // return match
}
@@ -190,7 +190,7 @@ class Scrib_lib_ustring_gsub_mgr {
}
else if (Object_.Eq(repl_type, Int_.Cls_ref_type)) { // NOTE:@replace sometimes int; PAGE:en.d:λύω; DATE:2014-09-02
tmp_repl_tid = Repl_tid_string;
tmp_repl_bry = Bry_.new_u8(Int_.Xto_str(Int_.cast(repl_obj)));
tmp_repl_bry = Bry_.new_u8(Int_.To_str(Int_.cast(repl_obj)));
}
else if (Object_.Eq(repl_type, KeyVal[].class)) {
tmp_repl_tid = Repl_tid_table;
@@ -232,7 +232,7 @@ class Scrib_lib_ustring_gsub_mgr {
int text_len = String_.Len(text);
if (pos < text_len)
tmp_bfr.Add_str(String_.Mid(text, pos, text_len)); // NOTE: regx returns char pos (not bry); must add as String, not bry; DATE:2013-07-17
return tmp_bfr.Xto_str_and_clear();
return tmp_bfr.To_str_and_clear();
}
private void Exec_repl_itm(Bry_bfr tmp_bfr, byte repl_tid, byte[] repl_bry, String text, Regx_match match) {
switch (repl_tid) {

View File

@@ -94,7 +94,7 @@ class Scrib_lib_wikibase_srl {
KeyVal[] rv = new KeyVal[rv_len];
for (int i = 0; i < len; i++) {
Wdata_claim_grp grp = (Wdata_claim_grp)claim_grps.Get_at(i);
String pid_str = Int_.Xto_str(grp.Id());
String pid_str = Int_.To_str(grp.Id());
KeyVal[] grp_val = Srl_claims_prop_grp("P" + pid_str, grp, base_adj);
rv[i] = KeyVal_.new_("P" + pid_str, grp_val);
if (legacy_style)

View File

@@ -395,7 +395,7 @@ class Scrib_lib_wikibase_srl_fxt {
private String Xto_str(KeyVal[] ary) {
Bry_bfr bfr = Bry_bfr.new_();
Xto_str(bfr, ary, 0);
return bfr.Xto_str_and_clear();
return bfr.To_str_and_clear();
}
private void Xto_str(Bry_bfr bfr, KeyVal[] ary, int depth) {
int len = ary.length;

View File

@@ -33,7 +33,7 @@ class Scrib_lib_wikibase_srl_visitor implements Wdata_claim_visitor {
Wdata_claim_itm_entity claim_entity = (Wdata_claim_itm_entity)itm;
KeyVal[] rv = new KeyVal[2];
rv[0] = KeyVal_.new_(Wdata_dict_value_entity.Str_entity_type, claim_entity.Entity_tid_str());
rv[1] = KeyVal_.new_(Wdata_dict_value_entity.Str_numeric_id, Int_.Xto_str(claim_entity.Entity_id()));
rv[1] = KeyVal_.new_(Wdata_dict_value_entity.Str_numeric_id, Int_.To_str(claim_entity.Entity_id()));
return rv;
}
public void Visit_monolingualtext(Wdata_claim_itm_monolingualtext itm) {

View File

@@ -44,7 +44,7 @@ public class Scrib_regx_converter {
bfr.Add(q_flag ? Bry_dollar_escaped : Bry_dollar_literal);
break;
case Byte_ascii.Paren_bgn: {
if (i + 1 >= len) throw Err_.new_wo_type("Unmatched open-paren at pattern character " + Int_.Xto_str(i));
if (i + 1 >= len) throw Err_.new_wo_type("Unmatched open-paren at pattern character " + Int_.To_str(i));
boolean capt_itm = src[i + 1] == Byte_ascii.Paren_end; // current is "()"
++grps_len;
capt_list.Add(KeyVal_.int_(grps_len, capt_itm));
@@ -55,7 +55,7 @@ public class Scrib_regx_converter {
}
case Byte_ascii.Paren_end:
if (grps_open.Count() == 0)
throw Err_.new_wo_type("Unmatched close-paren at pattern character " + Int_.Xto_str(i));
throw Err_.new_wo_type("Unmatched close-paren at pattern character " + Int_.To_str(i));
List_adp_.DelAt_last(grps_open);
bfr.Add_byte(Byte_ascii.Paren_end);
break;
@@ -90,8 +90,8 @@ public class Scrib_regx_converter {
}
synchronized (fmtr_balanced) {
++bct;
fmtr_balanced.Bld_bfr(bfr_balanced, Int_.Xto_bry(bct), Byte_.Ary(char_0), Byte_.Ary(char_1));
bfr.Add(bfr_balanced.Xto_bry_and_clear());
fmtr_balanced.Bld_bfr(bfr_balanced, Int_.To_bry(bct), Byte_.Ary(char_0), Byte_.Ary(char_1));
bfr.Add(bfr_balanced.To_bry_and_clear());
}
}
break;
@@ -116,7 +116,7 @@ public class Scrib_regx_converter {
case Byte_ascii.Num_5: case Byte_ascii.Num_6: case Byte_ascii.Num_7: case Byte_ascii.Num_8: case Byte_ascii.Num_9:
grps_len = nxt - Byte_ascii.Num_0;
if (grps_len == 0 || grps_len > capt_list.Count() || grps_open_Has(grps_open, grps_len))
throw Err_.new_wo_type("invalid capture index %" + grps_len + " at pattern character " + Int_.Xto_str(i));
throw Err_.new_wo_type("invalid capture index %" + grps_len + " at pattern character " + Int_.To_str(i));
bfr.Add(Bry_bf2_seg_0).Add_int_variable(grps_len);//.Add(Bry_bf2_seg_1); // $bfr .= "\\g{m$grps_len}";
break;
default:
@@ -130,7 +130,7 @@ public class Scrib_regx_converter {
i = bracketedCharSetToRegex(bfr, src, i, len);
q_flag = true;
break;
case Byte_ascii.Brack_end: throw Err_.new_wo_type("Unmatched close-bracket at pattern character " + Int_.Xto_str(i));
case Byte_ascii.Brack_end: throw Err_.new_wo_type("Unmatched close-bracket at pattern character " + Int_.To_str(i));
case Byte_ascii.Dot:
q_flag = true;
bfr.Add_byte(Byte_ascii.Dot);
@@ -158,7 +158,7 @@ public class Scrib_regx_converter {
}
if (grps_open.Count() > 0) throw Err_.new_wo_type("Unclosed capture beginning at pattern character " + Int_.cast(grps_open.Get_at(0)));
// bfr.Add(Bry_regx_end); // NOTE: do not add PHP /us at end; u=PCRE_UTF8 which is not needed for Java; s=PCRE_DOTALL which will be specified elsewhere
regx = bfr.Xto_str_and_clear();
regx = bfr.To_str_and_clear();
return regx;
} private Bry_bfr bfr = Bry_bfr.new_();
private int bracketedCharSetToRegex(Bry_bfr bfr, byte[] src, int i, int len) {