Wikibase: Add namespacing to Scribunto libraries [#551]

pull/620/head
gnosygnu 5 years ago
parent 2598dee844
commit 9bc0c2c75d

@ -19,6 +19,7 @@ import gplx.xowa.xtns.pfuncs.exprs.*;
import gplx.xowa.xtns.scribunto.procs.*;
public class Flagged_revs_lib implements Scrib_lib {
private Scrib_core core;
public String Key() {return "mw.ext.FlaggedRevs";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public Scrib_lib Core_(Scrib_core v) {this.core = v; return this;} // TEST:

@ -20,6 +20,7 @@ public class Jscfg_scrib_lib implements Scrib_lib {
private final Scrib_lib_text__json_util json_util = new Scrib_lib_text__json_util();
private final Jscfg_localizer localizer = new Jscfg_localizer();
private Scrib_core core;
public String Key() {return "JCLuaLibrary";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public void Core_(Scrib_core v) {this.core = v;} // TEST:

@ -19,6 +19,7 @@ import gplx.xowa.xtns.pfuncs.exprs.*;
import gplx.xowa.xtns.scribunto.procs.*;
public class Pfunc_scrib_lib implements Scrib_lib {
private Scrib_core core;
public String Key() {return "mw.ext.ParserFunctions";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public void Core_(Scrib_core v) {this.core = v;} // TEST:

@ -114,7 +114,7 @@ public class Scrib_core_fxt {
}
public Scrib_core_fxt Test_GetExpandedArgument(Keyval[] args, String arg, String expd) {// NOTE: test is rigidly defined; (a) always same 3 arguments in frame; (b) expd={"val_1", "val_2", "val_3", ""}
this.Expd_server_rcvd_add("0000003D00000079{[\"op\"]=\"call\",[\"id\"]=8,[\"nargs\"]=1,[\"args\"]={[1]=chunks[9]}}")
.Init_server_prep_add("a:4:{s:2:\"id\";s:32:\"mw_interface-getExpandedArgument\";s:2:\"op\";s:4:\"call\";s:5:\"nargs\";i:2;s:4:\"args\";a:2:{i:1;s:7:\"current\";i:2;s:" + String_.Len(arg) + ":\"" + arg + "\";}}");
.Init_server_prep_add("a:4:{s:2:\"id\";s:32:\"mwInit|getExpandedArgument\";s:2:\"op\";s:4:\"call\";s:5:\"nargs\";i:2;s:4:\"args\";a:2:{i:1;s:7:\"current\";i:2;s:" + String_.Len(arg) + ":\"" + arg + "\";}}");
if (String_.Eq(expd, ""))
this.Expd_server_rcvd_add("0000002D00000059{[\"op\"]=\"return\",[\"nvalues\"]=0,[\"values\"]={}}");
else

@ -37,9 +37,9 @@ public class Scrib_core_tst {
;
}
@Test public void RegisterLibrary() {
fxt .Expd_server_rcvd_add("00000080000000FF{[\"op\"]=\"registerLibrary\",[\"name\"]=\"mw_interface\",[\"functions\"]={[\"prc_0\"]=\"mw_interface-prc_0\",[\"prc_1\"]=\"mw_interface-prc_1\"}}")
fxt .Expd_server_rcvd_add("00000074000000E7{[\"op\"]=\"registerLibrary\",[\"name\"]=\"mw_interface\",[\"functions\"]={[\"prc_0\"]=\"mwInit|prc_0\",[\"prc_1\"]=\"mwInit|prc_1\"}}")
.Init_server_prep_add("a:3:{s:2:\"op\";s:6:\"return\";s:7:\"nvalues\";i:0;s:6:\"values\";a:0:{}}")
.Test_RegisterLibrary(String_.Ary("prc_0", "prc_1"), String_.Ary("mw_interface-prc_0", "mw_interface-prc_1"))
.Test_RegisterLibrary(String_.Ary("prc_0", "prc_1"), String_.Ary("mwInit|prc_0", "mwInit|prc_1"))
;
}
@Test public void LoadLibraryFromFile() {
@ -55,13 +55,13 @@ public class Scrib_core_tst {
;
}
@Test public void CallFunction_cbk() { // PURPOSE: 'simulates interpreter.CallFunction(mw_lib.Fncs_get_by_key("setup").Id(), "allowEnvFuncs", allow_env_funcs);'
fxt .Expd_server_rcvd_add("0000008C00000117{[\"op\"]=\"registerLibrary\",[\"name\"]=\"mw_interface\",[\"functions\"]={[\"loadPackage\"]=\"mw_interface-loadPackage\",[\"prc_1\"]=\"mw_interface-prc_1\"}}")
fxt .Expd_server_rcvd_add("00000080000000FF{[\"op\"]=\"registerLibrary\",[\"name\"]=\"mw_interface\",[\"functions\"]={[\"loadPackage\"]=\"mwInit|loadPackage\",[\"prc_1\"]=\"mwInit|prc_1\"}}")
.Init_server_prep_add("a:3:{s:2:\"op\";s:6:\"return\";s:7:\"nvalues\";i:0;s:6:\"values\";a:0:{}}")
.Test_RegisterLibrary(String_.Ary("loadPackage", "prc_1"), String_.Ary("mw_interface-loadPackage", "mw_interface-prc_1"))
.Test_RegisterLibrary(String_.Ary("loadPackage", "prc_1"), String_.Ary("mwInit|loadPackage", "mwInit|prc_1"))
;
fxt .Init_lib_fil("package.lua", "package_text")
.Expd_server_rcvd_add("000000470000008D{[\"op\"]=\"call\",[\"id\"]=2,[\"nargs\"]=1,[\"args\"]={[1]={[\"key_0\"]=\"val_0\"}}}")
.Init_server_prep_add("a:4:{s:2:\"id\";s:24:\"mw_interface-loadPackage\";s:2:\"op\";s:4:\"call\";s:5:\"nargs\";i:1;s:4:\"args\";a:1:{i:1;s:7:\"package\";}}")
.Init_server_prep_add("a:4:{s:2:\"id\";s:18:\"mwInit|loadPackage\";s:2:\"op\";s:4:\"call\";s:5:\"nargs\";i:1;s:4:\"args\";a:1:{i:1;s:7:\"package\";}}")
.Expd_server_rcvd_add("0000004A00000093{[\"op\"]=\"loadString\",[\"text\"]=\"package_text\",[\"chunkName\"]=\"@package.lua\"}")
.Init_server_prep_add("a:3:{s:2:\"op\";s:6:\"return\";s:7:\"nvalues\";i:1;s:6:\"values\";a:1:{i:1;i:14;}}")
.Expd_server_rcvd_add("0000003B00000075{[\"op\"]=\"return\",[\"nvalues\"]=1,[\"values\"]={[1]=chunks[14]}}")

@ -36,7 +36,7 @@ public class Scrib_invoke_func_fxt {
fxt.Init_page_create("Module:Mod_0");
this.Init_lua_rcvd_loadModule();
}
public Scrib_invoke_func_fxt Init_cbk(String lib_name, Scrib_lib lib, String... proc_names) {
public Scrib_invoke_func_fxt Init_cbk(Scrib_lib lib, String... proc_names) {
int len = proc_names.length;
for (int i = 0; i < len; i++) {
String proc_name = proc_names[i];
@ -50,8 +50,8 @@ public class Scrib_invoke_func_fxt {
public Scrib_invoke_func_fxt Init_server_print_key_y_() {server.Print_key_(true); return this;}
public Scrib_invoke_func_fxt Init_server_print_key_n_() {server.Print_key_(false); return this;}
public Scrib_invoke_func_fxt Init_lua_rcvd_raw(String raw) {server.Prep_add(raw); return this;}
public Scrib_invoke_func_fxt Init_lua_rcvd(String cbk_name, Keyval... ary) {
server.Prep_add(rsp_bldr.Bld_mw_cbk(cbk_name, ary));
public Scrib_invoke_func_fxt Init_lua_rcvd(Scrib_lib lib, String cbk_name, Keyval... ary) {
server.Prep_add(rsp_bldr.Bld_mw_cbk(lib, cbk_name, ary));
return this;
}
public Scrib_invoke_func_fxt Init_lua_module() {
@ -63,13 +63,13 @@ public class Scrib_invoke_func_fxt {
return this;
}
public Scrib_invoke_func_fxt Init_lua_rcvd_preprocess(String frame, String cmd) {
server.Prep_add(String_.Concat_any("a:4:{s:2:\"id\";s:23:\"mw_interface-preprocess\";s:2:\"op\";s:4:\"call\";s:5:\"nargs\";i:2;s:4:\"args\";a:2:{i:1;s:", String_.Len(frame), ":\"", frame, "\";i:2;s:", String_.Len(cmd), ":\"", cmd, "\";}}"));
server.Prep_add(String_.Concat_any("a:4:{s:2:\"id\";s:17:\"mwInit|preprocess\";s:2:\"op\";s:4:\"call\";s:5:\"nargs\";i:2;s:4:\"args\";a:2:{i:1;s:", String_.Len(frame), ":\"", frame, "\";i:2;s:", String_.Len(cmd), ":\"", cmd, "\";}}"));
this.Init_lua_rcvd_rv();
return this;
}
public Scrib_invoke_func_fxt Init_lua_rcvd_expandTemplate(String frame, String tmpl_ttl, Keyval... ary) {
public Scrib_invoke_func_fxt Init_lua_rcvd_expandTemplate(Scrib_lib lib, String frame, String tmpl_ttl, Keyval... ary) {
ary = new Keyval[] {Keyval_.int_(1, "current"), Keyval_.int_(2, tmpl_ttl), Keyval_.int_(3, ary)};
server.Prep_add(rsp_bldr.Bld_mw_cbk("expandTemplate", ary));
server.Prep_add(rsp_bldr.Bld_mw_cbk(lib, "expandTemplate", ary));
this.Init_lua_rcvd_rv();
return this;
}
@ -96,8 +96,8 @@ public class Scrib_invoke_func_fxt {
}
private void Test_lib_proc_internal(Scrib_lib lib, String func_name, Keyval[] args) {
Init_lua_module();
this.Init_cbk(Scrib_core.Key_mw_interface, lib, func_name);
this.Init_lua_rcvd(func_name, args);
this.Init_cbk(lib, func_name);
this.Init_lua_rcvd(lib, func_name, args);
this.Init_lua_rcvd_rv();
}
public void Test_log_rcvd(int i, String expd) {
@ -199,8 +199,8 @@ public class Scrib_invoke_func_fxt {
}
class Scrib_lua_rsp_bldr {
Bry_bfr bfr = Bry_bfr_.Reset(255);
public String Bld_mw_cbk(String cbk_name, Keyval... ary) {
cbk_name = "mw_interface-" + cbk_name;
public String Bld_mw_cbk(Scrib_lib lib, String cbk_name, Keyval... ary) {
cbk_name = Scrib_proc.Build_key(lib, cbk_name);
bfr.Add_str_a7("a:4:{s:2:\"id\";");
Bld_str(bfr, cbk_name);
bfr.Add_str_a7("s:2:\"op\";s:4:\"call\";s:5:\"nargs\";i:3;s:4:\"args\";");

@ -16,6 +16,7 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt
package gplx.xowa.xtns.scribunto; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
import gplx.xowa.xtns.scribunto.procs.*;
public interface Scrib_lib {
String Key();
Scrib_proc_mgr Procs();
Scrib_lib Init();
Scrib_lua_mod Register(Scrib_core core, Io_url script_dir);

@ -17,6 +17,7 @@ package gplx.xowa.xtns.scribunto.libs; import gplx.*; import gplx.xowa.*; import
import gplx.xowa.xtns.scribunto.procs.*;
public class Scrib_lib_html implements Scrib_lib {
public Scrib_lib_html(Scrib_core core) {}
public String Key() {return "mw.html";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, String_.Ary_empty); return this;}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_html(core);}

@ -20,6 +20,7 @@ import gplx.xowa.xtns.pfuncs.times.*; import gplx.xowa.langs.numbers.*; import g
import gplx.xowa.xtns.scribunto.procs.*;
public class Scrib_lib_language implements Scrib_lib {
public Scrib_lib_language(Scrib_core core) {this.core = core;} private Scrib_core core;
public String Key() {return "mw.language";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_language(core);}

@ -21,6 +21,7 @@ import gplx.xowa.parsers.*;
import gplx.xowa.xtns.scribunto.procs.*;
public class Scrib_lib_message implements Scrib_lib {
public Scrib_lib_message(Scrib_core core) {this.core = core;} private Scrib_core core;
public String Key() {return "mw.message";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_message(core);}

@ -21,6 +21,7 @@ import gplx.xowa.xtns.scribunto.procs.*;
public class Scrib_lib_mw implements Scrib_lib {
private Scrib_core core; private Scrib_fsys_mgr fsys_mgr;
public Scrib_lib_mw(Scrib_core core) {this.core = core; this.fsys_mgr = core.Fsys_mgr();}
public String Key() {return "mwInit";}
public Scrib_lua_mod Mod() {return mod;} public void Mod_(Scrib_lua_mod v) {this.mod = v;} private Scrib_lua_mod mod;
public boolean Allow_env_funcs() {return allow_env_funcs;} private boolean allow_env_funcs = true;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}

@ -124,7 +124,7 @@ public class Scrib_lib_mw__invoke_tst {
private void Init_preprocess() {
fxt.Init_tmpl("{{#invoke:Mod_0|Func_0|1|c|d}}"); // current
fxt.Init_page("{{test|1|a|b|c}}"); // parent
fxt.Init_cbk(Scrib_core.Key_mw_interface, fxt.Core().Lib_mw(), Scrib_lib_mw.Invk_preprocess);
fxt.Init_cbk(fxt.Core().Lib_mw(), Scrib_lib_mw.Invk_preprocess);
}
private void Exec_preprocess(String frame, String arg_idx, String expd) {
fxt.Parser_fxt().Wiki().Cache_mgr().Tmpl_result_cache().Clear();

@ -21,6 +21,7 @@ import gplx.xowa.xtns.scribunto.procs.*;
import gplx.xowa.wikis.domains.*; import gplx.xowa.wikis.xwikis.interwikis.*;
public class Scrib_lib_site implements Scrib_lib {
public Scrib_lib_site(Scrib_core core) {this.core = core;} private final Scrib_core core;
public String Key() {return "mw.site";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_site(core);}

@ -26,6 +26,7 @@ public class Scrib_lib_text implements Scrib_lib {
this.core = core;
this.trie = nowiki_util.Make_trie(gplx.xowa.parsers.xndes.Xop_xnde_tag_.Tag__nowiki.Name_bry());
}
public String Key() {return "mw.text";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_text(core);}

@ -23,6 +23,7 @@ import gplx.xowa.xtns.scribunto.procs.*;
import gplx.xowa.wikis.pages.redirects.*;
public class Scrib_lib_title implements Scrib_lib {
public Scrib_lib_title(Scrib_core core) {this.core = core;} private Scrib_core core;
public String Key() {return "mw.title";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_title(core);}

@ -20,6 +20,7 @@ import gplx.xowa.parsers.*;
import gplx.xowa.xtns.scribunto.procs.*;
public class Scrib_lib_uri implements Scrib_lib {
public Scrib_lib_uri(Scrib_core core) {this.core = core;} private Scrib_core core;
public String Key() {return "mw.uri";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_uri(core);}

@ -21,6 +21,7 @@ import gplx.xowa.xtns.scribunto.procs.*;
import gplx.xowa.xtns.scribunto.libs.patterns.*;
public class Scrib_lib_ustring implements Scrib_lib {
public Scrib_lib_ustring(Scrib_core core) {this.core = core;} private Scrib_core core;
public String Key() {return "mw.ustring";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public int String_len_max() {return string_len_max;} public Scrib_lib_ustring String_len_max_(int v) {string_len_max = v; return this;} private int string_len_max = Xoa_page_.Page_len_max;
public int Pattern_len_max() {return pattern_len_max;} public Scrib_lib_ustring Pattern_len_max_(int v) {pattern_len_max = v; return this;} private int pattern_len_max = 10000;

@ -22,44 +22,44 @@ public class Scrib_lib_ustring__shell_cmd__tst {
fxt.Core().Lib_ustring().Init();
} private Scrib_invoke_func_fxt fxt = new Scrib_invoke_func_fxt();
@Test public void Gsub_proc() {
fxt.Init_cbk(Scrib_core.Key_mw_interface, fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub);
fxt.Init_cbk(fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub);
Exec_gsub_regx_func_0("abcd", "([a])", "Abcd;1");
}
@Test public void Gsub_proc_w_grouped() { // PURPOSE: gsub_proc should pass matched String, not entire String; DATE:2013-12-01
fxt.Init_cbk(Scrib_core.Key_mw_interface, fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub);
fxt.Init_cbk(fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub);
Exec_gsub_regx_func_1("[[a]]", "%[%[([^#|%]]-)%]%]" , "A;1");
fxt.Test_log_rcvd(3, "000000370000006D{[\"op\"]=\"call\",[\"id\"]=1,[\"nargs\"]=1,[\"args\"]={[1]=\"a\"}}"); // should be "a", not "[[a]]";
}
@Test public void Gsub_proc_w_grouped_2() {// PURPOSE: gsub_proc failed when passing multiple matches; DATE:2013-12-01
fxt.Init_cbk(Scrib_core.Key_mw_interface, fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub);
fxt.Init_cbk(fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub);
Exec_gsub_regx_func_2("[[a]] [[b]]", "%[%[([^#|%]]-)%]%]" , "A B;2");
fxt.Test_log_rcvd(3, "000000370000006D{[\"op\"]=\"call\",[\"id\"]=1,[\"nargs\"]=1,[\"args\"]={[1]=\"a\"}}"); // should be "a", not "[[a]]";
fxt.Test_log_rcvd(4, "000000370000006D{[\"op\"]=\"call\",[\"id\"]=1,[\"nargs\"]=1,[\"args\"]={[1]=\"b\"}}"); // should be "b", not "[[b]]";
}
@Test public void Gsub_int() { // PURPOSE: gsub with integer arg should not fail; DATE:2013-11-06
fxt.Init_cbk(Scrib_core.Key_mw_interface, fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub);
fxt.Init_cbk(fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub);
fxt.Init_lua_module();
fxt.Init_lua_rcvd(Scrib_lib_ustring.Invk_gsub, Scrib_kv_utl_.base1_many_(1, "[1]", "2", 1)); // NOTE: text is integer (lua / php are type-less)
fxt.Init_lua_rcvd(fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub, Scrib_kv_utl_.base1_many_(1, "[1]", "2", 1)); // NOTE: text is integer (lua / php are type-less)
fxt.Init_lua_rcvd_rv();
fxt.Test_invoke("2;1");
}
private void Exec_gsub_regx_func_0(String text, String regx, String expd) {
fxt.Init_lua_module();
fxt.Init_lua_rcvd(Scrib_lib_ustring.Invk_gsub, Scrib_kv_utl_.base1_many_(text, regx, new Scrib_lua_proc("ignore_key", 1)));
fxt.Init_lua_rcvd(fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub, Scrib_kv_utl_.base1_many_(text, regx, new Scrib_lua_proc("ignore_key", 1)));
fxt.Init_lua_rcvd_raw("a:3:{s:2:\"op\";s:6:\"return\";s:7:\"nvalues\";i:1;s:6:\"values\";a:1:{i:1;s:1:\"A\";}}");
fxt.Init_lua_rcvd_rv();
fxt.Test_invoke(expd);
}
private void Exec_gsub_regx_func_1(String text, String regx, String expd) {
fxt.Init_lua_module();
fxt.Init_lua_rcvd(Scrib_lib_ustring.Invk_gsub, Scrib_kv_utl_.base1_many_(text, regx, new Scrib_lua_proc("ignore_key", 1)));
fxt.Init_lua_rcvd(fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub, Scrib_kv_utl_.base1_many_(text, regx, new Scrib_lua_proc("ignore_key", 1)));
fxt.Init_lua_rcvd_raw("a:3:{s:2:\"op\";s:6:\"return\";s:7:\"nvalues\";i:1;s:6:\"values\";a:1:{i:1;s:1:\"A\";}}");
fxt.Init_lua_rcvd_rv();
fxt.Test_invoke(expd);
}
private void Exec_gsub_regx_func_2(String text, String regx, String expd) {
fxt.Init_lua_module();
fxt.Init_lua_rcvd(Scrib_lib_ustring.Invk_gsub, Scrib_kv_utl_.base1_many_(text, regx, new Scrib_lua_proc("ignore_key", 1)));
fxt.Init_lua_rcvd(fxt.Core().Lib_ustring(), Scrib_lib_ustring.Invk_gsub, Scrib_kv_utl_.base1_many_(text, regx, new Scrib_lua_proc("ignore_key", 1)));
fxt.Init_lua_rcvd_raw("a:3:{s:2:\"op\";s:6:\"return\";s:7:\"nvalues\";i:1;s:6:\"values\";a:1:{i:1;s:1:\"A\";}}");
fxt.Init_lua_rcvd_raw("a:3:{s:2:\"op\";s:6:\"return\";s:7:\"nvalues\";i:1;s:6:\"values\";a:1:{i:1;s:1:\"B\";}}");
fxt.Init_lua_rcvd_rv();

@ -22,16 +22,17 @@ public class Scrib_lib_wikibase implements Scrib_lib {
private final Scrib_core core;
private Wbase_doc_mgr entity_mgr;
private Wbase_entity_accessor entity_accessor;
private WikibaseLanguageIndependentLuaBindings wikibaseLanguageIndependentLuaBindings;
private Wdata_wiki_mgr wdata_mgr;
private Scrib_lua_proc notify_page_changed_fnc;
public Scrib_lib_wikibase(Scrib_core core) {this.core = core;}
public String Key() {return "mw.wikibase";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_proc_mgr Procs() {return procs;} private final Scrib_proc_mgr procs = new Scrib_proc_mgr();
public Scrib_lib Init() {
procs.Init_by_lib(this, Proc_names);
this.entity_mgr = core.App().Wiki_mgr().Wdata_mgr().Doc_mgr;
this.wdata_mgr = core.App().Wiki_mgr().Wdata_mgr();
this.entity_mgr = wdata_mgr.Doc_mgr;
this.entity_accessor = new Wbase_entity_accessor(entity_mgr);
this.wikibaseLanguageIndependentLuaBindings = new WikibaseLanguageIndependentLuaBindings(entity_mgr);
return this;
}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_wikibase(core);}
@ -275,7 +276,7 @@ public function formatValues( $snaksSerialization ) {
public boolean GetLabelByLanguage(Scrib_proc_args args, Scrib_proc_rslt rslt) {
byte[] prefixedEntityId = args.Pull_bry(0);
byte[] languageCode = args.Pull_bry(1);
return rslt.Init_obj(wikibaseLanguageIndependentLuaBindings.getLabelByLanguage(prefixedEntityId, languageCode));
return rslt.Init_obj(wdata_mgr.Lua_bindings().getLabelByLanguage(prefixedEntityId, languageCode));
}
public boolean GetSiteLinkPageName(Scrib_proc_args args, Scrib_proc_rslt rslt) {
Wdata_doc wdoc = Get_wdoc_or_null(args, core, "GetSiteLinkPageName", true); if (wdoc == null) return rslt.Init_ary_empty(); // NOTE: prop should be of form "P123"; do not add "P"; PAGE:no.w:Anne_Enger; DATE:2015-10-27
@ -293,8 +294,11 @@ public function formatValues( $snaksSerialization ) {
return rslt.Init_obj(core.Wiki().Domain_abrv()); // ;siteGlobalID: This site's global ID (e.g. <code>'itwiki'</code>), as used in the sites table. Default: <code>$wgDBname</code>.; REF:/xtns/Wikibase/docs/options.wiki
}
public boolean GetSetting(Scrib_proc_args args, Scrib_proc_rslt rslt) {
return Scrib_lib_wikibase.GetSetting(args, rslt, core, wdata_mgr);
}
public static boolean GetSetting(Scrib_proc_args args, Scrib_proc_rslt rslt, Scrib_core core, Wdata_wiki_mgr wdata_mgr) {
byte[] key = args.Pull_bry(0);
Object rv = wikibaseLanguageIndependentLuaBindings.getSetting(key);
Object rv = wdata_mgr.Lua_bindings().getSetting(key);
if (rv == null)
throw Err_.new_("wbase", "getSetting key missing", "key", key, "url", core.Page().Url().To_str());
return rslt.Init_obj(rv);

@ -19,9 +19,18 @@ import gplx.langs.jsons.*;
import gplx.xowa.xtns.wbases.core.*; import gplx.xowa.xtns.wbases.claims.*; import gplx.xowa.xtns.wbases.stores.*;
import gplx.xowa.xtns.scribunto.procs.*;
public class Scrib_lib_wikibase_entity implements Scrib_lib { // REF.MW:https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/master/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
public Scrib_lib_wikibase_entity(Scrib_core core) {this.core = core;} private Scrib_core core;
private Scrib_core core;
private Wdata_wiki_mgr wdata_mgr;
public Scrib_lib_wikibase_entity(Scrib_core core) {
this.core = core;
}
public String Key() {return "mw.wikibase.entity";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc__names); return this;}
public Scrib_lib Init() {
procs.Init_by_lib(this, Proc__names);
this.wdata_mgr = core.App().Wiki_mgr().Wdata_mgr();
return this;
}
public Scrib_lib Clone_lib(Scrib_core core) {return new Scrib_lib_wikibase_entity(core);}
public Scrib_lua_mod Register(Scrib_core core, Io_url script_dir) {
Init();
@ -103,13 +112,7 @@ public class Scrib_lib_wikibase_entity implements Scrib_lib { // REF.MW:https://
return rslt.Init_null();
}
public boolean GetSetting(Scrib_proc_args args, Scrib_proc_rslt rslt) {
String key = args.Cast_str_or(0, "");
if (String_.Eq(key, "fineGrainedLuaTracking")) {// REF.MW: https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/412664/3/wmf-config/InitialiseSettings.php
return rslt.Init_obj(false);
}
else {
throw Err_.new_unimplemented();
}
return Scrib_lib_wikibase.GetSetting(args, rslt, core, wdata_mgr);
}
public boolean IncrementStatsKey(Scrib_proc_args args, Scrib_proc_rslt rslt) {
return rslt.Init_null();

@ -20,11 +20,13 @@ public class Scrib_proc {
public Scrib_proc(Scrib_lib lib, String proc_name, int proc_id) {
this.lib = lib;
this.proc_name = proc_name;
this.proc_key = Scrib_core.Key_mw_interface + "-" + proc_name;
this.proc_key = Build_key(lib, proc_name);
this.proc_id = proc_id;
}
public String Proc_name() {return proc_name;} private String proc_name;
public int Proc_id() {return proc_id;} private int proc_id;
public String Proc_key() {return proc_key;} private String proc_key;
public boolean Proc_exec(Scrib_proc_args args, Scrib_proc_rslt rslt) {return lib.Procs_exec(proc_id, args, rslt);}
public static String Build_key(Scrib_lib lib, String proc_name) {return lib.Key() + "|" + proc_name;}
}

@ -16,6 +16,7 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt
package gplx.xowa.xtns.titleBlacklists; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
import gplx.xowa.xtns.scribunto.*; import gplx.xowa.xtns.scribunto.libs.*; import gplx.xowa.xtns.scribunto.procs.*;
public class Blacklist_scrib_lib implements Scrib_lib {
public String Key() {return "mw.ext.TitleBlacklist";}
public Scrib_lua_mod Mod() {return mod;} private Scrib_lua_mod mod;
public Scrib_lib Init() {procs.Init_by_lib(this, Proc_names); return this;}
public Scrib_lib Clone_lib(Scrib_core core) {return new Blacklist_scrib_lib();}

@ -18,15 +18,17 @@ import gplx.core.primitives.*;
import gplx.langs.jsons.*;
import gplx.xowa.wikis.nss.*;
import gplx.xowa.langs.*;
import gplx.xowa.parsers.*;
import gplx.xowa.wikis.domains.*; import gplx.xowa.htmls.*; import gplx.xowa.parsers.logs.*; import gplx.xowa.apps.apis.xowa.xtns.*; import gplx.xowa.apps.apis.xowa.html.*; import gplx.xowa.users.*;
import gplx.xowa.xtns.wbases.core.*; import gplx.xowa.xtns.wbases.claims.*; import gplx.xowa.xtns.wbases.claims.enums.*; import gplx.xowa.xtns.wbases.claims.itms.*; import gplx.xowa.xtns.wbases.parsers.*; import gplx.xowa.xtns.wbases.pfuncs.*; import gplx.xowa.xtns.wbases.hwtrs.*; import gplx.xowa.xtns.wbases.stores.*;
import gplx.xowa.parsers.*;
import gplx.xowa.xtns.wbases.mediawiki.client.includes.dataAccess.scribunto.*;
public class Wdata_wiki_mgr implements Gfo_evt_itm, Gfo_invk {
private final Xoae_app app;
private final Wdata_prop_val_visitor prop_val_visitor;
private final Wdata_doc_parser wdoc_parser_v1 = new Wdata_doc_parser_v1(), wdoc_parser_v2 = new Wdata_doc_parser_v2();
private final Object thread_lock = new Object();
private final Bry_bfr tmp_bfr = Bry_bfr_.New_w_size(32);
private final Bry_bfr tmp_bfr = Bry_bfr_.New_w_size(32);
private final WikibaseLanguageIndependentLuaBindings lua_bindings;
public Wdata_wiki_mgr(Xoae_app app) {
this.app = app;
this.evt_mgr = new Gfo_evt_mgr(this);
@ -35,6 +37,7 @@ public class Wdata_wiki_mgr implements Gfo_evt_itm, Gfo_invk {
this.Doc_mgr = new Wbase_doc_mgr(this, this.Qid_mgr);
this.prop_mgr = new Wbase_prop_mgr(Wbase_prop_mgr_loader_.New_db(this));
this.prop_val_visitor = new Wdata_prop_val_visitor(app, this);
this.lua_bindings = new WikibaseLanguageIndependentLuaBindings(Doc_mgr);
this.Enabled_(true);
}
public Gfo_evt_mgr Evt_mgr() {return evt_mgr;} private final Gfo_evt_mgr evt_mgr;
@ -42,6 +45,7 @@ public class Wdata_wiki_mgr implements Gfo_evt_itm, Gfo_invk {
public final Wbase_pid_mgr Pid_mgr;
public final Wbase_doc_mgr Doc_mgr;
public Wbase_prop_mgr Prop_mgr() {return prop_mgr;} private final Wbase_prop_mgr prop_mgr;
public WikibaseLanguageIndependentLuaBindings Lua_bindings() {return lua_bindings;}
public boolean Enabled() {return enabled;} private boolean enabled;
public void Enabled_(boolean v) {
this.enabled = v;

@ -41,7 +41,7 @@ public class WikibaseClientDefault {
rv.addSetting("entityAccessLimit", 250);
rv.addSetting("allowDataAccessInUserLanguage", false);
rv.addSetting("sharedCacheDuration", 60 * 60);
rv.addSetting("fineGrainedLuaTracking", true);
rv.addSetting("fineGrainedLuaTracking", true); // REF.MW: https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/412664/3/wmf-config/InitialiseSettings.php
return rv;
}
}

Loading…
Cancel
Save