1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2024-09-29 06:50:50 +00:00

ParserFunctions: Fix missing headers from several dozen ru.s Slavik pages

This commit is contained in:
gnosygnu 2016-11-21 08:29:36 -05:00
parent 82ade50f5e
commit 55b81d4a60
11 changed files with 44 additions and 32 deletions

View File

@ -29,13 +29,14 @@ public class Xoa_app_version_itm {
public int Priority() {return priority;} private final int priority; public int Priority() {return priority;} private final int priority;
public String Summary() {return summary;} private final String summary; public String Summary() {return summary;} private final String summary;
public String Details() {return details;} private final String details; public String Details() {return details;} private final String details;
public String Priority_str() {
switch (priority) { public static final int Priority__major = 7, Priority__minor = 5, Priority__trivial = 3;
case 3: return "trivial"; public static String Priority__to_name(int v) {
case 5: return "minor"; switch (v) {
case Priority__trivial: return "trivial";
case Priority__minor: return "minor";
case Priority__major: return "major"; case Priority__major: return "major";
default: throw Err_.new_unhandled_default(priority); default: throw Err_.new_unhandled_default(v);
} }
} }
public static final int Priority__major = 7;
} }

View File

@ -37,7 +37,7 @@ public class Xoa_app_version_tbl implements Db_tbl {
( "SELECT *" ( "SELECT *"
, "FROM app_version" , "FROM app_version"
, "WHERE version_date > '{0}'" , "WHERE version_date > '{0}'"
, "ORDER BY version_date" , "ORDER BY version_date DESC"
), date); ), date);
Db_rdr rdr = conn.Stmt_sql(sql).Exec_select__rls_auto(); Db_rdr rdr = conn.Stmt_sql(sql).Exec_select__rls_auto();

View File

@ -35,25 +35,17 @@ class Xoa_update_html extends Xow_special_wtr__base {
} }
// load from db // load from db
String check_date = "2016-11-01 02:03:04";
Xoa_app_version_itm[] db_itms = db_mgr.Tbl__app_version().Select_by_date(Xoa_app_.Build_date); Xoa_app_version_itm[] db_itms = db_mgr.Tbl__app_version().Select_by_date(Xoa_app_.Build_date);
if (db_itms.length == 0) return new Xoa_update_itm__root(Xoa_app_.Version, Xoa_app_.Build_date, "", "up-to-date", "", "", "", ""); String build_date = String_.Mid(Xoa_app_.Build_date, 0, String_.FindFwd(Xoa_app_.Build_date, " "));
if (db_itms.length == 0) return new Xoa_update_itm__root(Xoa_app_.Version, build_date, check_date, "", "", Xoa_app_version_itm.Priority__trivial, "", "");
// convert to gui itm // convert to gui itm
Xoa_app_version_itm db_itm = db_itms[0]; Xoa_app_version_itm db_itm = db_itms[0];
Xoa_update_itm__root root = new Xoa_update_itm__root(Xoa_app_.Version, Xoa_app_.Build_date, Find_major(db_itms), db_itm.Id(), db_itm.Date(), db_itm.Priority_str(), db_itm.Summary(), db_itm.Details()); Xoa_update_itm__root root = new Xoa_update_itm__root(Xoa_app_.Version, build_date, check_date, db_itm.Id(), db_itm.Date(), db_itm.Priority(), db_itm.Summary(), db_itm.Details());
root.Itms_(To_gui_itm(db_itms)); root.Itms_(To_gui_itm(db_itms));
return root; return root;
} }
private static String Find_major(Xoa_app_version_itm[] db_itms) {
int len = db_itms.length;
Xoa_app_version_itm major = null;
for (int i = 0; i < len; i++) {
Xoa_app_version_itm db_itm = db_itms[i];
if (db_itm.Priority() >= Xoa_app_version_itm.Priority__major)
major = db_itm;
}
return major == null ? "" : String_.Format("({0}) {1}: {2}", major.Priority_str(), major.Id(), major.Summary());
}
private static Xoa_update_itm__leaf[] To_gui_itm(Xoa_app_version_itm[] db_itms) { private static Xoa_update_itm__leaf[] To_gui_itm(Xoa_app_version_itm[] db_itms) {
int len = db_itms.length; int len = db_itms.length;
Xoa_update_itm__leaf[] rv = new Xoa_update_itm__leaf[len]; Xoa_update_itm__leaf[] rv = new Xoa_update_itm__leaf[len];
@ -63,7 +55,7 @@ class Xoa_update_html extends Xow_special_wtr__base {
return rv; return rv;
} }
private static Xoa_update_itm__leaf To_gui_itm(Xoa_app_version_itm db_itm) { private static Xoa_update_itm__leaf To_gui_itm(Xoa_app_version_itm db_itm) {
return new Xoa_update_itm__leaf(db_itm.Id(), db_itm.Date(), db_itm.Priority_str(), db_itm.Summary(), db_itm.Details()); return new Xoa_update_itm__leaf(db_itm.Id(), db_itm.Date(), db_itm.Priority(), db_itm.Summary(), db_itm.Details());
} }
@Override protected void Bld_tags(Xoa_app app, Io_url addon_dir, Xopage_html_data page_data) { @Override protected void Bld_tags(Xoa_app app, Io_url addon_dir, Xopage_html_data page_data) {
@ -72,6 +64,7 @@ class Xoa_update_html extends Xow_special_wtr__base {
Xopg_tag_wtr_.Add__xohelp (head_tags, app.Fsys_mgr().Http_root()); Xopg_tag_wtr_.Add__xohelp (head_tags, app.Fsys_mgr().Http_root());
Xopg_tag_wtr_.Add__xolog (head_tags, app.Fsys_mgr().Http_root()); Xopg_tag_wtr_.Add__xolog (head_tags, app.Fsys_mgr().Http_root());
Xopg_tag_wtr_.Add__xoajax (head_tags, app.Fsys_mgr().Http_root(), app); Xopg_tag_wtr_.Add__xoajax (head_tags, app.Fsys_mgr().Http_root(), app);
Xopg_alertify_.Add_tags (head_tags, app.Fsys_mgr().Http_root());
head_tags.Add(Xopg_tag_itm.New_css_file(addon_dir.GenSubFil_nest("bin", "xoa_update.css"))); head_tags.Add(Xopg_tag_itm.New_css_file(addon_dir.GenSubFil_nest("bin", "xoa_update.css")));
head_tags.Add(Xopg_tag_itm.New_js_file(addon_dir.GenSubFil_nest("bin", "xoa_update.js"))); head_tags.Add(Xopg_tag_itm.New_js_file(addon_dir.GenSubFil_nest("bin", "xoa_update.js")));

View File

@ -17,9 +17,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package gplx.xowa.addons.apps.updates.specials; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.updates.*; package gplx.xowa.addons.apps.updates.specials; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.updates.*;
import gplx.langs.mustaches.*; import gplx.langs.mustaches.*;
import gplx.xowa.addons.apps.updates.dbs.*;
class Xoa_update_itm__leaf implements Mustache_doc_itm { class Xoa_update_itm__leaf implements Mustache_doc_itm {
private final String version, date, priority, summary, details; private final String version, date, summary, details;
public Xoa_update_itm__leaf(String version, String date, String priority, String summary, String details) { private final int priority;
public Xoa_update_itm__leaf(String version, String date, int priority, String summary, String details) {
this.version = version; this.version = version;
this.date = date; this.date = date;
this.priority = priority; this.priority = priority;
@ -29,12 +31,13 @@ class Xoa_update_itm__leaf implements Mustache_doc_itm {
@gplx.Virtual public boolean Mustache__write(String k, Mustache_bfr bfr) { @gplx.Virtual public boolean Mustache__write(String k, Mustache_bfr bfr) {
if (String_.Eq(k, "version")) bfr.Add_str_u8(version); if (String_.Eq(k, "version")) bfr.Add_str_u8(version);
else if (String_.Eq(k, "date")) bfr.Add_str_u8(date); else if (String_.Eq(k, "date")) bfr.Add_str_u8(date);
else if (String_.Eq(k, "priority")) bfr.Add_str_u8(priority); else if (String_.Eq(k, "priority")) bfr.Add_str_u8(Xoa_app_version_itm.Priority__to_name(priority));
else if (String_.Eq(k, "summary")) bfr.Add_str_u8(summary); else if (String_.Eq(k, "summary")) bfr.Add_str_u8(summary);
else if (String_.Eq(k, "details")) bfr.Add_str_u8(details); else if (String_.Eq(k, "details")) bfr.Add_str_u8(details);
return true; return true;
} }
@gplx.Virtual public Mustache_doc_itm[] Mustache__subs(String key) { @gplx.Virtual public Mustache_doc_itm[] Mustache__subs(String key) {
if (String_.Eq(key, "priority_is_major")) return Mustache_doc_itm_.Ary__bool(priority >= Xoa_app_version_itm.Priority__major);
return Mustache_doc_itm_.Ary__empty; return Mustache_doc_itm_.Ary__empty;
} }

View File

@ -17,15 +17,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package gplx.xowa.addons.apps.updates.specials; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.updates.*; package gplx.xowa.addons.apps.updates.specials; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.updates.*;
import gplx.langs.mustaches.*; import gplx.langs.mustaches.*;
class Xoa_update_itm__root extends Xoa_update_itm__leaf { private final String current_version, current_date, major; class Xoa_update_itm__root extends Xoa_update_itm__leaf { private final String current_version, current_date, check_date;
private Xoa_update_itm__leaf[] itms = Xoa_update_itm__leaf.Ary__empty; private Xoa_update_itm__leaf[] itms = Xoa_update_itm__leaf.Ary__empty;
public Xoa_update_itm__root public Xoa_update_itm__root
( String current_version, String current_date, String major ( String current_version, String current_date, String check_date
, String version, String date, String priority, String summary, String details , String version, String date, int priority, String summary, String details
) {super(version, date, priority, summary, details); ) {super(version, date, priority, summary, details);
this.current_version = current_version; this.current_version = current_version;
this.current_date = current_date; this.current_date = current_date;
this.major = major; this.check_date = check_date;
} }
public void Itms_(Xoa_update_itm__leaf[] v) { public void Itms_(Xoa_update_itm__leaf[] v) {
this.itms = v; this.itms = v;
@ -33,11 +33,12 @@ class Xoa_update_itm__root extends Xoa_update_itm__leaf { private final Stri
@Override public boolean Mustache__write(String k, Mustache_bfr bfr) { @Override public boolean Mustache__write(String k, Mustache_bfr bfr) {
if (String_.Eq(k, "current_version")) bfr.Add_str_u8(current_version); if (String_.Eq(k, "current_version")) bfr.Add_str_u8(current_version);
else if (String_.Eq(k, "current_date")) bfr.Add_str_u8(current_date); else if (String_.Eq(k, "current_date")) bfr.Add_str_u8(current_date);
else if (String_.Eq(k, "major")) bfr.Add_str_u8(major); else if (String_.Eq(k, "check_date")) bfr.Add_str_u8(check_date);
return super.Mustache__write (k, bfr); return super.Mustache__write (k, bfr);
} }
@Override public Mustache_doc_itm[] Mustache__subs(String key) { @Override public Mustache_doc_itm[] Mustache__subs(String key) {
if (String_.Eq(key, "itms")) return itms; if (String_.Eq(key, "itms")) return itms;
else if (String_.Eq(key, "itms_exist")) return Mustache_doc_itm_.Ary__bool(itms.length > 0);
return super.Mustache__subs(key); return super.Mustache__subs(key);
} }
} }

View File

@ -111,6 +111,8 @@ kwd_mgr.New(Bool_.Y, Xol_kwd_grp_.Id_ttl_talk_txt, "TALKPAGENAME");
kwd_mgr.New(Bool_.Y, Xol_kwd_grp_.Id_ttl_talk_url, "TALKPAGENAMEE"); kwd_mgr.New(Bool_.Y, Xol_kwd_grp_.Id_ttl_talk_url, "TALKPAGENAMEE");
kwd_mgr.New(Bool_.Y, Xol_kwd_grp_.Id_ttl_subj_txt, "SUBJECTPAGENAME", "ARTICLEPAGENAME"); kwd_mgr.New(Bool_.Y, Xol_kwd_grp_.Id_ttl_subj_txt, "SUBJECTPAGENAME", "ARTICLEPAGENAME");
kwd_mgr.New(Bool_.Y, Xol_kwd_grp_.Id_ttl_subj_url, "SUBJECTPAGENAMEE", "ARTICLEPAGENAMEE"); kwd_mgr.New(Bool_.Y, Xol_kwd_grp_.Id_ttl_subj_url, "SUBJECTPAGENAMEE", "ARTICLEPAGENAMEE");
kwd_mgr.New(Bool_.N, Xol_kwd_grp_.Id_ttl_root_txt, "ROOTPAGENAME");
kwd_mgr.New(Bool_.N, Xol_kwd_grp_.Id_ttl_root_url, "ROOTPAGENAMEE");
kwd_mgr.New(Bool_.N, Xol_kwd_grp_.Id_msg, "msg"); kwd_mgr.New(Bool_.N, Xol_kwd_grp_.Id_msg, "msg");
kwd_mgr.New(Bool_.N, Xol_kwd_grp_.Id_subst, "subst:"); kwd_mgr.New(Bool_.N, Xol_kwd_grp_.Id_subst, "subst:");
kwd_mgr.New(Bool_.N, Xol_kwd_grp_.Id_safesubst, "safesubst:"); kwd_mgr.New(Bool_.N, Xol_kwd_grp_.Id_safesubst, "safesubst:");

View File

@ -235,8 +235,10 @@ public static final int
, Id_categorytree = 213 , Id_categorytree = 213
, Id_lsth = 214 , Id_lsth = 214
, Id_assessment = 215 , Id_assessment = 215
, Id_ttl_root_txt = 216
, Id_ttl_root_url = 217
; ;
public static final int Id__max = 216; public static final int Id__max = 218;
private static byte[] ary_itm_(int id) { private static byte[] ary_itm_(int id) {
switch (id) { switch (id) {
@ -294,6 +296,8 @@ case Xol_kwd_grp_.Id_ttl_talk_txt: return Bry_.new_a7("talkpagename");
case Xol_kwd_grp_.Id_ttl_talk_url: return Bry_.new_a7("talkpagenamee"); case Xol_kwd_grp_.Id_ttl_talk_url: return Bry_.new_a7("talkpagenamee");
case Xol_kwd_grp_.Id_ttl_subj_txt: return Bry_.new_a7("subjectpagename"); case Xol_kwd_grp_.Id_ttl_subj_txt: return Bry_.new_a7("subjectpagename");
case Xol_kwd_grp_.Id_ttl_subj_url: return Bry_.new_a7("subjectpagenamee"); case Xol_kwd_grp_.Id_ttl_subj_url: return Bry_.new_a7("subjectpagenamee");
case Xol_kwd_grp_.Id_ttl_root_txt: return Bry_.new_u8("rootpagename");
case Xol_kwd_grp_.Id_ttl_root_url: return Bry_.new_u8("rootpagenamee");
case Xol_kwd_grp_.Id_msg: return Bry_.new_a7("msg"); case Xol_kwd_grp_.Id_msg: return Bry_.new_a7("msg");
case Xol_kwd_grp_.Id_subst: return Bry_.new_a7("subst"); case Xol_kwd_grp_.Id_subst: return Bry_.new_a7("subst");
case Xol_kwd_grp_.Id_safesubst: return Bry_.new_a7("safesubst"); case Xol_kwd_grp_.Id_safesubst: return Bry_.new_a7("safesubst");

View File

@ -150,6 +150,8 @@ public class Pf_func_ {
, Xol_kwd_grp_.Id_ttl_subj_txt , Xol_kwd_grp_.Id_ttl_subj_txt
, Xol_kwd_grp_.Id_ttl_subj_url , Xol_kwd_grp_.Id_ttl_subj_url
, Xol_kwd_grp_.Id_ttl_talk_txt , Xol_kwd_grp_.Id_ttl_talk_txt
, Xol_kwd_grp_.Id_ttl_root_url
, Xol_kwd_grp_.Id_ttl_root_txt
, Xol_kwd_grp_.Id_ttl_talk_url , Xol_kwd_grp_.Id_ttl_talk_url
, Xol_kwd_grp_.Id_site_sitename , Xol_kwd_grp_.Id_site_sitename
, Xol_kwd_grp_.Id_site_servername , Xol_kwd_grp_.Id_site_servername
@ -302,6 +304,8 @@ public class Pf_func_ {
case Xol_kwd_grp_.Id_ttl_leaf_url: case Xol_kwd_grp_.Id_ttl_leaf_url:
case Xol_kwd_grp_.Id_ttl_subj_txt: case Xol_kwd_grp_.Id_ttl_subj_txt:
case Xol_kwd_grp_.Id_ttl_subj_url: case Xol_kwd_grp_.Id_ttl_subj_url:
case Xol_kwd_grp_.Id_ttl_root_txt:
case Xol_kwd_grp_.Id_ttl_root_url:
case Xol_kwd_grp_.Id_ttl_talk_txt: case Xol_kwd_grp_.Id_ttl_talk_txt:
case Xol_kwd_grp_.Id_ttl_talk_url: return Pfunc_ttl.Instance; case Xol_kwd_grp_.Id_ttl_talk_url: return Pfunc_ttl.Instance;

View File

@ -33,6 +33,8 @@ public class Pfunc_ttl extends Pf_func_base {
case Xol_kwd_grp_.Id_ttl_leaf_url: bfr.Add(ttl.Leaf_url()); break; case Xol_kwd_grp_.Id_ttl_leaf_url: bfr.Add(ttl.Leaf_url()); break;
case Xol_kwd_grp_.Id_ttl_base_txt: bfr.Add(ttl.Base_txt()); break; case Xol_kwd_grp_.Id_ttl_base_txt: bfr.Add(ttl.Base_txt()); break;
case Xol_kwd_grp_.Id_ttl_base_url: bfr.Add(ttl.Base_url()); break; case Xol_kwd_grp_.Id_ttl_base_url: bfr.Add(ttl.Base_url()); break;
case Xol_kwd_grp_.Id_ttl_root_txt: bfr.Add(ttl.Root_txt()); break;
case Xol_kwd_grp_.Id_ttl_root_url: bfr.Add(Xoa_ttl.Replace_spaces(ttl.Root_txt())); break;
case Xol_kwd_grp_.Id_ttl_subj_txt: bfr.Add(ttl.Subj_txt()); break; case Xol_kwd_grp_.Id_ttl_subj_txt: bfr.Add(ttl.Subj_txt()); break;
case Xol_kwd_grp_.Id_ttl_subj_url: bfr.Add(ttl.Subj_url()); break; case Xol_kwd_grp_.Id_ttl_subj_url: bfr.Add(ttl.Subj_url()); break;
case Xol_kwd_grp_.Id_ttl_talk_txt: bfr.Add(ttl.Talk_txt()); break; case Xol_kwd_grp_.Id_ttl_talk_txt: bfr.Add(ttl.Talk_txt()); break;

View File

@ -32,6 +32,8 @@ public class Pfunc_ttl_tst {
@Test public void Ttl_leaf_url() {fxt.Page_ttl_("a b/c/d e"); fxt.Test_parse_tmpl_str_test("{{SUBPAGENAMEE}}" , "{{test}}", "d_e");} @Test public void Ttl_leaf_url() {fxt.Page_ttl_("a b/c/d e"); fxt.Test_parse_tmpl_str_test("{{SUBPAGENAMEE}}" , "{{test}}", "d_e");}
@Test public void Ttl_base_txt() {fxt.Page_ttl_("a b/c/d e"); fxt.Test_parse_tmpl_str_test("{{BASEPAGENAME}}" , "{{test}}", "A b/c");} @Test public void Ttl_base_txt() {fxt.Page_ttl_("a b/c/d e"); fxt.Test_parse_tmpl_str_test("{{BASEPAGENAME}}" , "{{test}}", "A b/c");}
@Test public void Ttl_base_url() {fxt.Page_ttl_("a b/c/d e"); fxt.Test_parse_tmpl_str_test("{{BASEPAGENAMEE}}" , "{{test}}", "A_b/c");} @Test public void Ttl_base_url() {fxt.Page_ttl_("a b/c/d e"); fxt.Test_parse_tmpl_str_test("{{BASEPAGENAMEE}}" , "{{test}}", "A_b/c");}
@Test public void Rootpagename() {fxt.Page_ttl_("a b/c/d e"); fxt.Test_parse_tmpl_str_test("{{ROOTPAGENAME}}" , "{{test}}", "A b");}
@Test public void Rootpagenamee() {fxt.Page_ttl_("a b/c/d e"); fxt.Test_parse_tmpl_str_test("{{ROOTPAGENAMEE}}" , "{{test}}", "A_b");}
@Test public void Ttl_subj_txt() {fxt.Page_ttl_("Help talk:a b"); fxt.Test_parse_tmpl_str_test("{{SUBJECTPAGENAME}}" , "{{test}}", "Help:A b");} @Test public void Ttl_subj_txt() {fxt.Page_ttl_("Help talk:a b"); fxt.Test_parse_tmpl_str_test("{{SUBJECTPAGENAME}}" , "{{test}}", "Help:A b");}
@Test public void Ttl_subj_url() {fxt.Page_ttl_("Help talk:a b"); fxt.Test_parse_tmpl_str_test("{{SUBJECTPAGENAMEE}}" , "{{test}}", "Help:A_b");} @Test public void Ttl_subj_url() {fxt.Page_ttl_("Help talk:a b"); fxt.Test_parse_tmpl_str_test("{{SUBJECTPAGENAMEE}}" , "{{test}}", "Help:A_b");}
@Test public void Ttl_talk_txt() {fxt.Page_ttl_("Help:a b"); fxt.Test_parse_tmpl_str_test("{{TALKPAGENAME}}" , "{{test}}", "Help talk:A b");} @Test public void Ttl_talk_txt() {fxt.Page_ttl_("Help:a b"); fxt.Test_parse_tmpl_str_test("{{TALKPAGENAME}}" , "{{test}}", "Help talk:A b");}

View File

@ -69,9 +69,9 @@ public class Wdata_pf_property extends Pf_func_base {
num_parser.Parse(bry, 1, bry_len); num_parser.Parse(bry, 1, bry_len);
return num_parser.Has_err() ? Wdata_wiki_mgr.Pid_null : num_parser.Rv_as_int(); return num_parser.Has_err() ? Wdata_wiki_mgr.Pid_null : num_parser.Rv_as_int();
} }
public static void Print_self(Gfo_usr_dlg usr_dlg, Bry_bfr bfr, byte[] src, Xot_invk self, String warn_cls, String warn_fmt, Object... args) { private static void Print_self(Gfo_usr_dlg usr_dlg, Bry_bfr bfr, byte[] src, Xot_invk self, String warn_cls, String warn_fmt, Object... args) {
bfr.Add_mid(src, self.Src_bgn(), self.Src_end()); bfr.Add_mid(src, self.Src_bgn(), self.Src_end());
usr_dlg.Warn_many(GRP_KEY, warn_cls, warn_fmt, args); usr_dlg.Log_many(GRP_KEY, warn_cls, warn_fmt, args);
} }
public static void Print_empty(Gfo_usr_dlg usr_dlg, String warn_cls, String warn_fmt, Object... args) { public static void Print_empty(Gfo_usr_dlg usr_dlg, String warn_cls, String warn_fmt, Object... args) {
usr_dlg.Warn_many(GRP_KEY, warn_cls, warn_fmt, args); usr_dlg.Warn_many(GRP_KEY, warn_cls, warn_fmt, args);