mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v2.8.4.1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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};
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user