mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
'v3.9.2.1'
This commit is contained in:
@@ -19,7 +19,7 @@ package gplx.xowa.users; import gplx.*; import gplx.xowa.*;
|
||||
import gplx.xowa.apps.gfs.*; import gplx.xowa.wikis.*;
|
||||
public class Xou_fsys_mgr implements Gfo_invk {
|
||||
private Io_url app_root_dir; private Io_url wiki_root_dir; private Io_url cur_root;
|
||||
public Xou_fsys_mgr(Xoae_app app, Xoue_user usr, Io_url user_dir) {
|
||||
public Xou_fsys_mgr(Io_url user_dir) {
|
||||
this.cur_root = user_dir;
|
||||
app_root_dir = cur_root.GenSubDir("app");
|
||||
app_temp_dir = app_root_dir.GenSubDir("tmp");
|
||||
|
||||
@@ -17,10 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.users; import gplx.*; import gplx.xowa.*;
|
||||
import gplx.xowa.users.data.*;
|
||||
import gplx.xowa.users.history.*;
|
||||
import gplx.xowa.files.caches.*;
|
||||
public interface Xou_user {
|
||||
String Key();
|
||||
int Gender();
|
||||
Xou_db_mgr User_db_mgr();
|
||||
Xou_history_mgr History_mgr();
|
||||
Xow_wiki Wikii();
|
||||
}
|
||||
|
||||
@@ -26,14 +26,14 @@ public class Xoue_user implements Xou_user, Gfo_evt_mgr_owner, Gfo_invk {
|
||||
public Xoue_user(Xoae_app app, Io_url user_dir) {
|
||||
this.app = app; this.key = user_dir.NameOnly();
|
||||
this.ev_mgr = new Gfo_evt_mgr(this);
|
||||
this.fsys_mgr = new Xou_fsys_mgr(app, this, user_dir);
|
||||
this.fsys_mgr = new Xou_fsys_mgr(user_dir);
|
||||
this.user_db_mgr = new Xou_db_mgr(app);
|
||||
this.history_mgr = new Xou_history_mgr(fsys_mgr.App_data_history_fil());
|
||||
this.prefs_mgr = new gplx.xowa.users.prefs.Prefs_mgr(app);
|
||||
this.cfg_mgr = new Xou_cfg(this);
|
||||
this.session_mgr = new Xou_session(this);
|
||||
}
|
||||
public Gfo_evt_mgr Evt_mgr() {return ev_mgr;} private final Gfo_evt_mgr ev_mgr;
|
||||
public Gfo_evt_mgr Evt_mgr() {return ev_mgr;} private final Gfo_evt_mgr ev_mgr;
|
||||
public String Key() {return key;} private String key;
|
||||
public Xou_db_mgr User_db_mgr() {return user_db_mgr;} private final Xou_db_mgr user_db_mgr;
|
||||
public Xow_wiki Wikii() {return this.Wiki();}
|
||||
|
||||
@@ -17,14 +17,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.users; import gplx.*; import gplx.xowa.*;
|
||||
import gplx.dbs.*;
|
||||
import gplx.xowa.users.data.*;
|
||||
import gplx.xowa.users.data.*; import gplx.xowa.users.history.*;
|
||||
import gplx.xowa.files.*; import gplx.xowa.files.caches.*;
|
||||
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;
|
||||
public Xouv_user(String key) {this.key = key;}
|
||||
public Xouv_user(Xoa_app app, String key, Io_url user_dir) {
|
||||
this.key = key;
|
||||
this.fsys_mgr = new Xou_fsys_mgr(user_dir);
|
||||
this.history_mgr = new Xou_history_mgr(fsys_mgr.App_data_history_fil());
|
||||
}
|
||||
public String Key() {return key;} private String key;
|
||||
public Xou_fsys_mgr Fsys_mgr() {return fsys_mgr;} private final Xou_fsys_mgr fsys_mgr;
|
||||
public Xou_history_mgr History_mgr() {return history_mgr;} private final Xou_history_mgr history_mgr;
|
||||
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_or_make_init_y(Xow_domain_itm_.Bry__home); return wiki;} private Xow_wiki wiki;
|
||||
|
||||
@@ -64,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_tid_.Int__wikipedia)
|
||||
.Add_str_int("d" , Xow_domain_tid_.Int__wiktionary)
|
||||
.Add_str_int("s" , Xow_domain_tid_.Int__wikisource)
|
||||
.Add_str_int("v" , Xow_domain_tid_.Int__wikivoyage)
|
||||
.Add_str_int("q" , Xow_domain_tid_.Int__wikiquote)
|
||||
.Add_str_int("b" , Xow_domain_tid_.Int__wikibooks)
|
||||
.Add_str_int("u" , Xow_domain_tid_.Int__wikiversity)
|
||||
.Add_str_int("n" , Xow_domain_tid_.Int__wikinews)
|
||||
.Add_str_int("w" , Xow_domain_tid_.Tid__wikipedia)
|
||||
.Add_str_int("d" , Xow_domain_tid_.Tid__wiktionary)
|
||||
.Add_str_int("s" , Xow_domain_tid_.Tid__wikisource)
|
||||
.Add_str_int("v" , Xow_domain_tid_.Tid__wikivoyage)
|
||||
.Add_str_int("q" , Xow_domain_tid_.Tid__wikiquote)
|
||||
.Add_str_int("b" , Xow_domain_tid_.Tid__wikibooks)
|
||||
.Add_str_int("u" , Xow_domain_tid_.Tid__wikiversity)
|
||||
.Add_str_int("n" , Xow_domain_tid_.Tid__wikinews)
|
||||
.Add_str_int("*" , Xoud_opt_scope.Type_id_wildcard)
|
||||
.Add_str_int("xowa" , Xow_domain_tid_.Int__home)
|
||||
.Add_str_int("wd" , Xow_domain_tid_.Int__wikidata)
|
||||
.Add_str_int("c" , Xow_domain_tid_.Int__commons)
|
||||
.Add_str_int("species" , Xow_domain_tid_.Int__species)
|
||||
.Add_str_int("meta" , Xow_domain_tid_.Int__meta)
|
||||
.Add_str_int("mw" , Xow_domain_tid_.Int__mediawiki)
|
||||
.Add_str_int("wmf" , Xow_domain_tid_.Int__wmfblog)
|
||||
.Add_str_int("xowa" , Xow_domain_tid_.Tid__home)
|
||||
.Add_str_int("wd" , Xow_domain_tid_.Tid__wikidata)
|
||||
.Add_str_int("c" , Xow_domain_tid_.Tid__commons)
|
||||
.Add_str_int("species" , Xow_domain_tid_.Tid__species)
|
||||
.Add_str_int("meta" , Xow_domain_tid_.Tid__meta)
|
||||
.Add_str_int("mw" , Xow_domain_tid_.Tid__mediawiki)
|
||||
.Add_str_int("wmf" , Xow_domain_tid_.Tid__wmfblog)
|
||||
;
|
||||
private static final Xoud_opt_scope[] Ary_app = new Xoud_opt_scope[] {Xoud_opt_scope.App};
|
||||
}
|
||||
|
||||
@@ -22,11 +22,11 @@ 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_stub_.Id_en, Xow_domain_tid_.Int__wikipedia));
|
||||
fxt.Test_parse("en.w" , fxt.Make(Xol_lang_stub_.Id_en, Xow_domain_tid_.Tid__wikipedia));
|
||||
fxt.Test_parse("en.*" , fxt.Make(Xol_lang_stub_.Id_en, Xoud_opt_scope.Type_id_wildcard));
|
||||
fxt.Test_parse("*.w" , fxt.Make(Xoud_opt_scope.Lang_id_wildcard, Xow_domain_tid_.Int__wikipedia));
|
||||
fxt.Test_parse("*.w" , fxt.Make(Xoud_opt_scope.Lang_id_wildcard, Xow_domain_tid_.Tid__wikipedia));
|
||||
fxt.Test_parse("<any>" , Xoud_opt_scope.App);
|
||||
fxt.Test_parse("en.w,fr.d" , fxt.Make(Xol_lang_stub_.Id_en, Xow_domain_tid_.Int__wikipedia), fxt.Make(Xol_lang_stub_.Id_fr, Xow_domain_tid_.Int__wiktionary));
|
||||
fxt.Test_parse("en.w,fr.d" , fxt.Make(Xol_lang_stub_.Id_en, Xow_domain_tid_.Tid__wikipedia), fxt.Make(Xol_lang_stub_.Id_fr, Xow_domain_tid_.Tid__wiktionary));
|
||||
}
|
||||
}
|
||||
class Xoud_opt_scope_fxt {
|
||||
|
||||
Reference in New Issue
Block a user