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

v2.10.3.1

This commit is contained in:
gnosygnu
2015-10-18 22:17:57 -04:00
parent 8e18af05b6
commit 4f43f51b18
1935 changed files with 12500 additions and 12889 deletions

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*;
import gplx.ios.*;
import gplx.xowa.ctgs.*; import gplx.xowa.tdbs.*;
import gplx.xowa.wikis.ctgs.*; import gplx.xowa.wikis.tdbs.*;
public class Xob_import_cfg {
public Xob_import_cfg(Xowe_wiki wiki) {this.wiki = wiki;} private Xowe_wiki wiki; private boolean src_fil_is_bz2 = true;
public byte Category_version() {return category_version;} public Xob_import_cfg Category_version_(byte v) {category_version = v; return this;} private byte category_version = Xoa_ctg_mgr.Version_1;
@@ -40,7 +40,7 @@ public class Xob_import_cfg {
}
if (src_fil_is_bz2) {
Chk_file_ext(wiki.Appe(), src_fil_bz2, ".bz2", "xml");
src_fil = src_fil_bz2; src_rdr_len = Io_mgr.I.QueryFil(src_fil_bz2).Size();
src_fil = src_fil_bz2; src_rdr_len = Io_mgr.Instance.QueryFil(src_fil_bz2).Size();
Xoae_app app = wiki.Appe();
if (app.Setup_mgr().Dump_mgr().Import_bz2_by_stdout()) {
ProcessAdp process = app.Prog_mgr().App_decompress_bz2_by_stdout();
@@ -51,7 +51,7 @@ public class Xob_import_cfg {
}
else {
Chk_file_ext(wiki.Appe(), src_fil_xml, ".xml", "bz2");
src_fil = src_fil_xml; src_rdr_len = Io_mgr.I.QueryFil(src_fil_xml).Size();
src_fil = src_fil_xml; src_rdr_len = Io_mgr.Instance.QueryFil(src_fil_xml).Size();
return Io_stream_rdr_.file_(src_fil_xml);
}
}

View File

@@ -21,17 +21,17 @@ public class Xob_import_marker {
private final Hash_adp_bry in_progress_hash = Hash_adp_bry.cs();
public void Bgn(Xowe_wiki wiki) {
in_progress_hash.Add_as_key_and_val(wiki.Domain_bry());
Io_mgr.I.SaveFilStr(url_(wiki), "XOWA has created this file to indicate that an import is in progress. This file will be deleted once the import is completed.");
Io_mgr.Instance.SaveFilStr(url_(wiki), "XOWA has created this file to indicate that an import is in progress. This file will be deleted once the import is completed.");
}
public void End(Xowe_wiki wiki) {
in_progress_hash.Del(wiki.Domain_bry());
Io_mgr.I.DeleteFil_args(url_(wiki)).MissingFails_off().Exec();
Io_mgr.Instance.DeleteFil_args(url_(wiki)).MissingFails_off().Exec();
}
public boolean Chk(Xowe_wiki wiki) {
if (!wiki.App().App_type().Uid_is_gui()) return true; // NOTE: ignore during Server / Console modes; DATE:2015-04-01
if (!wiki.App().Mode().Tid_is_gui()) return true; // NOTE: ignore during Server / Console modes; DATE:2015-04-01
if (in_progress_hash.Has(wiki.Domain_bry())) return true; // NOTE: ignore if currently building; different bldr commands call wiki.Init_assert() which may lead to fals checks;
Io_url url = url_(wiki);
if (!Io_mgr.I.ExistsFil(url)) return true;
if (!Io_mgr.Instance.ExistsFil(url)) return true;
Xoae_app app = wiki.Appe();
app.Usr_dlg().Log_many("", "", "import.marker: marker found: url=~{0}", url.Raw());
byte[] incompete_msg_bry = app.Usere().Msg_mgr().Val_by_key_args(Bry_.new_a7("api-xowa.import.core.incomplete"), wiki.Domain_str());

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*;
import gplx.ios.*; import gplx.xmls.*; // NOTE: gplx.xmls does not support Android; DATE:2013-01-17
import gplx.xowa.nss.*;
import gplx.xowa.wikis.nss.*;
public class Xob_siteinfo_parser {
public static byte[] Siteinfo_extract(gplx.ios.Io_stream_rdr src_rdr) {
Io_buffer_rdr rdr = Io_buffer_rdr.Null;
@@ -50,13 +50,13 @@ public class Xob_siteinfo_parser {
Siteinfo_parse_ns(wiki, usr_dlg, sub_nde);
}
else if ( String_.Eq(sub_nde.Name(), "#text")) {} // NOTE: JAVA has node names for "#text"
// else throw Err_mgr._.fmt_(GRP_KEY, "siteinfo.root.unknown_sub", "unknown sub for root nde: ~{0}", sub_nde.Name()); // NOTE: do not fail if MW introduces something odd in future (or if JAVA starts picking up other elements)
// else throw Err_mgr.Instance.fmt_(GRP_KEY, "siteinfo.root.unknown_sub", "unknown sub for root nde: ~{0}", sub_nde.Name()); // NOTE: do not fail if MW introduces something odd in future (or if JAVA starts picking up other elements)
}
wiki.Props().Siteinfo_misc_(siteinfo_misc_bfr.Xto_bry_and_clear());
wiki.Props().Siteinfo_misc_(siteinfo_misc_bfr.To_bry_and_clear());
wiki.Props().Bldr_version_(Bry_.new_a7(Xoa_app_.Version));
}
private static byte[] Siteinfo_parse_mainpage(byte[] url) {
byte[] wiki_bry = Xoa_consts.Url_wiki_intermediary;
byte[] wiki_bry = gplx.xowa.htmls.hrefs.Xoh_href_.Bry__wiki;
int bgn_pos = Bry_find_.Find_fwd(url, wiki_bry, 0);
if (bgn_pos == Bry_.NotFound) { // "/wiki/" not found; EX: http://mywiki/My_main_page
bgn_pos = Bry_find_.Find_bwd(url, Byte_ascii.Slash); // ASSUME last segment is page

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*;
import gplx.langs.xmls.*;
import gplx.xowa.nss.*;
import gplx.xowa.wikis.nss.*;
import gplx.xowa.wikis.domains.*; import gplx.xowa.wikis.data.tbls.*;
public class Xob_xml_dumper {
private final Gfo_xml_wtr wtr = new Gfo_xml_wtr();
@@ -38,7 +38,7 @@ public class Xob_xml_dumper {
}
private void Write_siteinfo(Xow_domain_itm domain, String wiki_abrv, String main_page, String ns_case, String app_version) {
wtr.Nde_lhs("siteinfo");
wtr.Nde_txt_bry("sitename" , Xow_domain_type_.Get_type_as_bry(domain.Domain_type_id()));
wtr.Nde_txt_bry("sitename" , Xow_domain_tid_.Get_type_as_bry(domain.Domain_type_id()));
wtr.Nde_txt_str("dbname" , wiki_abrv);
wtr.Nde_txt_str("base" , main_page);
wtr.Nde_txt_str("generator" , app_version);

View File

@@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*;
import org.junit.*; import gplx.xowa.wikis.data.tbls.*; import gplx.xowa.nss.*;
import org.junit.*; import gplx.xowa.wikis.data.tbls.*; import gplx.xowa.wikis.nss.*;
public class Xob_xml_dumper_tst {
private final Xob_xml_dumper_fxt fxt = new Xob_xml_dumper_fxt();
@Before public void init() {fxt.Clear();}

View File

@@ -18,16 +18,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*;
import gplx.ios.*; import gplx.xowa.wikis.data.tbls.*;
public class Xob_xml_page_bldr {
public byte[] Xto_bry() {return bfr.Xto_bry_and_clear();}
public byte[] Xto_bry() {return bfr.To_bry_and_clear();}
public Io_buffer_rdr XtoByteStreamRdr() {return XtoByteStreamRdr(Io_mgr.Len_kb);}
public Io_buffer_rdr XtoByteStreamRdr(int bfr_len) {
Io_url url = Io_url_.mem_fil_("mem/byteStreamRdr.txt");
Io_mgr.I.SaveFilBry(url, bfr.Xto_bry_and_clear());
Io_mgr.Instance.SaveFilBry(url, bfr.To_bry_and_clear());
return Io_buffer_rdr.new_(gplx.ios.Io_stream_rdr_.file_(url), bfr_len);
}
public Bry_bfr Bfr() {return bfr;} Bry_bfr bfr = Bry_bfr.new_();
public Xob_xml_page_bldr Upd(String find, String repl) {
String all = bfr.Xto_str_and_clear();
String all = bfr.To_str_and_clear();
all = String_.Replace(all, find, repl);
bfr.Add_str(all);
return this;

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*;
import gplx.core.btries.*; import gplx.ios.*; import gplx.xowa.wikis.data.tbls.*;
import gplx.xowa.nss.*;
import gplx.xowa.wikis.nss.*;
public class Xob_xml_parser {
Btrie_fast_mgr trie = Xob_xml_parser_.trie_(); Bry_bfr data_bfr = Bry_bfr.new_(); DateAdp_parser date_parser = DateAdp_parser.new_();
public Xob_xml_parser Tag_len_max_(int v) {tag_len_max = v; return this;} private int tag_len_max = 255; // max size of any (a) xml tag, (b) int or (c) date; everything else goes into a data_bfr
@@ -75,13 +75,13 @@ public class Xob_xml_parser {
case Xob_xml_parser_.Id_title_end:
if (title_needed) {
data_bfr_add = false;
byte[] ttl = data_bfr.Xto_bry_and_clear();
byte[] ttl = data_bfr.To_bry_and_clear();
Bry_.Replace_reuse(ttl, Byte_ascii.Space, Byte_ascii.Underline);
rv.Ttl_(ttl, ns_mgr);
title_needed = false;
}
break;
case Xob_xml_parser_.Id_text_end: data_bfr_add = false; rv.Text_(data_bfr.Xto_bry_and_clear()); break;
case Xob_xml_parser_.Id_text_end: data_bfr_add = false; rv.Text_(data_bfr.To_bry_and_clear()); break;
case Xob_xml_parser_.Id_amp: case Xob_xml_parser_.Id_quot: case Xob_xml_parser_.Id_lt: case Xob_xml_parser_.Id_gt:
case Xob_xml_parser_.Id_cr_nl: case Xob_xml_parser_.Id_cr:
if (data_bfr_add) data_bfr.Add_byte(itm.Subst_byte());

View File

@@ -16,10 +16,10 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*;
import org.junit.*; import gplx.ios.*; import gplx.xowa.nss.*; import gplx.xowa.wikis.data.tbls.*;
import org.junit.*; import gplx.ios.*; import gplx.xowa.wikis.nss.*; import gplx.xowa.wikis.data.tbls.*;
public class Xob_xml_parser_tst {
@Before public void init() {
Io_mgr.I.InitEngine_mem();
Io_mgr.Instance.InitEngine_mem();
Xoae_app app = Xoa_app_fxt.app_();
bldr = new Xob_bldr(app);
} private Xow_ns_mgr ns_mgr = Xow_ns_mgr_.default_(gplx.xowa.langs.cases.Xol_case_mgr_.A7());