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:
@@ -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);
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user