mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
uca category support and other changes
This commit is contained in:
@@ -83,8 +83,8 @@ public class Xow_xwiki_mgr {
|
||||
default: return tid;
|
||||
}
|
||||
}
|
||||
public static byte[] Get_domain_from_url(Gfo_url_parser url_parser, Gfo_url url, byte[] url_fmt) { // extract "commons.wikimedia.org" from "http://commons.wikimedia.org/wiki/Category:~{0}"
|
||||
url_parser.Parse(url, url_fmt, 0, url_fmt.length);
|
||||
public static byte[] Get_domain_from_url(Gfo_url_parser url_parser, byte[] url_fmt) { // extract "commons.wikimedia.org" from "http://commons.wikimedia.org/wiki/Category:~{0}"
|
||||
Gfo_url url = url_parser.Parse(url_fmt, 0, url_fmt.length);
|
||||
return url.Segs__get_at_1st();
|
||||
}
|
||||
public static byte[] Bld_url_fmt(byte[] domain_bry) {return Bry_.Add(gplx.core.net.Gfo_protocol_itm.Itm_https.Text_bry(), domain_bry, Bry__url_fmt_end);}
|
||||
|
||||
@@ -22,10 +22,10 @@ import gplx.xowa.langs.*;
|
||||
import gplx.xowa.wikis.domains.*;
|
||||
public class Xow_xwiki_itm_bldr {
|
||||
private final Bry_bfr tmp_bfr = Bry_bfr_.New();
|
||||
private final Gfo_url_parser url_parser = new Gfo_url_parser(); private final Gfo_url url = new Gfo_url();
|
||||
private final Gfo_url_parser url_parser = new Gfo_url_parser();
|
||||
public Xow_xwiki_itm Bld_mw(Xow_domain_itm cur_domain, byte[] key, byte[] mw_url, byte[] domain_name) {return Bld_xo(cur_domain, key, Gfs_php_converter.To_gfs(tmp_bfr, mw_url), domain_name);} // EX: "//commons.wikimedia.org/wiki/Category:$1" -> "//commons.wikimedia.org/wiki/Category:~{0}"
|
||||
public Xow_xwiki_itm Bld_xo(Xow_domain_itm cur_domain, byte[] key, byte[] xo_url, byte[] domain_name) {
|
||||
byte[] domain_bry = Xow_xwiki_mgr.Get_domain_from_url(url_parser, url, xo_url);
|
||||
byte[] domain_bry = Xow_xwiki_mgr.Get_domain_from_url(url_parser, xo_url);
|
||||
Xow_domain_itm domain_itm = Xow_domain_itm_.parse(domain_bry);
|
||||
Xol_lang_stub lang_itm = Xol_lang_stub_.Get_by_key_or_null(domain_itm.Lang_actl_key());
|
||||
int lang_id = lang_itm == null ? Xol_lang_stub_.Id__unknown : lang_itm.Id();
|
||||
|
||||
@@ -23,7 +23,7 @@ import gplx.xowa.wikis.domains.*; import gplx.xowa.wikis.xwikis.bldrs.*;
|
||||
public class Xow_xwiki_itm_parser extends Dsv_wkr_base {
|
||||
private Xow_domain_itm owner_domain_itm;
|
||||
private int cur_tid = -1; private byte[] cur_fld1, cur_fld2, cur_fld3;
|
||||
private final Gfo_url_parser url_parser = new Gfo_url_parser(); private final Gfo_url url = new Gfo_url();
|
||||
private final Gfo_url_parser url_parser = new Gfo_url_parser();
|
||||
public Ordered_hash Xwiki_list() {return xwiki_list;} private final Ordered_hash xwiki_list = Ordered_hash_.New();
|
||||
@Override public Dsv_fld_parser[] Fld_parsers() {return new Dsv_fld_parser[] {Dsv_fld_parser_.Bry_parser, Dsv_fld_parser_.Bry_parser, Dsv_fld_parser_.Bry_parser, Dsv_fld_parser_.Bry_parser};}
|
||||
@Override public boolean Write_bry(Dsv_tbl_parser parser, int fld_idx, byte[] src, int bgn, int end) {
|
||||
@@ -46,7 +46,7 @@ public class Xow_xwiki_itm_parser extends Dsv_wkr_base {
|
||||
case Tid__manual: // EX: "0|domz|http://www.dmoz.org/~{0}|DMOZ"
|
||||
xwiki_is_mw = false;
|
||||
url_fmt = cur_fld2;
|
||||
domain_bry = Xow_xwiki_mgr.Get_domain_from_url(url_parser, url, url_fmt);
|
||||
domain_bry = Xow_xwiki_mgr.Get_domain_from_url(url_parser, url_fmt);
|
||||
break;
|
||||
case Tid__mw_domain: // EX: "1|w|en.wikipedia.org"
|
||||
domain_bry = cur_fld2;
|
||||
|
||||
Reference in New Issue
Block a user