From 42842f0bcc091964ef0dc37a4dfa95a61fdca034 Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Thu, 22 Aug 2019 07:07:15 -0400 Subject: [PATCH] Category: Replace spaces with underscores in category name [#557] --- .../src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java | 6 ++++++ .../gplx/xowa/xtns/scribunto/libs/Scrib_lib_site_tst.java | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java b/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java index 1146d8131..85afb00dc 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java @@ -51,10 +51,16 @@ public class Scrib_lib_site implements Scrib_lib { return ns_obj == null ? rslt.Init_ary_empty() : rslt.Init_obj(((Xow_ns)ns_obj).Id()); } public boolean PagesInCategory(Scrib_proc_args args, Scrib_proc_rslt rslt) { + // args byte[] ctg_name = args.Pull_bry(0); String ctg_type = args.Cast_str_or(1, "all"); + + // get ttl Xoa_ttl ctg_ttl = core.Wiki().Ttl_parse(Xow_ns_.Tid__category, ctg_name); if (ctg_ttl == null) return rslt.Init_obj(0); + // replace space with underlines (and possibly other normalizations) else TOC will not show; PAGE:en.wiktionary.org/wiki/Category:English_conjunctions; ISSUE#:557; DATE:2019-08-22 + ctg_name = ctg_ttl.Page_db(); + Xoax_ctg_addon ctg_mgr = Xoax_ctg_addon.Get(core.Wiki()); Xoctg_ctg_itm ctg_itm = ctg_mgr.Itms__get_or_null(ctg_name); if (ctg_itm == null) { diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site_tst.java b/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site_tst.java index 4dc51b2a0..fd30feac7 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site_tst.java @@ -47,6 +47,10 @@ public class Scrib_lib_site_tst { , " files=1" )); } + @Test public void PagesInCategory__spaces() { // replace space with underlines (and possibly other normalizations) else TOC will not show; PAGE:en.wiktionary.org/wiki/Category:English_conjunctions; ISSUE#:557; DATE:2019-08-22 + gplx.xowa.addons.wikis.ctgs.Xoax_ctg_addon.Get(fxt.Core().Wiki()).Itms__add(Bry_.new_a7("A_b"), 3, 2, 1); + fxt.Test__proc__ints(lib, Scrib_lib_site.Invk_pagesInCategory, Object_.Ary("A b", "pages") , 3); + } @Test public void PagesInNs() { fxt.Test__proc__ints(lib, Scrib_lib_site.Invk_pagesInNs, Object_.Ary("12"), 0); }