1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00
This commit is contained in:
gnosygnu
2016-01-24 22:50:55 -05:00
parent 235228976e
commit 686d56fdab
77 changed files with 1543 additions and 487 deletions

View File

@@ -20,6 +20,7 @@ import gplx.xowa.drds.pages.*; import gplx.xowa.drds.files.*;
import gplx.xowa.apps.*; import gplx.xowa.wikis.data.tbls.*;
import gplx.xowa.wikis.nss.*; import gplx.xowa.files.gui.*;
import gplx.xowa.specials.search.*; import gplx.xowa.specials.randoms.*;
import gplx.langs.htmls.encoders.*; import gplx.xowa.htmls.hrefs.*;
public class Xod_app {
private final Xoav_app app;
private final Xod_page_mgr page_mgr = new Xod_page_mgr();
@@ -27,10 +28,6 @@ public class Xod_app {
public Xod_app(Xoav_app app) {
this.app = app;
}
public int Wikis__count() {
int rv = app.Wiki_mgri().Count();
return rv - 1; // ignore home wiki
}
public Xow_wiki Wikis__get_by_domain(String wiki_domain) {
Xow_wiki rv = app.Wiki_mgri().Get_by_or_make_init_y(Bry_.new_u8(wiki_domain));
if (rv != null && rv.Data__core_mgr() == null) rv.Init_by_wiki();
@@ -54,7 +51,20 @@ public class Xod_app {
}
return rv;
}
public void Wiki__search(Cancelable cancelable, Xow_wiki wiki, Xows_ui_async ui_async, String search, Xod_search_cmd[] cmds) {
for (Xod_search_cmd cmd : cmds)
cmd.Search(cancelable, wiki, ui_async, search);
}
public void Page__load_files(Xow_wiki wiki, Xod_page_itm pg, Xog_js_wkr js_wkr) {
file_mgr.Load_files(wiki, pg, js_wkr);
app.User().User_db_mgr().Cache_mgr().Db_save();
}
public static byte[] To_page_url(Xow_wiki wiki, String canonical_str) {// NOTE: need canonical_url to handle "A:B" where "A:" is not a ns, even though PageTitle treats "A:" as a namespace
byte[] canonical_bry = Bry_.new_u8(canonical_str);
int page_bgn = Bry_find_.Move_fwd(canonical_bry, Xoh_href_.Bry__wiki, 0); if (page_bgn == Bry_find_.Not_found) throw Err_.new_("drd", "uknown url format: no '/wiki/'", "url", canonical_bry);
byte[] page_bry = Bry_.Mid(canonical_bry, page_bgn, canonical_bry.length); // get bry; EX: https://en.wikipedia.org/wiki/A -> A
page_bry = Gfo_url_encoder_.Http_url.Decode(page_bry); // decode %-encoding; convert + to space
page_bry = Xoa_ttl.Replace_spaces(page_bry); // convert spaces to unders; canonical-url has spaces
return page_bry;
}
}