1
0
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:
gnosygnu
2016-09-11 21:49:20 -04:00
parent 232838c732
commit 35d78f6106
310 changed files with 4358 additions and 5116 deletions

View File

@@ -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");

View File

@@ -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();
}

View File

@@ -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();}

View File

@@ -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;

View File

@@ -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};
}

View File

@@ -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 {