1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

Cfg: Convert 'Import - Dansguardian'

This commit is contained in:
gnosygnu
2016-12-13 14:15:52 -05:00
parent 200707b1c6
commit 42e7f5f2c6
11 changed files with 67 additions and 117 deletions

View File

@@ -65,6 +65,7 @@ public class Xoax_addon_mgr {
if (app.Mode().Tid_is_http()) {
app.Addon_mgr().Itms__add_many(new gplx.xowa.addons.servers.https.Xoax_long_poll_addon());
}
return this;
}
public void Run_by_app(Xoa_app app) {
@@ -102,7 +103,13 @@ public class Xoax_addon_mgr {
}
}
}
private boolean init_cfg = true; // WORKAROUND:move cfg to separate proc instead of lazy-loading on 1st wiki
public void Load_by_wiki(Xow_wiki wiki) {
if (init_cfg) {
init_cfg = false;
gplx.xowa.bldrs.filters.dansguardians.Dg_match_mgr.Cfg__reg(wiki.App());
}
int len = init_list.Len();
for (int i = 0; i < len; ++i) {
Xoax_addon_itm__init itm = (Xoax_addon_itm__init)init_list.Get_at(i);

View File

@@ -53,10 +53,40 @@ public class Xocfg_mgr {
cache_mgr.Sub(sub, ctx, key, key);
return cache_mgr.Get(ctx, key);
}
public String Get_str_app(String key) {return Get_str(Xocfg_mgr.Ctx__app, key);}
public String Get_str(String ctx, String key) {
return cache_mgr.Get(ctx, key);
public boolean Get_bool_by_wiki_or(Xow_wiki wiki, String key, boolean or) {
String rv = Get_str(wiki.Domain_itm().Abrv_xo_str(), key);
return rv == null ? Yn.parse_or(rv, or) : or;
}
public String Get_str_app(String key) {return Get_str(Xocfg_mgr.Ctx__app, key);}
public boolean Get_bool_or(String ctx, String key, boolean or) {
String rv = cache_mgr.Get(ctx, key);
try {return Yn.parse(rv);}
catch (Exception exc) {
Err_.Noop(exc);
Gfo_usr_dlg_.Instance.Warn_many("", "", "cfg:failed to parse boolean; key=~{0} val=~{1}", key, rv);
return or;
}
}
public int Get_int_or(String ctx, String key, int or) {
String rv = cache_mgr.Get(ctx, key);
try {return Int_.parse(rv);}
catch (Exception exc) {
Err_.Noop(exc);
Gfo_usr_dlg_.Instance.Warn_many("", "", "cfg:failed to parse int; key=~{0} val=~{1}", key, rv);
return or;
}
}
public Io_url Get_url_or(String ctx, String key, Io_url or) {
String rv = cache_mgr.Get(ctx, key);
try {return Io_url_.new_any_(rv);}
catch (Exception exc) {
Err_.Noop(exc);
Gfo_usr_dlg_.Instance.Warn_many("", "", "cfg:failed to parse int; key=~{0} val=~{1}", key, rv);
return or;
}
}
public String To_ctx(Xow_wiki wiki) {return wiki.Domain_itm().Abrv_xo_str();}
public String Get_str(String ctx, String key) {return cache_mgr.Get(ctx, key);}
public void Set_str_app(String key, String val) {Set_str(Xocfg_mgr.Ctx__app, key, val);}
public void Set_str(String ctx, String key, String val) {
cache_mgr.Set(ctx, key, val);

View File

@@ -33,6 +33,7 @@ public class Xocfg_dflt_mgr {
}
public void Add(String key, String val) {
cache_mgr.Dflt(key, val);
hash.Add(key, new Xocfg_dflt_itm__static(val));
}
public void Add(String key, Xocfg_dflt_itm itm) {
hash.Add(key, itm);

View File

@@ -26,7 +26,7 @@ public class Xocfg_edit_special implements Xow_special_page {
String lang = url_args.Read_str_or("lang", wiki.App().User().Wikii().Lang().Key_str());
if (String_.Eq(grp, "")) {
grp = wiki.App().Cfg().Get_str_app("xowa.app.cfg.general.previous_section");
grp = wiki.App().Cfg().Get_str_app("xowa.app.cfg.recent_page");
}
new Xocfg_edit_html(grp, ctx, lang).Bld_page_by_mustache(wiki.App(), page, this);
}

View File

@@ -46,7 +46,7 @@ public class Xocfg_edit_svc {
String key = args.Get_as_str("key");
if (edit_loader == null) edit_loader = Xocfg_edit_loader.New(app);
Xoedit_root root = edit_loader.Load_root(key, ctx, "en");
app.Cfg().Set_str_app("xowa.app.cfg.general.previous_section", key);
app.Cfg().Set_str_app("xowa.app.cfg.recent_page", key);
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.load__recv", root.To_nde());
}
}