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
2015-08-24 00:32:13 -04:00
parent df10db140c
commit ed911e3de5
220 changed files with 2618 additions and 1569 deletions

View File

@@ -20,7 +20,6 @@ import gplx.xowa.langs.cases.*; import gplx.xowa.wikis.*; import gplx.xowa.xtns.
import gplx.xowa.wikis.domains.*;
class Xou_user_ {
public static Xowe_wiki new_or_create_(Xoue_user user, Xoae_app app) {
// Io_url wiki_dir = user.Fsys_mgr().Home_wiki_dir().GenSubDir_nest("wiki", Xow_domain_type_.Key_str_home);
Io_url wiki_dir = app.Fsys_mgr().Home_wiki_dir();
Xol_lang lang = app.Lang_mgr().Get_by_key_or_new(app.Lang_mgr().Default_lang());
lang.Init_by_load(); // NOTE: lang.Load() must occur before Xowe_wiki.new() b/c wiki will create parsers based on lang

View File

@@ -38,7 +38,7 @@ public class Xouc_setup_mgr implements GfoInvkAble {
if (String_.Eq(plats_ary[i], op_sys_name)) return;
}
Io_url setup_url = app.Fsys_mgr().Root_dir().GenSubFil_nest("bin", op_sys_name, "xowa", "script", "setup_lua.sh");
Run("sh", String_.Format("\"{0}\"", setup_url.Raw()));
Run("sh", String_.Format("\"{0}\" \"{1}\"", setup_url.Raw(), app.Fsys_mgr().Root_dir()));
setup_completed += op_sys_name + ";";
app.Cfg_mgr().Set_by_all("app.user.cfg.setup.setup_completed", setup_completed);
app.Cfg_mgr().Db_save_txt();

View File

@@ -19,7 +19,7 @@ package gplx.xowa.users; import gplx.*; import gplx.xowa.*;
import gplx.dbs.*;
import gplx.xowa.users.data.*;
import gplx.xowa.files.*; import gplx.xowa.files.caches.*;
import gplx.xowa.wikis.*;
import gplx.xowa.wikis.*; import gplx.xowa.wikis.domains.*;
import gplx.xowa.langs.genders.*;
public class Xouv_user implements Xou_user {
private Xoa_wiki_mgr wiki_mgr;
@@ -27,7 +27,7 @@ public class Xouv_user implements Xou_user {
public String Key() {return key;} private String key;
public Xou_db_mgr User_db_mgr() {return user_db_mgr;} private Xou_db_mgr user_db_mgr;
public int Gender() {return Xol_gender_.Tid_unknown;}
public Xow_wiki Wikii() {if (wiki == null) wiki = wiki_mgr.Get_by_key_or_make_init_y(Xow_domain_.Domain_bry_home); return wiki;} private Xow_wiki wiki;
public Xow_wiki Wikii() {if (wiki == null) wiki = wiki_mgr.Get_by_key_or_make_init_y(Xow_domain_itm_.Bry__home); return wiki;} private Xow_wiki wiki;
public void Init_db(Xoa_app app, Xoa_wiki_mgr wiki_mgr, Io_url db_url) {
this.wiki_mgr = wiki_mgr;
this.user_db_mgr = new Xou_db_mgr(app);

View File

@@ -17,7 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.users.data; import gplx.*; import gplx.xowa.*; import gplx.xowa.users.*;
import gplx.core.btries.*; import gplx.core.primitives.*;
import gplx.xowa.langs.*; import gplx.xowa.wikis.*;
import gplx.xowa.langs.*;
import gplx.xowa.wikis.domains.*;
class Xoud_opt_scope {
public Xoud_opt_scope(int lang_id, int type_id) {this.lang_id = lang_id; this.type_id = type_id;}
public int Lang_id() {return lang_id;} private final int lang_id;
@@ -63,22 +64,22 @@ class Xoud_opt_scope_parser {
return Xoud_opt_scope.App;
}
private static final Btrie_slim_mgr btrie_by_type = Btrie_slim_mgr.cs()
.Add_str_int("w" , Xow_domain_type_.Tid_wikipedia)
.Add_str_int("d" , Xow_domain_type_.Tid_wiktionary)
.Add_str_int("s" , Xow_domain_type_.Tid_wikisource)
.Add_str_int("v" , Xow_domain_type_.Tid_wikivoyage)
.Add_str_int("q" , Xow_domain_type_.Tid_wikiquote)
.Add_str_int("b" , Xow_domain_type_.Tid_wikibooks)
.Add_str_int("u" , Xow_domain_type_.Tid_wikiversity)
.Add_str_int("n" , Xow_domain_type_.Tid_wikinews)
.Add_str_int("w" , Xow_domain_type_.Int__wikipedia)
.Add_str_int("d" , Xow_domain_type_.Int__wiktionary)
.Add_str_int("s" , Xow_domain_type_.Int__wikisource)
.Add_str_int("v" , Xow_domain_type_.Int__wikivoyage)
.Add_str_int("q" , Xow_domain_type_.Int__wikiquote)
.Add_str_int("b" , Xow_domain_type_.Int__wikibooks)
.Add_str_int("u" , Xow_domain_type_.Int__wikiversity)
.Add_str_int("n" , Xow_domain_type_.Int__wikinews)
.Add_str_int("*" , Xoud_opt_scope.Type_id_wildcard)
.Add_str_int("xowa" , Xow_domain_type_.Tid_home)
.Add_str_int("wd" , Xow_domain_type_.Tid_wikidata)
.Add_str_int("c" , Xow_domain_type_.Tid_commons)
.Add_str_int("species" , Xow_domain_type_.Tid_species)
.Add_str_int("meta" , Xow_domain_type_.Tid_meta)
.Add_str_int("mw" , Xow_domain_type_.Tid_mediawiki)
.Add_str_int("wmf" , Xow_domain_type_.Tid_wmfblog)
.Add_str_int("xowa" , Xow_domain_type_.Int__home)
.Add_str_int("wd" , Xow_domain_type_.Int__wikidata)
.Add_str_int("c" , Xow_domain_type_.Int__commons)
.Add_str_int("species" , Xow_domain_type_.Int__species)
.Add_str_int("meta" , Xow_domain_type_.Int__meta)
.Add_str_int("mw" , Xow_domain_type_.Int__mediawiki)
.Add_str_int("wmf" , Xow_domain_type_.Int__wmfblog)
;
private static final Xoud_opt_scope[] Ary_app = new Xoud_opt_scope[] {Xoud_opt_scope.App};
}

View File

@@ -16,16 +16,17 @@ 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.users.data; import gplx.*; import gplx.xowa.*; import gplx.xowa.users.*;
import org.junit.*; import gplx.xowa.langs.*; import gplx.xowa.wikis.*;
import org.junit.*; import gplx.xowa.langs.*;
import gplx.xowa.wikis.domains.*;
public class Xoud_opt_scope_tst {
private Xoud_opt_scope_fxt fxt = new Xoud_opt_scope_fxt();
@Before public void init() {fxt.Clear();}
@Test public void Basic() {
fxt.Test_parse("en.w" , fxt.Make(Xol_lang_itm_.Id_en, Xow_domain_type_.Tid_wikipedia));
fxt.Test_parse("en.w" , fxt.Make(Xol_lang_itm_.Id_en, Xow_domain_type_.Int__wikipedia));
fxt.Test_parse("en.*" , fxt.Make(Xol_lang_itm_.Id_en, Xoud_opt_scope.Type_id_wildcard));
fxt.Test_parse("*.w" , fxt.Make(Xoud_opt_scope.Lang_id_wildcard, Xow_domain_type_.Tid_wikipedia));
fxt.Test_parse("*.w" , fxt.Make(Xoud_opt_scope.Lang_id_wildcard, Xow_domain_type_.Int__wikipedia));
fxt.Test_parse("<any>" , Xoud_opt_scope.App);
fxt.Test_parse("en.w,fr.d" , fxt.Make(Xol_lang_itm_.Id_en, Xow_domain_type_.Tid_wikipedia), fxt.Make(Xol_lang_itm_.Id_fr, Xow_domain_type_.Tid_wiktionary));
fxt.Test_parse("en.w,fr.d" , fxt.Make(Xol_lang_itm_.Id_en, Xow_domain_type_.Int__wikipedia), fxt.Make(Xol_lang_itm_.Id_fr, Xow_domain_type_.Int__wiktionary));
}
}
class Xoud_opt_scope_fxt {