<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AInfobox_cyclist_tracking</id>
	<title>Module:Infobox cyclist tracking - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AInfobox_cyclist_tracking"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Infobox_cyclist_tracking&amp;action=history"/>
	<updated>2026-07-27T01:56:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:Infobox_cyclist_tracking&amp;diff=472269&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Infobox_cyclist_tracking&amp;diff=472269&amp;oldid=prev"/>
		<updated>2021-07-15T23:19:17Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
 &lt;br /&gt;
function p.tracking(frame)&lt;br /&gt;
    function isblank( val ) &lt;br /&gt;
        return (val == nil) or val:match('^[%s]*$')&lt;br /&gt;
    end&lt;br /&gt;
	local function isnotblank(s)&lt;br /&gt;
		return s and s:match( '^%s*(.-)%s*$' ) ~= ''&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
    local cats = ''&lt;br /&gt;
    local args = frame:getParent().args&lt;br /&gt;
    &lt;br /&gt;
    local hasbr = 0&lt;br /&gt;
    local hasli = 0&lt;br /&gt;
    local hasul = 0&lt;br /&gt;
    local hasnewline = 0&lt;br /&gt;
    local toohighnumber = 0&lt;br /&gt;
    local missingyears = {0, 0, 0}&lt;br /&gt;
    local missingteams = {0, 0, 0}&lt;br /&gt;
    local hasyears = {0, 0, 0}&lt;br /&gt;
    local hasteams = {0, 0, 0}&lt;br /&gt;
    &lt;br /&gt;
    local prefixes = {'pro', 'amateur', 'manage'}&lt;br /&gt;
    local maxindices = {25, 15, 25}&lt;br /&gt;
    for k=1,3 do&lt;br /&gt;
		local prefix = prefixes[k]&lt;br /&gt;
		local maxindex = maxindices[k]&lt;br /&gt;
		if (isnotblank(args[prefix .. 'years']) ) then hasyears[k] = 1 end&lt;br /&gt;
		if (isnotblank(args[prefix .. 'years']) and isblank(args[prefix .. 'teams']) ) then&lt;br /&gt;
			missingteams[k] = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (isnotblank(args[prefix .. 'teams']) ) then hasteams[k] = 1 end&lt;br /&gt;
		if (isnotblank(args[prefix .. 'teams']) and isblank(args[prefix .. 'years']) ) then&lt;br /&gt;
			missingyears[k] = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (args[prefix .. 'years'] or ''):match('&amp;lt;[\t ]*[Bb]') then&lt;br /&gt;
			hasbr = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (args[prefix .. 'years'] or ''):match('&amp;lt;[\t ]*[Ll][Ii]') then&lt;br /&gt;
			hasli = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (args[prefix .. 'years'] or ''):match('&amp;lt;[\t ]*[Uu][Ll]') then&lt;br /&gt;
			hasul = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (args[prefix .. 'teams'] or ''):match('&amp;lt;[\t ]*[Bb]') then&lt;br /&gt;
			hasbr = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (args[prefix .. 'teams'] or ''):match('&amp;lt;[\t ]*[Ll][Ii]') then&lt;br /&gt;
			hasli = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (args[prefix .. 'teams'] or ''):match('&amp;lt;[\t ]*[Uu][Ll]') then&lt;br /&gt;
			hasul = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (args[prefix .. 'years'] or ''):match('[\r\n]') then&lt;br /&gt;
			hasnewline = 1&lt;br /&gt;
		end&lt;br /&gt;
		if (args[prefix .. 'teams'] or ''):match('[\r\n]') then&lt;br /&gt;
			hasnewline = 1&lt;br /&gt;
		end&lt;br /&gt;
		for i = 1,maxindex do&lt;br /&gt;
			if (isnotblank(args[prefix .. 'years'.. tostring(i)]) ) then hasyears[k] = 1 end&lt;br /&gt;
			if (isnotblank(args[prefix .. 'years'.. tostring(i)]) and isblank(args[prefix .. 'team'.. tostring(i)]) ) then&lt;br /&gt;
				missingteams[k] = 1&lt;br /&gt;
			end&lt;br /&gt;
			if (isnotblank(args[prefix .. 'team'.. tostring(i)]) ) then hasteams[k] = 1 end&lt;br /&gt;
			if (isnotblank(args[prefix .. 'team'.. tostring(i)]) and isblank(args[prefix .. 'years'.. tostring(i)]) ) then&lt;br /&gt;
				missingyears[k] = 1&lt;br /&gt;
			end&lt;br /&gt;
			if(args[prefix .. 'years' .. tostring(i)] or ''):match('&amp;lt;[\t ]*[Bb]') then&lt;br /&gt;
				hasbr = 1&lt;br /&gt;
			end&lt;br /&gt;
			if(args[prefix .. 'years' .. tostring(i)] or ''):match('&amp;lt;[\t ]*[Ll][Ii]') then&lt;br /&gt;
				hasli = 1&lt;br /&gt;
			end&lt;br /&gt;
			if(args[prefix .. 'years' .. tostring(i)] or ''):match('&amp;lt;[\t ]*[Uu][Ll]') then&lt;br /&gt;
				hasul = 1&lt;br /&gt;
			end&lt;br /&gt;
			if(args[prefix .. 'team' .. tostring(i)] or ''):match('&amp;lt;[\t ]*[Bb]') then&lt;br /&gt;
				hasbr = 1&lt;br /&gt;
			end&lt;br /&gt;
			if(args[prefix .. 'team' .. tostring(i)] or ''):match('&amp;lt;[\t ]*[Ll][Ii]') then&lt;br /&gt;
				hasli = 1&lt;br /&gt;
			end&lt;br /&gt;
			if(args[prefix .. 'team' .. tostring(i)] or ''):match('&amp;lt;[\t ]*[Uu][Ll]') then&lt;br /&gt;
				hasul = 1&lt;br /&gt;
			end&lt;br /&gt;
			if(args[prefix .. 'years' .. tostring(i)] or ''):match('[\r\n]') then&lt;br /&gt;
				hasnewline = 1&lt;br /&gt;
			end&lt;br /&gt;
			if(args[prefix .. 'team' .. tostring(i)] or ''):match('[\r\n]') then&lt;br /&gt;
				hasnewline = 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if (isnotblank(args[prefix .. 'team'.. tostring(maxindex+1)]) or isnotblank(args[prefix .. 'years'.. tostring(maxindex+1)]) ) then&lt;br /&gt;
			toohighnumber = 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (isnotblank(args['weight'])) then&lt;br /&gt;
		local w = frame:expandTemplate{ title = 'Infobox person/weight', args = {args['weight'] .. ' '} }&lt;br /&gt;
		w = mw.ustring.gsub(w, '[≈~]', ' ')&lt;br /&gt;
		w = mw.ustring.gsub(w, '&amp;lt;abbr[^&amp;lt;&amp;gt;]*&amp;gt;c.&amp;lt;/abbr&amp;gt; ', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '–[%d][%d]*%.[%d]', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '–[%d][%d]*', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]%.[%d]&amp;amp;nbsp;kg %([%d][%d]*&amp;amp;nbsp;lb%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]%.[%d]&amp;amp;nbsp;kg %([%d][%d]*&amp;amp;nbsp;lb; [%d][%.%d]*&amp;amp;nbsp;st%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]%.[%d]&amp;amp;nbsp;kg %([%d][%d]*&amp;amp;nbsp;lb; [%d][%d]*&amp;amp;nbsp;st [%d][%d]*&amp;amp;nbsp;lb%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]%.[%d]&amp;amp;nbsp;kg %([%d][%.%d]*&amp;amp;nbsp;st; [%d][%.%d]*&amp;amp;nbsp;lb%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*&amp;amp;nbsp;kg %([%d][%d]*&amp;amp;nbsp;lb%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*&amp;amp;nbsp;kg %([%d][%d]*&amp;amp;nbsp;lb; [%d][%.%d]*&amp;amp;nbsp;st%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*&amp;amp;nbsp;kg %([%d][%d]*&amp;amp;nbsp;lb; [%d][%d]*&amp;amp;nbsp;st [%d][%d]*&amp;amp;nbsp;lb%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*&amp;amp;nbsp;kg %([%d][%d]*&amp;amp;nbsp;st; [%d][%.%d]*&amp;amp;nbsp;lb%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*&amp;amp;nbsp;st [%d][%d]*&amp;amp;nbsp;lb %([%d][%d]*&amp;amp;nbsp;kg%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*&amp;amp;nbsp;lb %([%d][%d]*&amp;amp;nbsp;kg%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*&amp;amp;nbsp;lb %([%d][%d]*&amp;amp;nbsp;kg; [%d][%.%d]*&amp;amp;nbsp;st%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*[ ]*kg ', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[%d][%d]*[ ]*lb ', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '%([1-2][%d][%d][%d]%)', '')&lt;br /&gt;
		w = mw.ustring.gsub(w, '%([1-2][%d][%d][%d]%-[%d][%d]%)', '')&lt;br /&gt;
		w = mw.text.unstrip(w)&lt;br /&gt;
		w = mw.ustring.gsub(w, '[&amp;lt;]', '.LT.')&lt;br /&gt;
		w = mw.ustring.gsub(w, '[&amp;gt;]', '.GT.')&lt;br /&gt;
		w = mw.ustring.gsub(w, '&amp;amp;', '&amp;amp;amp;')&lt;br /&gt;
		if(isnotblank(w)) then&lt;br /&gt;
			cats = cats .. '[[Category:Pages using infobox cyclist with atypical values for height or weight|W]]'&lt;br /&gt;
			-- cats = cats .. '&amp;lt;span class=error&amp;gt;Atypical value: weight = ' .. w  .. '&amp;lt;/span&amp;gt;'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (isnotblank(args['height'])) then&lt;br /&gt;
		local h = frame:expandTemplate{ title = 'Infobox person/height', args = {args['height'] .. ' '} }&lt;br /&gt;
		h = mw.ustring.gsub(h, '&amp;lt;templatestyles[^&amp;lt;&amp;gt;]*&amp;gt;&amp;lt;%/templatestyles&amp;gt;', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[≈~]', ' ')&lt;br /&gt;
		h = mw.ustring.gsub(h, '&amp;lt;abbr[^&amp;lt;&amp;gt;]*&amp;gt;c.&amp;lt;/abbr&amp;gt; ', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '&amp;lt;span class=&amp;quot;frac&amp;quot; role=&amp;quot;math&amp;quot;&amp;gt;([%d][%d]*)&amp;lt;span class=&amp;quot;sr%-only&amp;quot;&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;%/span&amp;gt;&amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;1&amp;lt;%/span&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;span class=&amp;quot;den&amp;quot;&amp;gt;2&amp;lt;%/span&amp;gt;&amp;lt;%/span&amp;gt;', '%1')&lt;br /&gt;
		h = mw.ustring.gsub(h, '&amp;lt;span class=&amp;quot;frac&amp;quot; role=&amp;quot;math&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;1&amp;lt;%/span&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;span class=&amp;quot;den&amp;quot;&amp;gt;2&amp;lt;%/span&amp;gt;&amp;lt;%/span&amp;gt;', '0')&lt;br /&gt;
		h = mw.ustring.gsub(h, '&amp;lt;span class=&amp;quot;frac nowrap&amp;quot;&amp;gt;([%d][%d]*)&amp;lt;span class=&amp;quot;sr%-only&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;%/span&amp;gt;&amp;lt;sup&amp;gt;1&amp;lt;%/sup&amp;gt;&amp;amp;frasl;&amp;lt;sub&amp;gt;2&amp;lt;%/sub&amp;gt;&amp;lt;%/span&amp;gt;', '%1')&lt;br /&gt;
		h = mw.ustring.gsub(h, '&amp;lt;span class=&amp;quot;frac nowrap&amp;quot;&amp;gt;&amp;lt;sup&amp;gt;1&amp;lt;%/sup&amp;gt;&amp;amp;frasl;&amp;lt;sub&amp;gt;2&amp;lt;%/sub&amp;gt;&amp;lt;%/span&amp;gt;', '0')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[1-2]%.[%d][%d]?&amp;amp;nbsp;m %([4-7]&amp;amp;nbsp;ft [%d][%d]*&amp;amp;nbsp;in%)', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[1-2][%d][%d]&amp;amp;nbsp;cm %([4-7]&amp;amp;nbsp;ft [%d][%d]*&amp;amp;nbsp;in%)', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[4-7]&amp;amp;nbsp;ft [%d][%d]*&amp;amp;nbsp;in %([1-2]%.[%d][%d]&amp;amp;nbsp;m%)', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[4-7]&amp;amp;nbsp;ft [%d][%d]*&amp;amp;nbsp;in %([1-2][%d][%d]&amp;amp;nbsp;cm%)', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[1-2]%.[%d][%d][ ]*m ', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[1-2][%d][%d][ ]*cm ', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[4-7] ft [%d][%d]* in ', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '%([1-2][%d][%d][%d]%)', '')&lt;br /&gt;
		h = mw.ustring.gsub(h, '%([1-2][%d][%d][%d]-[%d][%d]%)', '')&lt;br /&gt;
		h = mw.text.unstrip(h)&lt;br /&gt;
		h = mw.ustring.gsub(h, '[&amp;lt;]', '.LT.')&lt;br /&gt;
		h = mw.ustring.gsub(h, '[&amp;gt;]', '.GT.')&lt;br /&gt;
		h = mw.ustring.gsub(h, '&amp;amp;', '&amp;amp;amp;')&lt;br /&gt;
		if(isnotblank(h)) then&lt;br /&gt;
			cats = cats .. '[[Category:Pages using infobox cyclist with atypical values for height or weight|H]]'&lt;br /&gt;
			-- cats = cats .. '&amp;lt;span class=error style=&amp;quot;display:none&amp;quot;&amp;gt;Atypical value: height = ' .. h  .. '&amp;lt;/span&amp;gt;'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (hasli &amp;gt; 0) then&lt;br /&gt;
        cats = cats .. '[[Category:Pages using infobox cyclist with multiple entries in single field|λ]]'&lt;br /&gt;
    end&lt;br /&gt;
    if (hasul &amp;gt; 0) then&lt;br /&gt;
        cats = cats .. '[[Category:Pages using infobox cyclist with multiple entries in single field|μ]]'&lt;br /&gt;
    end&lt;br /&gt;
    if (hasbr &amp;gt; 0) then&lt;br /&gt;
        cats = cats .. '[[Category:Pages using infobox cyclist with multiple entries in single field|β]]'&lt;br /&gt;
    end&lt;br /&gt;
    if (hasnewline &amp;gt; 0) then&lt;br /&gt;
        cats = cats .. '[[Category:Pages using infobox cyclist with multiple entries in single field|ν]]'&lt;br /&gt;
    end&lt;br /&gt;
	for k=1,3 do&lt;br /&gt;
		if (missingyears[k] &amp;gt; 0 and hasyears[k] &amp;gt; 0) then&lt;br /&gt;
			cats = cats .. '[[Category:Pages using infobox cyclist with unknown parameters|Υ]]'&lt;br /&gt;
		end&lt;br /&gt;
		if (missingteams[k] &amp;gt; 0 and hasteams[k] &amp;gt; 0) then&lt;br /&gt;
			cats = cats .. '[[Category:Pages using infobox cyclist with unknown parameters|Τ]]'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
    return cats&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>