词条 | Module:Infobox cyclist tracking/sandbox |
释义 | local p = {} function p.tracking(frame) function isblank( val ) return (val == nil) or val:match('^[%s]*$') end local function isnotblank(s) return s and s:match( '^%s*(.-)%s*$' ) ~= end local cats = '' local args = frame:getParent().args local hasbr = 0 local hasli = 0 local hasul = 0 local hasnewline = 0 local toohighnumber = 0 local missingyears = {0, 0, 0} local missingteams = {0, 0, 0} local hasyears = {0, 0, 0} local hasteams = {0, 0, 0} local prefixes = {'pro', 'amateur', 'manage'} local maxindices = {25, 15, 25} for k=1,3 do local prefix = prefixes[k] local maxindex = maxindices[k] if (isnotblank(args[prefix .. 'years']) ) then hasyears[k] = 1 end if (isnotblank(args[prefix .. 'years']) and isblank(args[prefix .. 'teams']) ) then missingteams[k] = 1 end if (isnotblank(args[prefix .. 'teams']) ) then hasteams[k] = 1 end if (isnotblank(args[prefix .. 'teams']) and isblank(args[prefix .. 'years']) ) then missingyears[k] = 1 end if (args[prefix .. 'years'] or ):match('<[\\t ]*[Bb]') then hasbr = 1 end if (args[prefix .. 'years'] or ):match('<[\\t ]*[Ll][Ii]') then hasli = 1 end if (args[prefix .. 'years'] or ):match('<[\\t ]*[Uu][Ll]') then hasul = 1 end if (args[prefix .. 'teams'] or ):match('<[\\t ]*[Bb]') then hasbr = 1 end if (args[prefix .. 'teams'] or ):match('<[\\t ]*[Ll][Ii]') then hasli = 1 end if (args[prefix .. 'teams'] or ):match('<[\\t ]*[Uu][Ll]') then hasul = 1 end if (args[prefix .. 'years'] or ):match('[\\r\]') then hasnewline = 1 end if (args[prefix .. 'teams'] or ):match('[\\r\]') then hasnewline = 1 end for i = 1,maxindex do if (isnotblank(args[prefix .. 'years'.. tostring(i)]) ) then hasyears[k] = 1 end if (isnotblank(args[prefix .. 'years'.. tostring(i)]) and isblank(args[prefix .. 'team'.. tostring(i)]) ) then missingteams[k] = 1 end if (isnotblank(args[prefix .. 'team'.. tostring(i)]) ) then hasteams[k] = 1 end if (isnotblank(args[prefix .. 'team'.. tostring(i)]) and isblank(args[prefix .. 'years'.. tostring(i)]) ) then missingyears[k] = 1 end if(args[prefix .. 'years' .. tostring(i)] or ):match('<[\\t ]*[Bb]') then hasbr = 1 end if(args[prefix .. 'years' .. tostring(i)] or ):match('<[\\t ]*[Ll][Ii]') then hasli = 1 end if(args[prefix .. 'years' .. tostring(i)] or ):match('<[\\t ]*[Uu][Ll]') then hasul = 1 end if(args[prefix .. 'team' .. tostring(i)] or ):match('<[\\t ]*[Bb]') then hasbr = 1 end if(args[prefix .. 'team' .. tostring(i)] or ):match('<[\\t ]*[Ll][Ii]') then hasli = 1 end if(args[prefix .. 'team' .. tostring(i)] or ):match('<[\\t ]*[Uu][Ll]') then hasul = 1 end if(args[prefix .. 'years' .. tostring(i)] or ):match('[\\r\]') then hasnewline = 1 end if(args[prefix .. 'team' .. tostring(i)] or ):match('[\\r\]') then hasnewline = 1 end end if (isnotblank(args[prefix .. 'team'.. tostring(maxindex+1)]) or isnotblank(args[prefix .. 'years'.. tostring(maxindex+1)]) ) then toohighnumber = 1 end end if (isnotblank(args['weight'])) then local w = args['weight'] w = mw.ustring.gsub(w, '[≈~]', ' ') w = mw.ustring.gsub(w, ']*>c. ', ) w = mw.ustring.gsub(w, '–[%d][%d]*%.[%d]', ) w = mw.ustring.gsub(w, '–[%d][%d]*', ) w = mw.ustring.gsub(w, '[%d][%d]%.[%d] kg %([%d][%d]* lb%)', ) w = mw.ustring.gsub(w, '[%d][%d]%.[%d] kg %([%d][%d]* lb; [%d][%.%d]* st%)', ) w = mw.ustring.gsub(w, '[%d][%d]%.[%d] kg %([%d][%d]* lb; [%d][%d]* st [%d][%d]* lb%)', ) w = mw.ustring.gsub(w, '[%d][%d]%.[%d] kg %([%d][%.%d]* st; [%d][%.%d]* lb%)', ) w = mw.ustring.gsub(w, '[%d][%d]* kg %([%d][%d]* lb%)', ) w = mw.ustring.gsub(w, '[%d][%d]* kg %([%d][%d]* lb; [%d][%.%d]* st%)', ) w = mw.ustring.gsub(w, '[%d][%d]* kg %([%d][%d]* lb; [%d][%d]* st [%d][%d]* lb%)', ) w = mw.ustring.gsub(w, '[%d][%d]* kg %([%d][%d]* st; [%d][%.%d]* lb%)', ) w = mw.ustring.gsub(w, '[%d][%d]* st [%d][%d]* lb %([%d][%d]* kg%)', ) w = mw.ustring.gsub(w, '[%d][%d]* lb %([%d][%d]* kg%)', ) w = mw.ustring.gsub(w, '[%d][%d]* lb %([%d][%d]* kg; [%d][%.%d]* st%)', ) w = mw.ustring.gsub(w, '%([1-2][%d][%d][%d]%)', ) w = mw.ustring.gsub(w, '%([1-2][%d][%d][%d]%-[%d][%d]%)', ) w = mw.text.unstrip(w) w = mw.ustring.gsub(w, '[<]', '.LT.') w = mw.ustring.gsub(w, '[>]', '.GT.') w = mw.ustring.gsub(w, '&', '&') if(isnotblank(w)) then cats = cats .. -- cats = cats .. 'Atypical value: weight = ' .. w .. '' end end if (isnotblank(args['height'])) then local h = args['height'] h = mw.ustring.gsub(h, '[≈~]', ' ') h = mw.ustring.gsub(h, ']*>c. ', ) h = mw.ustring.gsub(h, '([%d][%d]*) <%/span>1<%/sup>⁄2<%/sub><%/span>', '%1') h = mw.ustring.gsub(h, '1<%/sup>⁄2<%/sub><%/span>', '0') h = mw.ustring.gsub(h, '[1-2]%.[%d][%d]? m %([4-7] ft [%d][%d]* in%)', ) h = mw.ustring.gsub(h, '[1-2][%d][%d] cm %([4-7] ft [%d][%d]* in%)', ) h = mw.ustring.gsub(h, '[4-7] ft [%d][%d]* in %([1-2]%.[%d][%d] m%)', ) h = mw.ustring.gsub(h, '[4-7] ft [%d][%d]* in %([1-2][%d][%d] cm%)', ) h = mw.ustring.gsub(h, '[%d][%d]* lb %([%d][%d]* kg%)', ) h = mw.ustring.gsub(h, '%([1-2][%d][%d][%d]%)', ) h = mw.ustring.gsub(h, '%([1-2][%d][%d][%d]-[%d][%d]%)', ) h = mw.text.unstrip(h) h = mw.ustring.gsub(h, '[<]', '.LT.') h = mw.ustring.gsub(h, '[>]', '.GT.') h = mw.ustring.gsub(h, '&', '&') if(isnotblank(h)) then cats = cats .. -- cats = cats .. 'Atypical value: height = ' .. h .. '' end end if (args['amateuryears'] or args['amateurteams']) then if ((args['amateuryears'] ~= ) and (args['amateuryears'] ~= )) then cats = cats .. end end if (args['proyears'] or args['proteams']) then if ((args['proyears'] ~= ) and (args['proyears'] ~= )) then cats = cats .. end end if (args['manageyears'] or args['manageteams']) then if ((args['manageyears'] ~= ) and (args['manageyears'] ~= )) then cats = cats .. end end if (hasli > 0) then cats = cats .. '' end if (hasul > 0) then cats = cats .. '' end if (hasbr > 0) then cats = cats .. '' end if (hasnewline > 0) then cats = cats .. '' end for k=1,3 do if (missingyears[k] > 0 and hasyears[k] > 0) then cats = cats .. end if (missingteams[k] > 0 and hasteams[k] > 0) then cats = cats .. end end if (toohighnumber > 0) then cats = cats .. '' end return cats end return p 12 : Pages using infobox cyclist with atypical values for height or weight|Pages using infobox cyclist with atypical values for height or weight|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters|Pages using infobox cyclist with deprecated parameters |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。