mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v2.1.4.1
This commit is contained in:
@@ -25,4 +25,17 @@ public class Gfo_url_arg {
|
||||
public static Gfo_url_arg new_key_(String key) {
|
||||
return new Gfo_url_arg(Bry_.new_utf8_(key), Bry_.Empty);
|
||||
}
|
||||
public static Gfo_url_arg[] Ary(String... kvs) {
|
||||
int len = kvs.length;
|
||||
Gfo_url_arg[] rv = new Gfo_url_arg[len / 2];
|
||||
String key = null;
|
||||
for (int i = 0; i < len; ++i) {
|
||||
String s = kvs[i];
|
||||
if (i % 2 == 0)
|
||||
key = s;
|
||||
else
|
||||
rv[i / 2] = new Gfo_url_arg(Bry_.new_utf8_(key), Bry_.new_utf8_(s));
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ public class Gfo_url_parser {
|
||||
slash_pos = Bry_.Trim_end_pos(src, slash_pos);
|
||||
site_data.Atrs_set(rel, pos, slash_pos);
|
||||
}
|
||||
public Gfo_url Parse(byte[] src) {Gfo_url rv = new Gfo_url(); this.Parse(rv, src, 0, src.length); return rv;}
|
||||
public boolean Parse(Gfo_url url, byte[] src, int bgn, int end) {
|
||||
this.url = url;
|
||||
url.Ini_(src);
|
||||
@@ -265,6 +266,14 @@ public class Gfo_url_parser {
|
||||
url.Args_bgn_(bgn - 1); // NOTE: bgn is 1st char after ?; -1 to place at ?
|
||||
url.Args_((Gfo_url_arg[])args.Xto_ary(Gfo_url_arg.class));
|
||||
}
|
||||
private void Args_add(byte[] src, int key_bgn, int key_end, int val_bgn, int val_end) {
|
||||
encoder.Decode(src, key_bgn, key_end, tmp_bfr, false);
|
||||
byte[] key = tmp_bfr.Xto_bry_and_clear();
|
||||
encoder.Decode(src, val_bgn, val_end, tmp_bfr, false);
|
||||
byte[] val = tmp_bfr.Xto_bry_and_clear();
|
||||
Gfo_url_arg arg = new Gfo_url_arg(key, val);
|
||||
args.Add(arg);
|
||||
}
|
||||
private void Site_set(byte[] src, int bgn, int end, int dot_count, int dot_pos_0, int dot_pos_1) {
|
||||
encoder.Decode(src, bgn, end, tmp_bfr, false);
|
||||
url.Site_(tmp_bfr.Xto_bry_and_clear());
|
||||
@@ -298,14 +307,6 @@ public class Gfo_url_parser {
|
||||
encoder.Decode(src, bgn, end, tmp_bfr, false);
|
||||
url.Anchor_(tmp_bfr.Xto_bry_and_clear());
|
||||
}
|
||||
private void Args_add(byte[] src, int key_bgn, int key_end, int val_bgn, int val_end) {
|
||||
encoder.Decode(src, key_bgn, key_end, tmp_bfr, false);
|
||||
byte[] key = tmp_bfr.Xto_bry_and_clear();
|
||||
encoder.Decode(src, val_bgn, val_end, tmp_bfr, false);
|
||||
byte[] val = tmp_bfr.Xto_bry_and_clear();
|
||||
Gfo_url_arg arg = new Gfo_url_arg(key, val);
|
||||
args.Add(arg);
|
||||
}
|
||||
private static final Bry_bfr tmp_bfr = Bry_bfr.reset_(500);
|
||||
public static final byte[] Bry_double_slash = new byte[] {Byte_ascii.Slash, Byte_ascii.Slash};
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx;
|
||||
public class Gfo_usr_dlg_base implements Gfo_usr_dlg {
|
||||
private Bry_fmtr tmp_fmtr = Bry_fmtr.tmp_().Fail_when_invalid_escapes_(false); // do not fail b/c msgs may contain excerpt of random text; EX:[[User:A|~A~]] DATE:2014-11-28
|
||||
private Bry_bfr tmp_bfr = Bry_bfr.new_();
|
||||
public Gfo_usr_dlg_ui Ui_wkr() {return ui_wkr;} public void Ui_wkr_(Gfo_usr_dlg_ui v) {ui_wkr = v;} Gfo_usr_dlg_ui ui_wkr = Gfo_usr_dlg_ui_.Null;
|
||||
public Gfo_log_wtr Log_wtr() {return log_wtr;} public void Log_wtr_(Gfo_log_wtr v) {log_wtr = v;} Gfo_log_wtr log_wtr;
|
||||
@gplx.Virtual public void Clear() {ui_wkr.Clear();}
|
||||
@@ -41,15 +43,15 @@ public class Gfo_usr_dlg_base implements Gfo_usr_dlg {
|
||||
log_wtr.Log_err(Err_.Message_gplx(rv));
|
||||
return rv;
|
||||
}
|
||||
String Bld_msg_many(String grp_key, String msg_key, String fmt, Object[] args) {
|
||||
private String Bld_msg_many(String grp_key, String msg_key, String fmt, Object[] args) {
|
||||
tmp_fmtr.Fmt_(fmt).Bld_bfr_many(tmp_bfr, args);
|
||||
return tmp_bfr.Xto_str_and_clear();
|
||||
} private Bry_fmtr tmp_fmtr = Bry_fmtr.tmp_(); Bry_bfr tmp_bfr = Bry_bfr.new_();
|
||||
String Bld_msg_one(String grp_key, String msg_key, String fmt, Object val) {
|
||||
}
|
||||
private String Bld_msg_one(String grp_key, String msg_key, String fmt, Object val) {
|
||||
tmp_fmtr.Fmt_(fmt).Bld_bfr_one(tmp_bfr, val);
|
||||
return tmp_bfr.Xto_str_and_clear();
|
||||
}
|
||||
String Bld_msg_none(String grp_key, String msg_key, String fmt) {
|
||||
private String Bld_msg_none(String grp_key, String msg_key, String fmt) {
|
||||
return fmt;
|
||||
}
|
||||
private void Ui_wkr_parse(String s) {
|
||||
|
||||
Reference in New Issue
Block a user