private void Download_fils(Io_url css_dir, String[] ary) {
   int ary_len = ary.length;
   for (int i = 0; i < ary_len; i++) {
     String src = ary[i];
     Io_url trg =
         css_dir.GenSubFil_nest(
             Op_sys.Cur().Fsys_http_frag_to_url_str(Replace_invalid_chars_str(src)));
     if (Io_mgr.Instance.ExistsFil(trg)) continue;
     download_wkr.Download(true, "https://" + src, trg, "download: " + src); // ILN
     if (Io_mgr.Instance.QueryFil(trg).Size()
         == 0) { // warn if 0 byte files downloaded; DATE:2015-07-06
       Xoa_app_.Usr_dlg()
           .Warn_many("", "", "css.download; 0 byte file downloaded; file=~{0}", trg.Raw());
     }
   }
 }
Exemple #2
0
 public void Save_as() {
   if (this.Active_tab_is_null()) return;
   Xog_tab_itm tab = win.Tab_mgr().Active_tab();
   String file_name =
       Xoa_app_.Utl__encoder_mgr()
               .Fsys_safe()
               .Encode_str(String_.new_u8(tab.Page().Ttl().Full_url()))
           + ".html";
   String file_url =
       app.Gui_mgr()
           .Kit()
           .New_dlg_file(Gfui_kit_.File_dlg_type_save, "Select file to save to:")
           .Init_file_(file_name)
           .Ask();
   if (String_.Len_eq_0(file_url)) return;
   Io_mgr.I.SaveFilStr(file_url, tab.Html_box().Text());
   app.Usr_dlg().Prog_many("", "", "saved page: file=~{0}", file_url);
 }
 private static boolean Navigate(
     Gfo_usr_dlg usr_dlg,
     Xoae_app app,
     Wdata_wiki_mgr wdata_mgr,
     Xoae_page page,
     byte[] site_bry,
     byte[] page_bry) {
   page_bry =
       Xoa_app_.Utl__encoder_mgr()
           .Http_url()
           .Decode(page_bry); // NOTE: space is converted to + on postback to url; decode
   byte[] wiki_domain = Xow_wiki_alias.Parse_wmf_key(site_bry);
   if (wiki_domain == null) {
     usr_dlg.Warn_many("", "", "site_bry parse failed; site_bry:~{0}", String_.new_u8(site_bry));
     return false;
   }
   Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(wiki_domain);
   if (wiki == null) {
     usr_dlg.Warn_many(
         "", "", "wiki_domain does not exist; wiki_domain:~{0}", String_.new_u8(wiki_domain));
     return false;
   }
   Xoa_ttl wdata_ttl = Xoa_ttl.parse_(wiki, page_bry);
   if (wdata_ttl == null) {
     usr_dlg.Warn_many("", "", "ttl is invalid; ttl:~{0}", String_.new_u8(page_bry));
     return false;
   }
   Wdata_doc doc = wdata_mgr.Pages_get(wiki, wdata_ttl);
   if (doc == null) {
     usr_dlg.Warn_many(
         "", "", "ttl cannot be found in wikidata; ttl:~{0}", String_.new_u8(wdata_ttl.Raw()));
     return false;
   }
   byte[] qid_bry = doc.Qid();
   Xoae_page qid_page = wdata_mgr.Wdata_wiki().Data_mgr().Redirect(page, qid_bry);
   if (qid_page.Missing()) {
     usr_dlg.Warn_many(
         "", "", "qid cannot be found in wikidata; qid:~{0}", String_.new_u8(qid_bry));
     return false;
   }
   return true;
 }
 public static Xof_fsdb_itm Make_fsdb(
     Xowe_wiki wiki, byte[] lnki_ttl, Xof_img_size img_size, Xof_url_bldr url_bldr) {
   Xof_fsdb_itm fsdb = new Xof_fsdb_itm();
   lnki_ttl = Xoa_ttl.Replace_spaces(Xoa_app_.Utl__encoder_mgr().Http_url().Decode(lnki_ttl));
   fsdb.Init_at_lnki(
       Xof_exec_tid.Tid_viewer_app,
       wiki.Domain_itm().Abrv_xo(),
       lnki_ttl,
       Xop_lnki_type.Id_none,
       Xop_lnki_tkn.Upright_null,
       Xof_img_size.Size_null_deprecated,
       Xof_img_size.Size_null_deprecated,
       Xof_lnki_time.Null,
       Xof_lnki_page.Null,
       Xof_patch_upright_tid_.Tid_all);
   fsdb.Init_at_hdoc(
       Int_.MaxValue,
       Xof_html_elem
           .Tid_img); // NOTE: set elem_id to "impossible" number, otherwise it will auto-update an
   // image on the page with a super-large size; [[File:Alfred Sisley 062.jpg]]
   Xof_orig_itm orig = wiki.File__orig_mgr().Find_by_ttl_or_null(lnki_ttl);
   if (orig == Xof_orig_itm.Null) return null; // orig not found; need orig in order to get repo
   Xof_repo_itm repo =
       wiki.File__repo_mgr().Get_trg_by_id_or_null(orig.Repo(), lnki_ttl, Bry_.Empty);
   if (repo == null) return null; // repo not found
   fsdb.Init_at_orig(
       orig.Repo(),
       repo.Wiki_domain(),
       orig.Ttl(),
       orig.Ext(),
       orig.W(),
       orig.H(),
       orig.Redirect());
   fsdb.Init_at_html(Xof_exec_tid.Tid_viewer_app, img_size, repo, url_bldr);
   fsdb.File_is_orig_(true);
   return fsdb;
 }