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

@@ -37,7 +37,7 @@ public class Xob_page_cmd extends Xob_itm_basic_base implements Xob_page_wkr, Gf
this.page_core_tbl = db_mgr.Tbl__page();
this.text_zip_mgr = wiki.Utl__zip_mgr(); text_zip_tid = import_cfg.Zip_tid_text();
this.ns_to_db_mgr = new Xob_ns_to_db_mgr(new Xob_ns_to_db_wkr__text(), db_mgr, import_cfg.Text_db_max());
this.dg_match_mgr = app.Api_root().Bldr().Wiki().Filter().Dansguardian().New_mgr(wiki.Domain_str(), wiki.Fsys_mgr().Root_dir());
this.dg_match_mgr = Dg_match_mgr.New_mgr(app, wiki);
if (dg_match_mgr != null) redirect_id_enabled = true; // always enable redirect_id if dg_match_mgr enabled; DATE:2016-01-04
if (redirect_id_enabled) {
this.redirect_tbl = new Xob_redirect_tbl(wiki.Fsys_mgr().Root_dir(), gplx.langs.htmls.encoders.Gfo_url_encoder_.Http_url_ttl).Create_table();

View File

@@ -28,7 +28,7 @@ public class Xob_term_cmd extends Xob_term_base {
cfg_tbl.Insert_bry(Xow_cfg_consts.Grp__wiki_init, "props.siteinfo_misc", wiki.Props().Siteinfo_misc());
cfg_tbl.Insert_bry(Xow_cfg_consts.Grp__wiki_init, "props.siteinfo_mainpage", wiki.Props().Siteinfo_mainpage());
gplx.fsdb.Fsdb_db_mgr__v2_bldr.Get_or_make(wiki, false);// always build file.user db; DATE:2015-05-12
if (wiki.Appe().Api_root().Bldr().Wiki().Filter().Dansguardian().Enabled()) // if dansguardian, delete missing pages; DATE:2016-01-06
if (wiki.App().Cfg().Get_bool_by_wiki_or(wiki, gplx.xowa.bldrs.filters.dansguardians.Dg_match_mgr.Cfg__enabled, false))
new Xob_page_delete_cmd(wiki.Appe().Bldr(), wiki).Cmd_run();
wiki.Data__core_mgr().Rls();
}

View File

@@ -17,6 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.filters.dansguardians; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.filters.*;
import gplx.core.primitives.*; import gplx.core.btries.*;
import gplx.xowa.addons.apps.cfgs.*;
import gplx.xowa.langs.*;
import gplx.xowa.bldrs.filters.core.*;
public class Dg_match_mgr {
@@ -128,7 +129,25 @@ public class Dg_match_mgr {
}
public void Rls() {log_mgr.Rls();}
public void Commit() {if (log_enabled) log_mgr.Commit();}
public static final int Target_tid_title = 1, Target_tid_wikitext = 2;
public static void Cfg__reg(Xoa_app app) {
app.Cfg().Dflt_mgr().Add(Cfg__root_dir, app.Fsys_mgr().Bin_xowa_dir().GenSubDir_nest("cfg", "bldr", "filter").Raw());
}
public static Dg_match_mgr New_mgr(Xoa_app app, Xow_wiki wiki) {
Xocfg_mgr cfg_mgr = app.Cfg();
if (!cfg_mgr.Get_bool_by_wiki_or(wiki, Cfg__enabled, false)) return null;
String ctx = cfg_mgr.To_ctx(wiki);
return new Dg_match_mgr
( cfg_mgr.Get_url_or(ctx, Cfg__root_dir, app.Fsys_mgr().Bin_xowa_dir().GenSubDir_nest("cfg", "bldr", "filter")).GenSubDir(wiki.Domain_str())
, cfg_mgr.Get_int_or(ctx, "xowa.wiki.import.dansguardian.score_init", 0)
, cfg_mgr.Get_int_or(ctx, "xowa.wiki.import.dansguardian.score_fail", 0)
, cfg_mgr.Get_bool_or(ctx, "xowa.wiki.import.dansguardian.case_match", false)
, cfg_mgr.Get_bool_or(ctx, "xowa.wiki.import.dansguardian.log_enabled", true)
, wiki.Fsys_mgr().Root_dir().GenSubFil("dansguardian_log.sqlite3")
);
}
public static final String Cfg__enabled = "xowa.wiki.import.dansguardian.enabled";
private static final String Cfg__root_dir = "xowa.wiki.import.dansguardian.root_dir";
}
class Dg_rule_group {
public Dg_rule_group(byte[] word) {this.word = word;}