From fbe19f46140adb2b0c83af97c39f16eaa646bf88 Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Tue, 17 Apr 2018 17:27:28 -0400 Subject: [PATCH] Wikibase: Do not fail to run util.site_meta if wikimedia api returns nothing --- .../src/gplx/xowa/bldrs/cmds/utils/Xob_site_meta_cmd.java | 5 +++++ 400_xowa/src/gplx/xowa/wikis/domains/Xow_domain_regy.java | 1 + 2 files changed, 6 insertions(+) diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_site_meta_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_site_meta_cmd.java index ca2994d61..02b1444bf 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_site_meta_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_site_meta_cmd.java @@ -60,6 +60,10 @@ public class Xob_site_meta_cmd implements Xob_cmd { else break; } + if (json_text == null) {// if wmf_api never returns, exit else CONSTRAINT error upon INSERT; EX:als.wiktionary.org; DATE:2018-04-17 + app.Usr_dlg().Note_many("", "", "wm.api: failed; wiki=~{0} api=~{1}", domain_str); + continue; + } byte[] domain_bry = Bry_.new_u8(domain_str); byte[] site_abrv = Xow_abrv_xo_.To_bry(domain_bry); json_db.Tbl__core().Insert(site_abrv, domain_bry, Bool_.N, json_date, json_text); @@ -70,6 +74,7 @@ public class Xob_site_meta_cmd implements Xob_cmd { String domain_str = reqd_ary[i]; byte[] site_abrv = Xow_abrv_xo_.To_bry(Bry_.new_u8(domain_str)); Site_core_itm core_itm = json_db.Tbl__core().Select_itm(site_abrv); + if (core_itm == null) continue; // sites with no wmf_api will be null; EX:als.wiktionary.org DATE:2018-04-17 if (core_itm.Json_completed()) continue; Site_meta_itm meta_itm = new Site_meta_itm(); site_parser.Parse_root(meta_itm, String_.new_u8(core_itm.Site_domain()), core_itm.Json_text()); diff --git a/400_xowa/src/gplx/xowa/wikis/domains/Xow_domain_regy.java b/400_xowa/src/gplx/xowa/wikis/domains/Xow_domain_regy.java index 29247805b..616b50a2b 100644 --- a/400_xowa/src/gplx/xowa/wikis/domains/Xow_domain_regy.java +++ b/400_xowa/src/gplx/xowa/wikis/domains/Xow_domain_regy.java @@ -853,6 +853,7 @@ public class Xow_domain_regy { , "din.wikipedia.org" , "hi.wikiversity.org" , "hi.wikivoyage.org" +, "hif.wiktionary.org" }; //, "als.wikisource.org" //, "als.wikinews.org"