Dev: Refactor Xoa_ttl to use one url_encoder [#627]

staging
gnosygnu 4 years ago
parent b2a6f7bbf1
commit 89d0ba1271

@ -57,8 +57,8 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF.
}
public String Page_db_as_str() {return String_.new_u8(Page_db());}
public byte[] Page_url_w_anch() {
synchronized (href_encoder) { // LOCK:static-obj
return href_encoder.Encode(Bry_.Mid(full_txt, page_bgn, qarg_bgn == -1 ? full_txt.length : qarg_bgn - 1));
synchronized (url_encoder) { // LOCK:static-obj
return url_encoder.Encode(Bry_.Mid(full_txt, page_bgn, qarg_bgn == -1 ? full_txt.length : qarg_bgn - 1));
}
}
public int Leaf_bgn() {return leaf_bgn;}
@ -70,8 +70,8 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF.
public byte[] Talk_txt() {return ns.Id_is_talk() ? Full_txt() : Bry_.Add(tors_txt, Page_txt());}
public byte[] Subj_txt() {return ns.Id_is_subj() ? Full_txt() : Bry_.Add(tors_txt, Page_txt());}
public byte[] Full_url() {
synchronized (href_encoder) { // LOCK:static-obj
return href_encoder.Encode(full_txt);
synchronized (url_encoder) { // LOCK:static-obj
return url_encoder.Encode(full_txt);
}
}
public String Full_db_as_str() {return String_.new_u8(Full_db());}
@ -99,9 +99,9 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF.
return url_encoder.Encode(this.Talk_txt());
}
}
public byte[] Full_db_href() { // NOTE: returns Full_db but encodes for href; EX:Help:A_^ -> Help:A_%5E
synchronized (href_encoder) { // LOCK:static-obj
return href_encoder.Encode(this.Full_db());
public byte[] Full_db_url() { // NOTE: returns Full_db but encodes for href; EX:Help:A_^ -> Help:A_%5E
synchronized (url_encoder) { // LOCK:static-obj
return url_encoder.Encode(this.Full_db());
}
}
public byte[] Subj_url() {
@ -215,8 +215,7 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF.
.Add_many_int(Char__bidi , Bry_.New_by_ints(0xE2, 0x80, 0x8E), Bry_.New_by_ints(0xE2, 0x80, 0x8F), Bry_.New_by_ints(0xE2, 0x80, 0xAA), Bry_.New_by_ints(0xE2, 0x80, 0xAB), Bry_.New_by_ints(0xE2, 0x80, 0xAC), Bry_.New_by_ints(0xE2, 0x80, 0xAD), Bry_.New_by_ints(0xE2, 0x80, 0xAE))
.Add_many_int(Char__ws , "\u00A0", "\u1680", "\u180E", "\u2000", "\u2001", "\u2002", "\u2003", "\u2004", "\u2005", "\u2006", "\u2007", "\u2008", "\u2009", "\u200A", "\u2028", "\u2029", "\u202F", "\u205F", "\u3000");
private final static Gfo_url_encoder href_encoder = Gfo_url_encoder_.New__html_href_mw(Bool_.Y).Make();
private final static Xoa_url_encoder url_encoder = new Xoa_url_encoder();
private final static Gfo_url_encoder url_encoder = Gfo_url_encoder_.New__html_href_mw(Bool_.Y).Make();
public static byte[] Replace_spaces(byte[] raw) {return Bry_.Replace(raw, Byte_ascii.Space, Byte_ascii.Underline);}
public static byte[] Replace_unders(byte[] raw) {return Replace_unders(raw, 0, raw.length);}

@ -81,7 +81,7 @@ public class Xop_redirect_mgr {
byte[] display_ttl = Xoa_ttl.Replace_unders(redirect_itm.Ttl().Full_db());
redirect_bfr.Add(Gfh_bldr_.Bry__a_lhs_w_href) // '<a href="'
.Add(Xoh_href_.Bry__wiki) // '/wiki/'
.Add(redirect_itm.Ttl().Full_db_href()) // 'PageA'
.Add(redirect_itm.Ttl().Full_db_url()) // 'PageA'
.Add(Bry_redirect_arg) // ?redirect=no
.Add(Gfh_bldr_.Bry__cls__nth) // '" class="'
.Add_str_a7("mw-redirect") // mw-redirect // NOTE:MW does this differently, but for now, manually add; REF.MW:https://github.com/wikimedia/mediawiki/blob/82311f8c2c79bc469cae14e17546fd79d3541b76/includes/linker/LinkRenderer.php#L479

Loading…
Cancel
Save