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

@@ -48,6 +48,7 @@ public interface Xof_file_itm {
Io_url Html_orig_url();
int Html_gallery_mgr_h();
Js_img_wkr Html_img_wkr();
int Hdump_mode();
void File_exists_(boolean v);
void Html_img_wkr_(Js_img_wkr v);

View File

@@ -57,7 +57,8 @@ public class Xof_file_wkr implements Gfo_thread_wkr {
}
Xof_repo_itm repo = repo_mgr.Get_trg_by_id_or_null(fsdb.Orig_repo_id(), fsdb.Orig_ttl(), page.Url_bry_safe());
if (repo == null) return false;
fsdb.Init_at_html(fsdb.Lnki_exec_tid(), img_size, repo, url_bldr);
if (fsdb.Hdump_mode() == Xof_fsdb_itm.Hdump_mode__null)
fsdb.Init_at_html(fsdb.Lnki_exec_tid(), img_size, repo, url_bldr);
if (fsdb.Orig_ext().Is_not_viewable(fsdb.Lnki_exec_tid())) return false; // file not viewable; exit; EX: exec_tid = page and fsdb is audio
IoItmFil file = Io_mgr.Instance.QueryFil(fsdb.Html_view_url());
if (!file.Exists()) {

View File

@@ -56,6 +56,7 @@ public class Xof_fsdb_itm implements Xof_file_itm {
public boolean File_exists_in_cache() {return file_exists_in_cache;} private boolean file_exists_in_cache;
public boolean File_resized() {return file_resized;} public void File_resized_y_() {file_resized = Bool_.Y;} private boolean file_resized;
public boolean Fsdb_insert() {return fsdb_insert;} public void Fsdb_insert_y_() {fsdb_insert = true;} private boolean fsdb_insert;
public int Hdump_mode() {return hdump_mode;} private int hdump_mode = Hdump_mode__null;
public int Xfer_idx() {return xfer_idx;} private int xfer_idx;
public int Xfer_len() {return xfer_len;} private int xfer_len;
public void Init_at_lnki(int exec_tid, byte[] wiki_abrv, byte[] lnki_ttl, byte lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page, int lnki_upright_patch) {
@@ -123,19 +124,25 @@ public class Xof_fsdb_itm implements Xof_file_itm {
this.html_w = w; this.html_h = h; this.html_view_url = view_url;
}
public void Init_by_wm_parse(byte[] lnki_wiki_abrv, boolean repo_is_commons, boolean file_is_orig, byte[] file_ttl_bry, int file_w, double file_time, int file_page) {
// set lnki props that all fsdb_consumers expect
this.hdump_mode = Hdump_mode__v2;
// lnki
this.lnki_ttl = file_ttl_bry;
this.lnki_w = file_w;
this.lnki_h = -1;
this.lnki_type = file_is_orig ? Xop_lnki_type.Id_none : Xop_lnki_type.Id_thumb;
this.lnki_wiki_abrv = lnki_wiki_abrv;
this.lnki_time = file_time;
this.lnki_page = file_page;
// orig
this.orig_repo_id = repo_is_commons ? Xof_repo_itm_.Repo_remote : Xof_repo_itm_.Repo_local;
this.file_is_orig = file_is_orig;
this.Orig_ttl_(file_ttl_bry);
this.file_w = file_w;
this.lnki_time = file_time;
this.lnki_page = file_page;
this.orig_ext = Xof_ext_.new_by_ttl_(file_ttl_bry);
// html
this.file_w = this.html_w = file_w;
}
public void Change_repo(byte orig_repo_id, byte[] orig_repo_name) {
this.orig_repo_id = orig_repo_id; this.orig_repo_name = orig_repo_name;
@@ -183,4 +190,5 @@ public class Xof_fsdb_itm implements Xof_file_itm {
bfr.Add_byte_pipe().Add_int_variable(lnki_page);
bfr.Add_byte_nl();
}
public static final int Hdump_mode__null = 0, Hdump_mode__v2 = 2;
}

View File

@@ -67,6 +67,7 @@ public class Xof_url_bldr {
public byte[] Xto_bry() {Bld(); byte[] rv = tmp_bfr.To_bry_and_clear(); Clear(); return rv;}
public String Xto_str() {Bld(); String rv = tmp_bfr.To_str(); Clear(); return rv;}
public Io_url Xto_url() {Bld(); Io_url rv = Io_url_.new_fil_(tmp_bfr.To_str()); Clear(); return rv;}
public Io_url Xto_url_by_http() {Bld(); Io_url rv = Io_url_.New__http_or_fail(tmp_bfr.To_str()); Clear(); return rv;}
public Io_url To_url_trg(Xof_repo_itm repo_itm, Xof_fsdb_itm itm, boolean orig) {
byte mode = orig ? Xof_repo_itm_.Mode_orig : Xof_repo_itm_.Mode_thumb;
return this.Init_for_trg_file(mode, repo_itm, itm.Orig_ttl(), itm.Orig_ttl_md5(), itm.Orig_ext(), itm.File_w(), itm.Lnki_time(), itm.Lnki_page()).Xto_url();

View File

@@ -70,6 +70,7 @@ public class Xof_xfer_itm implements Xof_file_itm {
public void Html_size_(int w, int h) {this.html_w = w; this.html_h = h;}
public void Html_gallery_mgr_h_(int v) {html_gallery_mgr_h = v;}
public void Html_img_wkr_(Js_img_wkr v) {html_img_wkr = v;}
public int Hdump_mode() {return hdump_mode;} private int hdump_mode = Xof_fsdb_itm.Hdump_mode__null;
public void File_exists_y_() {file_exists = Bool_.Y;} public void File_exists_n_() {file_exists = Bool_.N;} public void File_exists_(boolean v) {file_exists = v;}
public void Init_at_lnki(int exec_tid, byte[] wiki_abrv, byte[] ttl, byte lnki_type, double upright, int w, int h, double time, int page, int lnki_upright_patch) {

View File

@@ -52,11 +52,13 @@ public class Xof_fsdb_mgr__sql implements Xof_fsdb_mgr, Gfo_invk {
for (int i = 0; i < len; i++) {
if (usr_dlg.Canceled()) return;
Xof_fsdb_itm fsdb = (Xof_fsdb_itm)itms.Get_at(i);
Xof_orig_itm orig = wiki.File__orig_mgr().Find_by_ttl_or_null(fsdb.Lnki_ttl(), i, len);
if (orig != Xof_orig_itm.Null) { // orig exists;
gplx.xowa.files.repos.Xof_repo_itm repo = wiki.File__repo_mgr().Get_trg_by_id_or_null(orig.Repo(), fsdb.Lnki_ttl(), Bry_.Empty);
if (repo == null) continue;
fsdb.Init_at_orig(orig.Repo(), repo.Wiki_domain(), orig.Ttl(), orig.Ext(), orig.W(), orig.H(), orig.Redirect());
if (fsdb.Hdump_mode() == Xof_fsdb_itm.Hdump_mode__null) {
Xof_orig_itm orig = wiki.File__orig_mgr().Find_by_ttl_or_null(fsdb.Lnki_ttl(), i, len);
if (orig != Xof_orig_itm.Null) { // orig exists;
gplx.xowa.files.repos.Xof_repo_itm repo = wiki.File__repo_mgr().Get_trg_by_id_or_null(orig.Repo(), fsdb.Lnki_ttl(), Bry_.Empty);
if (repo == null) continue;
fsdb.Init_at_orig(orig.Repo(), repo.Wiki_domain(), orig.Ttl(), orig.Ext(), orig.W(), orig.H(), orig.Redirect());
}
}
fsdb.Init_at_xfer(i, len);
Xof_file_wkr.Show_img(fsdb, usr_dlg, wiki.File__bin_mgr(), wiki.File__mnt_mgr(), cache_mgr, wiki.File__repo_mgr(), js_wkr, img_size, url_bldr, page);

View File

@@ -74,15 +74,19 @@ public class Xof_xfer_queue {
int list_len = xfer_list.Count();
for (int i = 0; i < list_len; i++) {
Xof_file_itm xfer = (Xof_file_itm)xfer_list.Get_at(i);
Xof_fsdb_itm fsdb = new Xof_fsdb_itm();
fsdb.Init_at_lnki(xfer.Lnki_exec_tid(), xfer.Lnki_wiki_abrv(), xfer.Lnki_ttl(), xfer.Lnki_type(), xfer.Lnki_upright(), xfer.Lnki_w(), xfer.Lnki_h(), xfer.Lnki_time(), xfer.Lnki_page(), upright_patch);
fsdb.Init_at_hdoc(xfer.Html_uid(), xfer.Html_elem_tid());
fsdb.Html_gallery_mgr_h_(xfer.Html_gallery_mgr_h());
fsdb.Html_img_wkr_(xfer.Html_img_wkr());
fsdb.File_exists_(xfer.File_exists());
if (xfer.Lnki_type() == gplx.xowa.parsers.lnkis.Xop_lnki_type.Tid_orig_known)
fsdb.Init_at_gallery_bgn(xfer.Html_w(), xfer.Html_h(), xfer.File_w());
rv.Add(fsdb);
if (xfer.Hdump_mode() == Xof_fsdb_itm.Hdump_mode__null) {
Xof_fsdb_itm fsdb = new Xof_fsdb_itm();
fsdb.Init_at_lnki(xfer.Lnki_exec_tid(), xfer.Lnki_wiki_abrv(), xfer.Lnki_ttl(), xfer.Lnki_type(), xfer.Lnki_upright(), xfer.Lnki_w(), xfer.Lnki_h(), xfer.Lnki_time(), xfer.Lnki_page(), upright_patch);
fsdb.Init_at_hdoc(xfer.Html_uid(), xfer.Html_elem_tid());
fsdb.Html_gallery_mgr_h_(xfer.Html_gallery_mgr_h());
fsdb.Html_img_wkr_(xfer.Html_img_wkr());
fsdb.File_exists_(xfer.File_exists());
if (xfer.Lnki_type() == gplx.xowa.parsers.lnkis.Xop_lnki_type.Tid_orig_known)
fsdb.Init_at_gallery_bgn(xfer.Html_w(), xfer.Html_h(), xfer.File_w());
rv.Add(fsdb);
}
else
rv.Add(xfer);
}
this.Clear();
return rv;