mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
Source: Restore broken commit
This commit is contained in:
34
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_grp.java
Normal file
34
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_grp.java
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
XOWA: the XOWA Offline Wiki Application
|
||||
Copyright (C) 2012 gnosygnu@gmail.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.langs.kwds; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
|
||||
public class Xol_kwd_grp {// REF.MW: Messages_en.php; EX: 'redirect' => array( 0, '#REDIRECT' )
|
||||
public Xol_kwd_grp(byte[] key) {this.key = key;}
|
||||
public byte[] Key() {return key;} private final byte[] key;
|
||||
public boolean Case_match() {return case_match;} private boolean case_match;
|
||||
public Xol_kwd_itm[] Itms() {return itms;} private Xol_kwd_itm[] itms = Xol_kwd_itm.Ary_empty;
|
||||
public void Srl_load(boolean case_match, byte[][] words) {
|
||||
this.case_match = case_match;
|
||||
int words_len = words.length;
|
||||
itms = new Xol_kwd_itm[words_len];
|
||||
for (int i = 0; i < words_len; i++) {
|
||||
byte[] word = words[i];
|
||||
Xol_kwd_itm itm = new Xol_kwd_itm(word);
|
||||
itms[i] = itm;
|
||||
}
|
||||
}
|
||||
}
|
||||
489
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_grp_.java
Normal file
489
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_grp_.java
Normal file
@@ -0,0 +1,489 @@
|
||||
/*
|
||||
XOWA: the XOWA Offline Wiki Application
|
||||
Copyright (C) 2012 gnosygnu@gmail.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.langs.kwds; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
|
||||
import gplx.core.primitives.*;
|
||||
public class Xol_kwd_grp_ {
|
||||
public static final int
|
||||
Id_redirect = 0
|
||||
, Id_notoc = 1
|
||||
, Id_nogallery = 2
|
||||
, Id_forcetoc = 3
|
||||
, Id_toc = 4
|
||||
, Id_noeditsection = 5
|
||||
, Id_noheader = 6
|
||||
, Id_utc_month_int_len2 = 7
|
||||
, Id_utc_month_int = 8
|
||||
, Id_utc_month_name = 9
|
||||
, Id_utc_month_gen = 10
|
||||
, Id_utc_month_abrv = 11
|
||||
, Id_utc_day_int = 12
|
||||
, Id_utc_day_int_len2 = 13
|
||||
, Id_utc_day_name = 14
|
||||
, Id_utc_year = 15
|
||||
, Id_utc_time = 16
|
||||
, Id_utc_hour = 17
|
||||
, Id_lcl_month_int_len2 = 18
|
||||
, Id_lcl_month_int = 19
|
||||
, Id_lcl_month_name = 20
|
||||
, Id_lcl_month_gen = 21
|
||||
, Id_lcl_month_abrv = 22
|
||||
, Id_lcl_day_int = 23
|
||||
, Id_lcl_day_int_len2 = 24
|
||||
, Id_lcl_day_name = 25
|
||||
, Id_lcl_year = 26
|
||||
, Id_lcl_time = 27
|
||||
, Id_lcl_hour = 28
|
||||
, Id_num_pages = 29
|
||||
, Id_num_articles = 30
|
||||
, Id_num_files = 31
|
||||
, Id_num_users = 32
|
||||
, Id_num_users_active = 33
|
||||
, Id_num_edits = 34
|
||||
, Id_num_views = 35
|
||||
, Id_ttl_page_txt = 36
|
||||
, Id_ttl_page_url = 37
|
||||
, Id_ns_txt = 38
|
||||
, Id_ns_url = 39
|
||||
, Id_ns_talk_txt = 40
|
||||
, Id_ns_talk_url = 41
|
||||
, Id_ns_subj_txt = 42
|
||||
, Id_ns_subj_url = 43
|
||||
, Id_ttl_full_txt = 44
|
||||
, Id_ttl_full_url = 45
|
||||
, Id_ttl_leaf_txt = 46
|
||||
, Id_ttl_leaf_url = 47
|
||||
, Id_ttl_base_txt = 48
|
||||
, Id_ttl_base_url = 49
|
||||
, Id_ttl_talk_txt = 50
|
||||
, Id_ttl_talk_url = 51
|
||||
, Id_ttl_subj_txt = 52
|
||||
, Id_ttl_subj_url = 53
|
||||
, Id_msg = 54
|
||||
, Id_subst = 55
|
||||
, Id_safesubst = 56
|
||||
, Id_msgnw = 57
|
||||
, Id_img_thumbnail = 58
|
||||
, Id_img_manualthumb = 59
|
||||
, Id_img_framed = 60
|
||||
, Id_img_frameless = 61
|
||||
, Id_img_upright = 62
|
||||
, Id_img_upright_factor = 63
|
||||
, Id_img_border = 64
|
||||
, Id_img_align = 65
|
||||
, Id_img_valign = 66
|
||||
, Id_img_alt = 67
|
||||
, Id_img_class = 68
|
||||
, Id_img_caption = 69
|
||||
, Id_img_link_url = 70
|
||||
, Id_img_link_title = 71
|
||||
, Id_img_link_target = 72
|
||||
, Id_img_link_none = 73
|
||||
, Id_img_width = 74
|
||||
, Id_img_page = 75
|
||||
, Id_img_none = 76
|
||||
, Id_img_right = 77
|
||||
, Id_img_center = 78
|
||||
, Id_img_left = 79
|
||||
, Id_img_baseline = 80
|
||||
, Id_img_sub = 81
|
||||
, Id_img_super = 82
|
||||
, Id_img_top = 83
|
||||
, Id_img_text_top = 84
|
||||
, Id_img_middle = 85
|
||||
, Id_img_bottom = 86
|
||||
, Id_img_text_bottom = 87
|
||||
, Id_img_link = 88
|
||||
, Id_i18n_int = 89
|
||||
, Id_site_sitename = 90
|
||||
, Id_url_ns = 91
|
||||
, Id_url_nse = 92
|
||||
, Id_url_localurl = 93
|
||||
, Id_url_localurle = 94
|
||||
, Id_site_articlepath = 95
|
||||
, Id_site_server = 96
|
||||
, Id_site_servername = 97
|
||||
, Id_site_scriptpath = 98
|
||||
, Id_site_stylepath = 99
|
||||
, Id_i18n_grammar = 100
|
||||
, Id_i18n_gender = 101
|
||||
, Id_notitleconvert = 102
|
||||
, Id_nocontentconvert = 103
|
||||
, Id_utc_week = 104
|
||||
, Id_utc_dow = 105
|
||||
, Id_lcl_week = 106
|
||||
, Id_lcl_dow = 107
|
||||
, Id_rev_id = 108
|
||||
, Id_rev_day_int = 109
|
||||
, Id_rev_day_int_len2 = 110
|
||||
, Id_rev_month_int_len2 = 111
|
||||
, Id_rev_month_int = 112
|
||||
, Id_rev_year = 113
|
||||
, Id_rev_timestamp = 114
|
||||
, Id_rev_user = 115
|
||||
, Id_i18n_plural = 116
|
||||
, Id_url_fullurl = 117
|
||||
, Id_url_fullurle = 118
|
||||
, Id_str_lcfirst = 119
|
||||
, Id_str_ucfirst = 120
|
||||
, Id_str_lc = 121
|
||||
, Id_str_uc = 122
|
||||
, Id_raw = 123
|
||||
, Id_page_displaytitle = 124
|
||||
, Id_str_rawsuffix = 125
|
||||
, Id_newsectionlink = 126
|
||||
, Id_nonewsectionlink = 127
|
||||
, Id_site_currentversion = 128
|
||||
, Id_url_urlencode = 129
|
||||
, Id_url_anchorencode = 130
|
||||
, Id_utc_timestamp = 131
|
||||
, Id_lcl_timestamp = 132
|
||||
, Id_site_directionmark = 133
|
||||
, Id_i18n_language = 134
|
||||
, Id_site_contentlanguage = 135
|
||||
, Id_site_pagesinnamespace = 136
|
||||
, Id_num_admins = 137
|
||||
, Id_str_formatnum = 138
|
||||
, Id_str_padleft = 139
|
||||
, Id_str_padright = 140
|
||||
, Id_misc_special = 141
|
||||
, Id_page_defaultsort = 142
|
||||
, Id_url_filepath = 143
|
||||
, Id_misc_tag = 144
|
||||
, Id_hiddencat = 145
|
||||
, Id_site_pagesincategory = 146
|
||||
, Id_rev_pagesize = 147
|
||||
, Id_index = 148
|
||||
, Id_noindex = 149
|
||||
, Id_site_numberingroup = 150
|
||||
, Id_staticredirect = 151
|
||||
, Id_rev_protectionlevel = 152
|
||||
, Id_str_formatdate = 153
|
||||
, Id_url_path = 154
|
||||
, Id_url_wiki = 155
|
||||
, Id_url_query = 156
|
||||
, Id_xtn_expr = 157
|
||||
, Id_xtn_if = 158
|
||||
, Id_xtn_ifeq = 159
|
||||
, Id_xtn_ifexpr = 160
|
||||
, Id_xtn_iferror = 161
|
||||
, Id_xtn_switch = 162
|
||||
, Id_xtn_default = 163
|
||||
, Id_xtn_ifexist = 164
|
||||
, Id_xtn_time = 165
|
||||
, Id_xtn_timel = 166
|
||||
, Id_xtn_rel2abs = 167
|
||||
, Id_xtn_titleparts = 168
|
||||
, Id_xowa_dbg = 169
|
||||
, Id_ogg_noplayer = 170
|
||||
, Id_ogg_noicon = 171
|
||||
, Id_ogg_thumbtime = 172
|
||||
, Id_xtn_geodata_coordinates = 173
|
||||
, Id_url_canonicalurl = 174
|
||||
, Id_url_canonicalurle = 175
|
||||
, Id_lst = 176
|
||||
, Id_lstx = 177
|
||||
, Id_invoke = 178
|
||||
, Id_property = 179
|
||||
, Id_noexternallanglinks = 180
|
||||
, Id_ns_num = 181
|
||||
, Id_page_id = 182
|
||||
, Id_disambig = 183
|
||||
, Id_nocommafysuffix = 184
|
||||
, Id_xowa = 185
|
||||
, Id_mapSources_deg2dd = 186
|
||||
, Id_mapSources_dd2dms = 187
|
||||
, Id_mapSources_geoLink = 188
|
||||
, Id_geoCrumbs_isin = 189
|
||||
, Id_relatedArticles = 190
|
||||
, Id_insider = 191
|
||||
, Id_massMessage_target = 192
|
||||
, Id_cascadingSources = 193
|
||||
, Id_pendingChangeLevel = 194
|
||||
, Id_pagesUsingPendingChanges = 195
|
||||
, Id_bang = 196
|
||||
, Id_wbreponame = 197
|
||||
, Id_strx_len = 198
|
||||
, Id_strx_pos = 199
|
||||
, Id_strx_rpos = 200
|
||||
, Id_strx_sub = 201
|
||||
, Id_strx_count = 202
|
||||
, Id_strx_replace = 203
|
||||
, Id_strx_explode = 204
|
||||
, Id_strx_urldecode = 205
|
||||
, Id_pagesincategory_pages = 206
|
||||
, Id_pagesincategory_subcats = 207
|
||||
, Id_pagesincategory_files = 208
|
||||
, Id_rev_revisionsize = 209
|
||||
, Id_pagebanner = 210
|
||||
, Id_rev_protectionexpiry = 211
|
||||
, Id_new_window_link = 212
|
||||
, Id_categorytree = 213
|
||||
, Id_lsth = 214
|
||||
, Id_assessment = 215
|
||||
, Id_ttl_root_txt = 216
|
||||
, Id_ttl_root_url = 217
|
||||
;
|
||||
public static final int Id__max = 218;
|
||||
|
||||
private static byte[] ary_itm_(int id) {
|
||||
switch (id) {
|
||||
case Xol_kwd_grp_.Id_redirect: return Bry_.new_a7("redirect");
|
||||
case Xol_kwd_grp_.Id_notoc: return Bry_.new_a7("notoc");
|
||||
case Xol_kwd_grp_.Id_nogallery: return Bry_.new_a7("nogallery");
|
||||
case Xol_kwd_grp_.Id_forcetoc: return Bry_.new_a7("forcetoc");
|
||||
case Xol_kwd_grp_.Id_toc: return Bry_.new_a7("toc");
|
||||
case Xol_kwd_grp_.Id_noeditsection: return Bry_.new_a7("noeditsection");
|
||||
case Xol_kwd_grp_.Id_noheader: return Bry_.new_a7("noheader");
|
||||
case Xol_kwd_grp_.Id_utc_month_int_len2: return Bry_.new_a7("currentmonth");
|
||||
case Xol_kwd_grp_.Id_utc_month_int: return Bry_.new_a7("currentmonth1");
|
||||
case Xol_kwd_grp_.Id_utc_month_name: return Bry_.new_a7("currentmonthname");
|
||||
case Xol_kwd_grp_.Id_utc_month_gen: return Bry_.new_a7("currentmonthnamegen");
|
||||
case Xol_kwd_grp_.Id_utc_month_abrv: return Bry_.new_a7("currentmonthabbrev");
|
||||
case Xol_kwd_grp_.Id_utc_day_int: return Bry_.new_a7("currentday");
|
||||
case Xol_kwd_grp_.Id_utc_day_int_len2: return Bry_.new_a7("currentday2");
|
||||
case Xol_kwd_grp_.Id_utc_day_name: return Bry_.new_a7("currentdayname");
|
||||
case Xol_kwd_grp_.Id_utc_year: return Bry_.new_a7("currentyear");
|
||||
case Xol_kwd_grp_.Id_utc_time: return Bry_.new_a7("currenttime");
|
||||
case Xol_kwd_grp_.Id_utc_hour: return Bry_.new_a7("currenthour");
|
||||
case Xol_kwd_grp_.Id_lcl_month_int_len2: return Bry_.new_a7("localmonth");
|
||||
case Xol_kwd_grp_.Id_lcl_month_int: return Bry_.new_a7("localmonth1");
|
||||
case Xol_kwd_grp_.Id_lcl_month_name: return Bry_.new_a7("localmonthname");
|
||||
case Xol_kwd_grp_.Id_lcl_month_gen: return Bry_.new_a7("localmonthnamegen");
|
||||
case Xol_kwd_grp_.Id_lcl_month_abrv: return Bry_.new_a7("localmonthabbrev");
|
||||
case Xol_kwd_grp_.Id_lcl_day_int: return Bry_.new_a7("localday");
|
||||
case Xol_kwd_grp_.Id_lcl_day_int_len2: return Bry_.new_a7("localday2");
|
||||
case Xol_kwd_grp_.Id_lcl_day_name: return Bry_.new_a7("localdayname");
|
||||
case Xol_kwd_grp_.Id_lcl_year: return Bry_.new_a7("localyear");
|
||||
case Xol_kwd_grp_.Id_lcl_time: return Bry_.new_a7("localtime");
|
||||
case Xol_kwd_grp_.Id_lcl_hour: return Bry_.new_a7("localhour");
|
||||
case Xol_kwd_grp_.Id_num_pages: return Bry_.new_a7("numberofpages");
|
||||
case Xol_kwd_grp_.Id_num_articles: return Bry_.new_a7("numberofarticles");
|
||||
case Xol_kwd_grp_.Id_num_files: return Bry_.new_a7("numberoffiles");
|
||||
case Xol_kwd_grp_.Id_num_users: return Bry_.new_a7("numberofusers");
|
||||
case Xol_kwd_grp_.Id_num_users_active: return Bry_.new_a7("numberofactiveusers");
|
||||
case Xol_kwd_grp_.Id_num_edits: return Bry_.new_a7("numberofedits");
|
||||
case Xol_kwd_grp_.Id_num_views: return Bry_.new_a7("numberofviews");
|
||||
case Xol_kwd_grp_.Id_ttl_page_txt: return Bry_.new_a7("pagename");
|
||||
case Xol_kwd_grp_.Id_ttl_page_url: return Bry_.new_a7("pagenamee");
|
||||
case Xol_kwd_grp_.Id_ns_txt: return Bry_.new_a7("namespace");
|
||||
case Xol_kwd_grp_.Id_ns_url: return Bry_.new_a7("namespacee");
|
||||
case Xol_kwd_grp_.Id_ns_talk_txt: return Bry_.new_a7("talkspace");
|
||||
case Xol_kwd_grp_.Id_ns_talk_url: return Bry_.new_a7("talkspacee");
|
||||
case Xol_kwd_grp_.Id_ns_subj_txt: return Bry_.new_a7("subjectspace");
|
||||
case Xol_kwd_grp_.Id_ns_subj_url: return Bry_.new_a7("subjectspacee");
|
||||
case Xol_kwd_grp_.Id_ttl_full_txt: return Bry_.new_a7("fullpagename");
|
||||
case Xol_kwd_grp_.Id_ttl_full_url: return Bry_.new_a7("fullpagenamee");
|
||||
case Xol_kwd_grp_.Id_ttl_leaf_txt: return Bry_.new_a7("subpagename");
|
||||
case Xol_kwd_grp_.Id_ttl_leaf_url: return Bry_.new_a7("subpagenamee");
|
||||
case Xol_kwd_grp_.Id_ttl_base_txt: return Bry_.new_a7("basepagename");
|
||||
case Xol_kwd_grp_.Id_ttl_base_url: return Bry_.new_a7("basepagenamee");
|
||||
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_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_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_subst: return Bry_.new_a7("subst");
|
||||
case Xol_kwd_grp_.Id_safesubst: return Bry_.new_a7("safesubst");
|
||||
case Xol_kwd_grp_.Id_msgnw: return Bry_.new_a7("msgnw");
|
||||
case Xol_kwd_grp_.Id_img_thumbnail: return Bry_.new_a7("img_thumbnail");
|
||||
case Xol_kwd_grp_.Id_img_manualthumb: return Bry_.new_a7("img_manualthumb");
|
||||
case Xol_kwd_grp_.Id_img_framed: return Bry_.new_a7("img_framed");
|
||||
case Xol_kwd_grp_.Id_img_frameless: return Bry_.new_a7("img_frameless");
|
||||
case Xol_kwd_grp_.Id_img_upright: return Bry_.new_a7("img_upright");
|
||||
case Xol_kwd_grp_.Id_img_upright_factor: return Bry_.new_a7("img_upright_factor");
|
||||
case Xol_kwd_grp_.Id_img_border: return Bry_.new_a7("img_border");
|
||||
case Xol_kwd_grp_.Id_img_align: return Bry_.new_a7("img_align");
|
||||
case Xol_kwd_grp_.Id_img_valign: return Bry_.new_a7("img_valign");
|
||||
case Xol_kwd_grp_.Id_img_alt: return Bry_.new_a7("img_alt");
|
||||
case Xol_kwd_grp_.Id_img_class: return Bry_.new_a7("img_class");
|
||||
case Xol_kwd_grp_.Id_img_caption: return Bry_.new_a7("img_caption");
|
||||
case Xol_kwd_grp_.Id_img_link_url: return Bry_.new_a7("img_link_url");
|
||||
case Xol_kwd_grp_.Id_img_link_title: return Bry_.new_a7("img_link_title");
|
||||
case Xol_kwd_grp_.Id_img_link_target: return Bry_.new_a7("img_link_target");
|
||||
case Xol_kwd_grp_.Id_img_link_none: return Bry_.new_a7("img_link_none");
|
||||
case Xol_kwd_grp_.Id_img_width: return Bry_.new_a7("img_width");
|
||||
case Xol_kwd_grp_.Id_img_page: return Bry_.new_a7("img_page");
|
||||
case Xol_kwd_grp_.Id_img_none: return Bry_.new_a7("img_none");
|
||||
case Xol_kwd_grp_.Id_img_right: return Bry_.new_a7("img_right");
|
||||
case Xol_kwd_grp_.Id_img_center: return Bry_.new_a7("img_center");
|
||||
case Xol_kwd_grp_.Id_img_left: return Bry_.new_a7("img_left");
|
||||
case Xol_kwd_grp_.Id_img_baseline: return Bry_.new_a7("img_baseline");
|
||||
case Xol_kwd_grp_.Id_img_sub: return Bry_.new_a7("img_sub");
|
||||
case Xol_kwd_grp_.Id_img_super: return Bry_.new_a7("img_super");
|
||||
case Xol_kwd_grp_.Id_img_top: return Bry_.new_a7("img_top");
|
||||
case Xol_kwd_grp_.Id_img_text_top: return Bry_.new_a7("img_text_top");
|
||||
case Xol_kwd_grp_.Id_img_middle: return Bry_.new_a7("img_middle");
|
||||
case Xol_kwd_grp_.Id_img_bottom: return Bry_.new_a7("img_bottom");
|
||||
case Xol_kwd_grp_.Id_img_text_bottom: return Bry_.new_a7("img_text_bottom");
|
||||
case Xol_kwd_grp_.Id_img_link: return Bry_.new_a7("img_link");
|
||||
case Xol_kwd_grp_.Id_i18n_int: return Bry_.new_a7("int");
|
||||
case Xol_kwd_grp_.Id_site_sitename: return Bry_.new_a7("sitename");
|
||||
case Xol_kwd_grp_.Id_url_ns: return Bry_.new_a7("ns");
|
||||
case Xol_kwd_grp_.Id_url_nse: return Bry_.new_a7("nse");
|
||||
case Xol_kwd_grp_.Id_url_localurl: return Bry_.new_a7("localurl");
|
||||
case Xol_kwd_grp_.Id_url_localurle: return Bry_.new_a7("localurle");
|
||||
case Xol_kwd_grp_.Id_site_articlepath: return Bry_.new_a7("articlepath");
|
||||
case Xol_kwd_grp_.Id_site_server: return Bry_.new_a7("server");
|
||||
case Xol_kwd_grp_.Id_site_servername: return Bry_.new_a7("servername");
|
||||
case Xol_kwd_grp_.Id_site_scriptpath: return Bry_.new_a7("scriptpath");
|
||||
case Xol_kwd_grp_.Id_site_stylepath: return Bry_.new_a7("stylepath");
|
||||
case Xol_kwd_grp_.Id_i18n_grammar: return Bry_.new_a7("grammar");
|
||||
case Xol_kwd_grp_.Id_i18n_gender: return Bry_.new_a7("gender");
|
||||
case Xol_kwd_grp_.Id_notitleconvert: return Bry_.new_a7("notitleconvert");
|
||||
case Xol_kwd_grp_.Id_nocontentconvert: return Bry_.new_a7("nocontentconvert");
|
||||
case Xol_kwd_grp_.Id_utc_week: return Bry_.new_a7("currentweek");
|
||||
case Xol_kwd_grp_.Id_utc_dow: return Bry_.new_a7("currentdow");
|
||||
case Xol_kwd_grp_.Id_lcl_week: return Bry_.new_a7("localweek");
|
||||
case Xol_kwd_grp_.Id_lcl_dow: return Bry_.new_a7("localdow");
|
||||
case Xol_kwd_grp_.Id_rev_id: return Bry_.new_a7("revisionid");
|
||||
case Xol_kwd_grp_.Id_rev_day_int: return Bry_.new_a7("revisionday");
|
||||
case Xol_kwd_grp_.Id_rev_day_int_len2: return Bry_.new_a7("revisionday2");
|
||||
case Xol_kwd_grp_.Id_rev_month_int_len2: return Bry_.new_a7("revisionmonth");
|
||||
case Xol_kwd_grp_.Id_rev_month_int: return Bry_.new_a7("revisionmonth1");
|
||||
case Xol_kwd_grp_.Id_rev_year: return Bry_.new_a7("revisionyear");
|
||||
case Xol_kwd_grp_.Id_rev_timestamp: return Bry_.new_a7("revisiontimestamp");
|
||||
case Xol_kwd_grp_.Id_rev_user: return Bry_.new_a7("revisionuser");
|
||||
case Xol_kwd_grp_.Id_i18n_plural: return Bry_.new_a7("plural");
|
||||
case Xol_kwd_grp_.Id_url_fullurl: return Bry_.new_a7("fullurl");
|
||||
case Xol_kwd_grp_.Id_url_fullurle: return Bry_.new_a7("fullurle");
|
||||
case Xol_kwd_grp_.Id_str_lcfirst: return Bry_.new_a7("lcfirst");
|
||||
case Xol_kwd_grp_.Id_str_ucfirst: return Bry_.new_a7("ucfirst");
|
||||
case Xol_kwd_grp_.Id_str_lc: return Bry_.new_a7("lc");
|
||||
case Xol_kwd_grp_.Id_str_uc: return Bry_.new_a7("uc");
|
||||
case Xol_kwd_grp_.Id_raw: return Bry_.new_a7("raw");
|
||||
case Xol_kwd_grp_.Id_page_displaytitle: return Bry_.new_a7("displaytitle");
|
||||
case Xol_kwd_grp_.Id_str_rawsuffix: return Bry_.new_a7("rawsuffix");
|
||||
case Xol_kwd_grp_.Id_newsectionlink: return Bry_.new_a7("newsectionlink");
|
||||
case Xol_kwd_grp_.Id_nonewsectionlink: return Bry_.new_a7("nonewsectionlink");
|
||||
case Xol_kwd_grp_.Id_site_currentversion: return Bry_.new_a7("currentversion");
|
||||
case Xol_kwd_grp_.Id_url_urlencode: return Bry_.new_a7("urlencode");
|
||||
case Xol_kwd_grp_.Id_url_anchorencode: return Bry_.new_a7("anchorencode");
|
||||
case Xol_kwd_grp_.Id_utc_timestamp: return Bry_.new_a7("currenttimestamp");
|
||||
case Xol_kwd_grp_.Id_lcl_timestamp: return Bry_.new_a7("localtimestamp");
|
||||
case Xol_kwd_grp_.Id_site_directionmark: return Bry_.new_a7("directionmark");
|
||||
case Xol_kwd_grp_.Id_i18n_language: return Bry_.new_a7("language");
|
||||
case Xol_kwd_grp_.Id_site_contentlanguage: return Bry_.new_a7("contentlanguage");
|
||||
case Xol_kwd_grp_.Id_site_pagesinnamespace: return Bry_.new_a7("pagesinnamespace");
|
||||
case Xol_kwd_grp_.Id_num_admins: return Bry_.new_a7("numberofadmins");
|
||||
case Xol_kwd_grp_.Id_str_formatnum: return Bry_.new_a7("formatnum");
|
||||
case Xol_kwd_grp_.Id_str_padleft: return Bry_.new_a7("padleft");
|
||||
case Xol_kwd_grp_.Id_str_padright: return Bry_.new_a7("padright");
|
||||
case Xol_kwd_grp_.Id_misc_special: return Bry_.new_a7("special");
|
||||
case Xol_kwd_grp_.Id_page_defaultsort: return Bry_.new_a7("defaultsort");
|
||||
case Xol_kwd_grp_.Id_url_filepath: return Bry_.new_a7("filepath");
|
||||
case Xol_kwd_grp_.Id_misc_tag: return Bry_.new_a7("tag");
|
||||
case Xol_kwd_grp_.Id_hiddencat: return Bry_.new_a7("hiddencat");
|
||||
case Xol_kwd_grp_.Id_site_pagesincategory: return Bry_.new_a7("pagesincategory");
|
||||
case Xol_kwd_grp_.Id_rev_pagesize: return Bry_.new_a7("pagesize");
|
||||
case Xol_kwd_grp_.Id_index: return Bry_.new_a7("index");
|
||||
case Xol_kwd_grp_.Id_noindex: return Bry_.new_a7("noindex");
|
||||
case Xol_kwd_grp_.Id_site_numberingroup: return Bry_.new_a7("numberingroup");
|
||||
case Xol_kwd_grp_.Id_staticredirect: return Bry_.new_a7("staticredirect");
|
||||
case Xol_kwd_grp_.Id_rev_protectionlevel: return Bry_.new_a7("protectionlevel");
|
||||
case Xol_kwd_grp_.Id_str_formatdate: return Bry_.new_a7("formatdate");
|
||||
case Xol_kwd_grp_.Id_url_path: return Bry_.new_a7("url_path");
|
||||
case Xol_kwd_grp_.Id_url_wiki: return Bry_.new_a7("url_wiki");
|
||||
case Xol_kwd_grp_.Id_url_query: return Bry_.new_a7("url_query");
|
||||
case Xol_kwd_grp_.Id_xtn_expr: return Bry_.new_a7("expr");
|
||||
case Xol_kwd_grp_.Id_xtn_if: return Bry_.new_a7("if");
|
||||
case Xol_kwd_grp_.Id_xtn_ifeq: return Bry_.new_a7("ifeq");
|
||||
case Xol_kwd_grp_.Id_xtn_ifexpr: return Bry_.new_a7("ifexpr");
|
||||
case Xol_kwd_grp_.Id_xtn_iferror: return Bry_.new_a7("iferror");
|
||||
case Xol_kwd_grp_.Id_xtn_switch: return Bry_.new_a7("switch");
|
||||
case Xol_kwd_grp_.Id_xtn_default: return Bry_.new_a7("default");
|
||||
case Xol_kwd_grp_.Id_xtn_ifexist: return Bry_.new_a7("ifexist");
|
||||
case Xol_kwd_grp_.Id_xtn_time: return Bry_.new_a7("time");
|
||||
case Xol_kwd_grp_.Id_xtn_timel: return Bry_.new_a7("timel");
|
||||
case Xol_kwd_grp_.Id_xtn_rel2abs: return Bry_.new_a7("rel2abs");
|
||||
case Xol_kwd_grp_.Id_xtn_titleparts: return Bry_.new_a7("titleparts");
|
||||
case Xol_kwd_grp_.Id_xowa_dbg: return Bry_.new_a7("xowa_dbg");
|
||||
case Xol_kwd_grp_.Id_ogg_noplayer: return Bry_.new_a7("noplayer");
|
||||
case Xol_kwd_grp_.Id_ogg_noicon: return Bry_.new_a7("noicon");
|
||||
case Xol_kwd_grp_.Id_ogg_thumbtime: return Bry_.new_a7("thumbtime");
|
||||
case Xol_kwd_grp_.Id_xtn_geodata_coordinates: return Bry_.new_a7("coordinates");
|
||||
case Xol_kwd_grp_.Id_url_canonicalurl: return Bry_.new_a7("canonicalurl");
|
||||
case Xol_kwd_grp_.Id_url_canonicalurle: return Bry_.new_a7("canonicalurle");
|
||||
case Xol_kwd_grp_.Id_lst: return Bry_.new_a7("lst");
|
||||
case Xol_kwd_grp_.Id_lstx: return Bry_.new_a7("lstx");
|
||||
case Xol_kwd_grp_.Id_lsth: return Bry_.new_u8("lsth");
|
||||
case Xol_kwd_grp_.Id_invoke: return Bry_.new_a7("invoke");
|
||||
case Xol_kwd_grp_.Id_property: return Bry_.new_a7("property");
|
||||
case Xol_kwd_grp_.Id_noexternallanglinks: return Bry_.new_a7("noexternallanglinks");
|
||||
case Xol_kwd_grp_.Id_ns_num: return Bry_.new_a7("namespacenumber");
|
||||
case Xol_kwd_grp_.Id_page_id: return Bry_.new_a7("pageid");
|
||||
case Xol_kwd_grp_.Id_disambig: return Bry_.new_a7("disambiguation");
|
||||
case Xol_kwd_grp_.Id_nocommafysuffix: return Bry_.new_a7("nosep");
|
||||
case Xol_kwd_grp_.Id_xowa: return Bry_.new_a7("xowa");
|
||||
case Xol_kwd_grp_.Id_mapSources_deg2dd: return Bry_.new_a7("deg2dd");
|
||||
case Xol_kwd_grp_.Id_mapSources_dd2dms: return Bry_.new_a7("dd2dms");
|
||||
case Xol_kwd_grp_.Id_mapSources_geoLink: return Bry_.new_a7("geolink");
|
||||
case Xol_kwd_grp_.Id_geoCrumbs_isin: return Bry_.new_a7("isin");
|
||||
case Xol_kwd_grp_.Id_relatedArticles: return Bry_.new_a7("relatedArticles");
|
||||
case Xol_kwd_grp_.Id_insider: return Bry_.new_a7("insider");
|
||||
case Xol_kwd_grp_.Id_massMessage_target: return Bry_.new_a7("target");
|
||||
case Xol_kwd_grp_.Id_cascadingSources: return Bry_.new_a7("cascadingSources");
|
||||
case Xol_kwd_grp_.Id_pendingChangeLevel: return Bry_.new_a7("pendingChangeLevel");
|
||||
case Xol_kwd_grp_.Id_pagesUsingPendingChanges: return Bry_.new_a7("pagesUsingPendingChanges");
|
||||
case Xol_kwd_grp_.Id_bang: return Bry_.new_a7("!");
|
||||
case Xol_kwd_grp_.Id_wbreponame: return Bry_.new_a7("wbreponame");
|
||||
case Xol_kwd_grp_.Id_strx_len: return Bry_.new_a7("len");
|
||||
case Xol_kwd_grp_.Id_strx_pos: return Bry_.new_a7("pos");
|
||||
case Xol_kwd_grp_.Id_strx_rpos: return Bry_.new_a7("rpos");
|
||||
case Xol_kwd_grp_.Id_strx_sub: return Bry_.new_a7("sub");
|
||||
case Xol_kwd_grp_.Id_strx_count: return Bry_.new_a7("count");
|
||||
case Xol_kwd_grp_.Id_strx_replace: return Bry_.new_a7("replace");
|
||||
case Xol_kwd_grp_.Id_strx_explode: return Bry_.new_a7("explode");
|
||||
case Xol_kwd_grp_.Id_strx_urldecode: return Bry_.new_a7("urldecode");
|
||||
case Xol_kwd_grp_.Id_pagesincategory_pages: return Bry_.new_u8("pagesincategory_pages");
|
||||
case Xol_kwd_grp_.Id_pagesincategory_subcats: return Bry_.new_u8("pagesincategory_subcats");
|
||||
case Xol_kwd_grp_.Id_pagesincategory_files: return Bry_.new_u8("pagesincategory_files");
|
||||
case Xol_kwd_grp_.Id_rev_revisionsize: return Bry_.new_u8("revisionsize");
|
||||
case Xol_kwd_grp_.Id_pagebanner: return Bry_.new_u8("pagebanner");
|
||||
case Xol_kwd_grp_.Id_rev_protectionexpiry: return Bry_.new_u8("protectionexpiry");
|
||||
case Xol_kwd_grp_.Id_new_window_link: return Bry_.new_u8("newwindowlink");
|
||||
case Xol_kwd_grp_.Id_categorytree: return Bry_.new_u8("categorytree");
|
||||
case Xol_kwd_grp_.Id_assessment: return Bry_.new_u8("assessment");
|
||||
default: throw Err_.new_unhandled(id);
|
||||
}
|
||||
}
|
||||
public static byte[] Bry_by_id(int id) {
|
||||
if (Bry__ == null) Bry_init();
|
||||
return Bry__[id];
|
||||
} private static byte[][] Bry__;
|
||||
public static int Id_by_bry(byte[] find) {
|
||||
if (hash == null) {
|
||||
hash = Hash_adp_bry.ci_a7(); // ASCII: all MW kwds appear to be ASCII; EX: "redirect", "toc", "currentmont", etc.
|
||||
if (Bry__ == null) Bry_init();
|
||||
int len = Bry__.length;
|
||||
for (int i = 0; i < len; i++) {
|
||||
byte[] bry = Bry__[i];
|
||||
hash.Add(bry, new Int_obj_val(i));
|
||||
}
|
||||
}
|
||||
Object o = hash.Get_by_bry(find);
|
||||
return o == null? Int_.Neg1 : ((Int_obj_val)o).Val();
|
||||
} private static Hash_adp_bry hash;
|
||||
private static void Bry_init() {
|
||||
Bry__ = new byte[Id__max][];
|
||||
for (int i = 0; i < Id__max; i++)
|
||||
Bry__[i] = ary_itm_(i);
|
||||
}
|
||||
}
|
||||
|
||||
24
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_itm.java
Normal file
24
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_itm.java
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
XOWA: the XOWA Offline Wiki Application
|
||||
Copyright (C) 2012 gnosygnu@gmail.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.langs.kwds; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
|
||||
public class Xol_kwd_itm {// NOTE: keeping as separate class b/c may include fmt props later; EX: thumbnail=$1
|
||||
public Xol_kwd_itm(byte[] val) {this.val = val;}
|
||||
public byte[] Val() {return val;} private byte[] val;
|
||||
public void Val_(byte[] v) {val = v;} // should only be called by lang
|
||||
public static final Xol_kwd_itm[] Ary_empty = new Xol_kwd_itm[0];
|
||||
}
|
||||
97
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_mgr.java
Normal file
97
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_mgr.java
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
XOWA: the XOWA Offline Wiki Application
|
||||
Copyright (C) 2012 gnosygnu@gmail.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.langs.kwds; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
|
||||
import gplx.core.btries.*;
|
||||
import gplx.xowa.langs.parsers.*;
|
||||
public class Xol_kwd_mgr implements Gfo_invk {
|
||||
private final Xol_lang_itm lang; private final Xol_kwd_grp[] grps = new Xol_kwd_grp[Xol_kwd_grp_.Id__max];
|
||||
private Btrie_slim_mgr kwd_default_trie; private byte[] kwd_default_key; private boolean kwd_default_init_needed = true;
|
||||
public Xol_kwd_mgr(Xol_lang_itm lang) {this.lang = lang;}
|
||||
public int Len() {return grps.length;}
|
||||
public void Clear() {
|
||||
int len = grps.length;
|
||||
for (int i = 0; i < len; ++i)
|
||||
grps[i] = null;
|
||||
}
|
||||
public Btrie_slim_mgr Trie_raw() {if (trie_raw == null) trie_raw = Xol_kwd_mgr.trie_(this, Xol_kwd_grp_.Id_str_rawsuffix); return trie_raw;} private Btrie_slim_mgr trie_raw;
|
||||
public Btrie_slim_mgr Trie_nosep() {if (trie_nosep == null) trie_nosep = Xol_kwd_mgr.trie_(this, Xol_kwd_grp_.Id_nocommafysuffix); return trie_nosep;} private Btrie_slim_mgr trie_nosep;
|
||||
public void Kwd_default_match_reset() {kwd_default_init_needed = true;} // TEST:
|
||||
public boolean Kwd_default_match(byte[] match) { // handle multiple #default keywords; DATE:2014-07-28
|
||||
if (match == null) return false; // null never matches #default
|
||||
int match_len = match.length;
|
||||
if (match_len == 0) return false; // "" never matches default
|
||||
if (kwd_default_init_needed) {
|
||||
kwd_default_init_needed = false;
|
||||
Xol_kwd_grp grp = this.Get_at(Xol_kwd_grp_.Id_xtn_default);
|
||||
int len = grp.Itms().length;
|
||||
if (len == 1)
|
||||
kwd_default_key = grp.Itms()[0].Val();
|
||||
else {
|
||||
kwd_default_trie = Btrie_slim_mgr.new_(grp.Case_match());
|
||||
for (int i = 0; i < len; i++) {
|
||||
Xol_kwd_itm itm = grp.Itms()[i];
|
||||
kwd_default_trie.Add_obj(itm.Val(), itm);
|
||||
}
|
||||
}
|
||||
}
|
||||
return kwd_default_trie == null
|
||||
? Bry_.Has_at_bgn(match, kwd_default_key, 0, match_len)
|
||||
: kwd_default_trie.Match_bgn(match, 0, match_len) != null
|
||||
;
|
||||
}
|
||||
public Xol_kwd_grp Get_at(int id) {return grps[id];}
|
||||
public Xol_kwd_grp Get_or_new(int id) {
|
||||
Xol_kwd_grp rv = grps[id];
|
||||
if (rv == null) {
|
||||
rv = new Xol_kwd_grp(Xol_kwd_grp_.Bry_by_id(id));
|
||||
grps[id] = rv;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
public Xol_kwd_grp New(boolean case_match, int id, String... words_str) {
|
||||
Xol_kwd_grp rv = Get_or_new(id);
|
||||
rv.Srl_load(case_match, Bry_.Ary(words_str));
|
||||
return rv;
|
||||
}
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk_lang)) return lang;
|
||||
else if (ctx.Match(k, Invk_load_text)) Xol_lang_srl.Load_keywords(this, m.ReadBry("v"));
|
||||
else return Gfo_invk_.Rv_unhandled;
|
||||
return this;
|
||||
} private static final String Invk_lang = Xol_lang_srl.Invk_lang, Invk_load_text = Xol_lang_srl.Invk_load_text;
|
||||
public static Btrie_slim_mgr trie_(Xol_kwd_mgr mgr, int id) {
|
||||
Xol_kwd_grp grp = mgr.Get_at(id);
|
||||
Btrie_slim_mgr rv = Btrie_slim_mgr.new_(grp.Case_match());
|
||||
int len = grp.Itms().length;
|
||||
for (int i = 0; i < len; i++) {
|
||||
Xol_kwd_itm itm = grp.Itms()[i];
|
||||
rv.Add_obj(itm.Val(), itm);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
public static Hash_adp_bry hash_(Xol_kwd_mgr mgr, int id) {
|
||||
Xol_kwd_grp grp = mgr.Get_at(id);
|
||||
Hash_adp_bry rv = Hash_adp_bry.c__u8(grp.Case_match(), mgr.lang.Case_mgr());
|
||||
int len = grp.Itms().length;
|
||||
for (int i = 0; i < len; i++) {
|
||||
Xol_kwd_itm itm = grp.Itms()[i];
|
||||
rv.Add(itm.Val(), itm);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
80
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_parse_data.java
Normal file
80
400_xowa/src/gplx/xowa/langs/kwds/Xol_kwd_parse_data.java
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
XOWA: the XOWA Offline Wiki Application
|
||||
Copyright (C) 2012 gnosygnu@gmail.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.langs.kwds; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
|
||||
import gplx.core.primitives.*;
|
||||
public class Xol_kwd_parse_data {
|
||||
public static byte[] Strip(Bry_bfr tmp, byte[] raw, Byte_obj_ref rslt) {
|
||||
int raw_len = raw.length;
|
||||
boolean dirty = false;
|
||||
for (int i = 0; i < raw_len; i++) {
|
||||
byte b = raw[i];
|
||||
switch (b) {
|
||||
case Byte_ascii.Dollar:
|
||||
byte prv = i == 0 ? Byte_ascii.Null : raw[i - 1];
|
||||
switch (prv) {
|
||||
case Byte_ascii.Backslash: { // ignore \$
|
||||
if (dirty) tmp.Add_byte(b);
|
||||
else {tmp.Add_mid(raw, 0, i - 1); dirty = true;} // i - 1 to ignore backslash
|
||||
break;
|
||||
}
|
||||
case Byte_ascii.Eq: { // assume end; EX: link=$1
|
||||
dirty = true;
|
||||
tmp.Add_mid(raw, 0, i - 1); // - 1 to ignore =
|
||||
rslt.Val_(Strip_end);
|
||||
i = raw_len;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
if (i == 0) {
|
||||
rslt.Val_(Strip_bgn);
|
||||
dirty = true;
|
||||
int txt_bgn = 1;
|
||||
for (int j = 1; j < raw_len; j++) {
|
||||
b = raw[j];
|
||||
switch (b) {
|
||||
case Byte_ascii.Num_0: case Byte_ascii.Num_1: case Byte_ascii.Num_2: case Byte_ascii.Num_3: case Byte_ascii.Num_4:
|
||||
case Byte_ascii.Num_5: case Byte_ascii.Num_6: case Byte_ascii.Num_7: case Byte_ascii.Num_8: case Byte_ascii.Num_9:
|
||||
break;
|
||||
default:
|
||||
txt_bgn = j;
|
||||
j = raw_len;
|
||||
break;
|
||||
}
|
||||
}
|
||||
tmp.Add_mid(raw, txt_bgn, raw_len);
|
||||
}
|
||||
else {
|
||||
dirty = true;
|
||||
tmp.Add_mid(raw, 0, i);
|
||||
rslt.Val_(Strip_end);
|
||||
i = raw_len;
|
||||
}
|
||||
i = raw_len;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (dirty) tmp.Add_byte(b);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return dirty ? tmp.To_bry_and_clear() : raw;
|
||||
}
|
||||
public static final byte Strip_none = 0, Strip_bgn = 1, Strip_end = 2;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
XOWA: the XOWA Offline Wiki Application
|
||||
Copyright (C) 2012 gnosygnu@gmail.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.langs.kwds; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
|
||||
import org.junit.*; import gplx.core.primitives.*;
|
||||
public class Xol_kwd_parse_data_tst {
|
||||
@Before public void init() {Clear();}
|
||||
@Test public void Basic() {Key_("upright" ).Tst_strip("upright");}
|
||||
@Test public void Eq_arg() {Key_("upright" ).Tst_strip("upright=$1");}
|
||||
@Test public void Space() {Key_("upright ").Tst_strip("upright $1");}
|
||||
@Test public void Px() {Key_("px").Tst_strip("$1px");}
|
||||
|
||||
private void Clear() {
|
||||
key = null;
|
||||
}
|
||||
Xol_kwd_parse_data_tst Key_(String v) {this.key = v; return this;} private String key;
|
||||
Xol_kwd_parse_data_tst Tst_strip(String v) {
|
||||
Bry_bfr tmp = Bry_bfr_.New();
|
||||
Byte_obj_ref rslt = Byte_obj_ref.zero_();
|
||||
byte[] actl = Xol_kwd_parse_data.Strip(tmp, Bry_.new_a7(v), rslt);
|
||||
Tfds.Eq(key, String_.new_a7(actl));
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user