<?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%3AJcon</id>
	<title>Module:Jcon - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AJcon"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Jcon&amp;action=history"/>
	<updated>2026-07-27T07:27:45Z</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:Jcon&amp;diff=472369&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:Jcon&amp;diff=472369&amp;oldid=prev"/>
		<updated>2021-07-15T23:25:49Z</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;
local getArgs = require(&amp;quot;Module:Arguments&amp;quot;).getArgs&lt;br /&gt;
local data = mw.loadData('Module:Jcon/data')&lt;br /&gt;
local miscTable = data.miscTable&lt;br /&gt;
local typeTable = data.typeTable&lt;br /&gt;
local divisionTable = data.divisionTable&lt;br /&gt;
local pictureTable = data.pictureTable&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
          R E T U R N P I C T U R E&lt;br /&gt;
          Return the picture of text &lt;br /&gt;
]]--&lt;br /&gt;
&lt;br /&gt;
local function returnPicture(frame,Type,args,division)&lt;br /&gt;
	if not pictureTable[division] then -- Return nothing if region doen't have pictures&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local export = pictureTable[division][1]..args[2]..pictureTable[division][2] or &amp;quot;&amp;quot; -- Set picture&lt;br /&gt;
	&lt;br /&gt;
	if args[2]:upper() == &amp;quot;407ETR&amp;quot; and division == &amp;quot;Highway&amp;quot; then -- Picture exceptions&lt;br /&gt;
		export = &amp;quot;Highway407crest.png&amp;quot;&lt;br /&gt;
	elseif args[2]:upper() == &amp;quot;QEW&amp;quot; and division == &amp;quot;Highway&amp;quot; and args[&amp;quot;shield&amp;quot;] == &amp;quot;yes&amp;quot; then&lt;br /&gt;
		export = &amp;quot;Ontario QEW.svg&amp;quot;&lt;br /&gt;
	elseif args[2]:upper() == &amp;quot;QEW&amp;quot; and division == &amp;quot;Highway&amp;quot; and not args[&amp;quot;shield&amp;quot;] then&lt;br /&gt;
		export = &amp;quot;Ontario QEW crown.svg&amp;quot;&lt;br /&gt;
	elseif args[&amp;quot;shield&amp;quot;] == &amp;quot;yes&amp;quot; and division == &amp;quot;Highway&amp;quot; then&lt;br /&gt;
		routenumber = string.gsub(args[2],&amp;quot;%D&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
		if tonumber(routenumber) == nil then&lt;br /&gt;
			return &amp;quot;&amp;quot; -- Return nothing if there's no route number&lt;br /&gt;
		elseif tonumber(routenumber) &amp;gt;= 500 and division == &amp;quot;Highway&amp;quot; then -- If highway is secondary&lt;br /&gt;
			export = &amp;quot;Ontario Highway &amp;quot;..args[2]..&amp;quot;.svg&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			export = &amp;quot;Ontario &amp;quot;..args[2]..&amp;quot;.svg&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		routenumber = string.gsub(args[2],&amp;quot;%D&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
		if tonumber(routenumber) == nil then&lt;br /&gt;
			return &amp;quot;&amp;quot; -- Return nothing if there's no route number&lt;br /&gt;
		elseif tonumber(routenumber) &amp;gt;= 500 and division == &amp;quot;Highway&amp;quot; then -- If highway is secondary&lt;br /&gt;
			export = &amp;quot;Ontario Highway &amp;quot;..args[2]..&amp;quot;.svg&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if export == &amp;quot;&amp;quot; or nil then return &amp;quot;&amp;quot; end -- Return nothing if export is nothing&lt;br /&gt;
	if frame:callParserFunction('#ifexist', 'Media:' .. export, '1') ~= '' then -- Set picture sizes&lt;br /&gt;
		if args[&amp;quot;size&amp;quot;] then                                                    &lt;br /&gt;
			return table.concat({&amp;quot;[[File:&amp;quot;,export,&amp;quot;|alt=|link=|&amp;quot;,args[&amp;quot;size&amp;quot;],&amp;quot;]]&amp;quot;})&lt;br /&gt;
		elseif args[2]:upper() == &amp;quot;407ETR&amp;quot; then&lt;br /&gt;
			return table.concat({&amp;quot;[[File:&amp;quot;,export,&amp;quot;|alt=|link=|24px]]&amp;quot;})&lt;br /&gt;
		elseif division == &amp;quot;Kawartha Lakes&amp;quot; then&lt;br /&gt;
			return table.concat({&amp;quot;[[File:&amp;quot;,export,&amp;quot;|alt=|link=|21px]]&amp;quot;})&lt;br /&gt;
		elseif args[&amp;quot;shield&amp;quot;] == &amp;quot;yes&amp;quot; and division == &amp;quot;Highway&amp;quot; then&lt;br /&gt;
			return table.concat({&amp;quot;[[File:&amp;quot;,export,&amp;quot;|alt=|link=|x25px]]&amp;quot;})&lt;br /&gt;
		elseif division == &amp;quot;Toll&amp;quot; then&lt;br /&gt;
			return table.concat({&amp;quot;[[File:&amp;quot;,export,&amp;quot;|alt=|link=|x30px]]&amp;quot;})&lt;br /&gt;
		else&lt;br /&gt;
			return table.concat({&amp;quot;[[File:&amp;quot;,export,&amp;quot;|alt=|link=|x20px]]&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;&amp;quot; -- Retrun nothing if the picture doesn't exist&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
          R E T U R N T E X T &lt;br /&gt;
          Returns the text/link &lt;br /&gt;
]]--&lt;br /&gt;
&lt;br /&gt;
local function returnText(frame,Type,args,division,showred)&lt;br /&gt;
	local export; -- Link&lt;br /&gt;
	local display; -- Display (if different from link)&lt;br /&gt;
		if args[2]:upper() == &amp;quot;407ETR&amp;quot; then -- Exception&lt;br /&gt;
			export = &amp;quot;Ontario Highway&amp;quot;..&amp;quot; &amp;quot;..&amp;quot;407&amp;quot;&lt;br /&gt;
			display = &amp;quot;407&amp;quot;..&amp;quot; &amp;quot;..&amp;quot;ETR&amp;quot;&lt;br /&gt;
		elseif args[2]:upper() == &amp;quot;QEW&amp;quot; then -- Exception&lt;br /&gt;
			export = &amp;quot;Queen Elizabeth Way&amp;quot;&lt;br /&gt;
		elseif Type == &amp;quot;Highway&amp;quot; or Type == &amp;quot;Toll&amp;quot; then -- Highways&lt;br /&gt;
			export = &amp;quot;Ontario Highway&amp;quot;..&amp;quot; &amp;quot;..args[2]&lt;br /&gt;
			display = &amp;quot;Highway&amp;quot;..&amp;quot; &amp;quot;..args[2]&lt;br /&gt;
		elseif division == &amp;quot;Kawartha Lakes&amp;quot; then &lt;br /&gt;
			export =&amp;quot;Kawartha Lakes&amp;quot; ..&amp;quot; &amp;quot;..&amp;quot;Road&amp;quot;..&amp;quot; &amp;quot;..args[2]&lt;br /&gt;
			display = Type..&amp;quot; &amp;quot;..&amp;quot;Road&amp;quot;..&amp;quot; &amp;quot;..args[2]&lt;br /&gt;
		elseif Type == &amp;quot;County Highway&amp;quot; or Type == &amp;quot;Regional Highway&amp;quot; or Type == &amp;quot;County Line&amp;quot; then&lt;br /&gt;
			export = division..&amp;quot; &amp;quot;..args[2]&lt;br /&gt;
			display = Type..&amp;quot; &amp;quot;..args[2]&lt;br /&gt;
		else&lt;br /&gt;
			export = division..&amp;quot; &amp;quot;..Type..&amp;quot; &amp;quot;..&amp;quot;Road&amp;quot;..&amp;quot; &amp;quot;..args[2]&lt;br /&gt;
			display = Type..&amp;quot; &amp;quot;..&amp;quot;Road&amp;quot;..&amp;quot; &amp;quot;..args[2]&lt;br /&gt;
		end&lt;br /&gt;
		if (frame:callParserFunction('#ifexist',export, '1') ~= '' or showred) and not args[&amp;quot;nolink&amp;quot;] then &lt;br /&gt;
			if display then&lt;br /&gt;
				export =  &amp;quot;[[&amp;quot;..export..&amp;quot;|&amp;quot;..display..&amp;quot;]]&amp;quot; -- Show display&lt;br /&gt;
			else&lt;br /&gt;
				export = &amp;quot;[[&amp;quot;..export..&amp;quot;]]&amp;quot; -- Show export&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			return export&lt;br /&gt;
		elseif display then&lt;br /&gt;
			return display&lt;br /&gt;
		else&lt;br /&gt;
			return export&lt;br /&gt;
		end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
           R E T U R N P L A C E &lt;br /&gt;
           Add name/link for a city/town&lt;br /&gt;
]]--&lt;br /&gt;
&lt;br /&gt;
local function returnPlace(frame,export,place,after,showred)&lt;br /&gt;
	local preExport&lt;br /&gt;
	if frame:callParserFunction('#ifexist',place..&amp;quot;, Ontario&amp;quot;, '1') ~= '' or showred then&lt;br /&gt;
		preExport = &amp;quot;[[&amp;quot;..place..&amp;quot;, Ontario|&amp;quot;..place..&amp;quot;]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		preExport = place&lt;br /&gt;
	end&lt;br /&gt;
	if after == true then&lt;br /&gt;
		return export..&amp;quot;, &amp;quot;..preExport&lt;br /&gt;
	else&lt;br /&gt;
		return export..&amp;quot; – &amp;quot;..preExport&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
           P . J C O N&lt;br /&gt;
           Return final picture(s)/text(s)&lt;br /&gt;
]]--&lt;br /&gt;
&lt;br /&gt;
function p.jcon (frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	args[1] = args[1] or &amp;quot;&amp;quot; -- Unnil args[1]&lt;br /&gt;
	local Remove = {&amp;quot;regional&amp;quot;,&amp;quot;region&amp;quot;,&amp;quot;county&amp;quot;,&amp;quot;country&amp;quot;,&lt;br /&gt;
		&amp;quot;municipality of&amp;quot;,&amp;quot;city of&amp;quot;,&amp;quot;^ &amp;quot;,&amp;quot; $&amp;quot;} -- Stuff to remove from lowercase input&lt;br /&gt;
	for _,v in ipairs(Remove) do&lt;br /&gt;
		args[1] = mw.ustring.gsub(args[1]:lower(),v,'')&lt;br /&gt;
	end&lt;br /&gt;
	args[2] = args[2] or &amp;quot;&amp;quot;&lt;br /&gt;
	local division = divisionTable[args[1]:lower()] or args[1]&lt;br /&gt;
	local Type = typeTable[division]&lt;br /&gt;
	local export = &amp;quot;&amp;quot;&lt;br /&gt;
	if miscTable[args[1]:lower()] or miscTable[args[2]:lower()] then&lt;br /&gt;
		return miscTable[args[1]:lower()] or miscTable[args[2]:lower()]&lt;br /&gt;
	end&lt;br /&gt;
	if not typeTable[division] then -- Region not in typeTable&lt;br /&gt;
		return &amp;quot;&amp;amp;#8203;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if args[2] == &amp;quot;&amp;quot; then -- Need args[2] after this point&lt;br /&gt;
		return &amp;quot;&amp;amp;#8203;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if args[&amp;quot;ot&amp;quot;] then -- If output should only be text&lt;br /&gt;
		args[&amp;quot;nosh&amp;quot;] = &amp;quot;yes&amp;quot;&lt;br /&gt;
		args[&amp;quot;nolink&amp;quot;] = &amp;quot;yes&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	args[&amp;quot;2A&amp;quot;] = args[2] -- road1 is args[2]&lt;br /&gt;
	if args[&amp;quot;con&amp;quot;] then args[&amp;quot;2B&amp;quot;] = args[&amp;quot;con&amp;quot;] end -- road 2 is args[&amp;quot;con&amp;quot;]&lt;br /&gt;
	if args[&amp;quot;con2&amp;quot;] then args[&amp;quot;2C&amp;quot;] = args[&amp;quot;con2&amp;quot;] end -- road 3 is args[&amp;quot;con2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
	-- [[ G E T   P I C T U R E ]] --&lt;br /&gt;
	if not args[&amp;quot;nosh&amp;quot;] then -- If allowed to add shield&lt;br /&gt;
			args[2] = args[&amp;quot;2A&amp;quot;] -- Set args[2] to road 1&lt;br /&gt;
			picture = returnPicture(frame,Type,args,division) -- Return picture of road 1&lt;br /&gt;
		if args[&amp;quot;con&amp;quot;] then&lt;br /&gt;
			args[2] = args[&amp;quot;2B&amp;quot;] -- Set args[2] to road 2&lt;br /&gt;
			picture = picture..&amp;quot;&amp;amp;nbsp;&amp;quot;..returnPicture(frame,Type,args,division) -- Return picture of road 2&lt;br /&gt;
		end&lt;br /&gt;
		if args[&amp;quot;con2&amp;quot;] then&lt;br /&gt;
			args[2] = args[&amp;quot;2C&amp;quot;] -- Set args[2] to road 3&lt;br /&gt;
			picture = picture..&amp;quot;&amp;amp;nbsp;&amp;quot;..returnPicture(frame,Type,args,division) -- Return picture of road 3&lt;br /&gt;
		end&lt;br /&gt;
		if args[&amp;quot;tch&amp;quot;] then&lt;br /&gt;
			picture = picture..&amp;quot;&amp;amp;nbsp;&amp;quot;..&amp;quot;[[File:TCH-blank.svg|x20px]]&amp;quot; -- Return picture of tch&lt;br /&gt;
		end&lt;br /&gt;
		if picture ~= &amp;quot;&amp;quot; and not args[&amp;quot;pic aft&amp;quot;] then -- If a picture was returned and picture goes first&lt;br /&gt;
			picture = picture..&amp;quot;&amp;amp;nbsp;&amp;quot; -- Add a space&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- [[ A D D   P I C T U R E ]] (If it goes before) --&lt;br /&gt;
	if not args[&amp;quot;pic aft&amp;quot;] and picture then -- If picure goes first&lt;br /&gt;
		export = picture&lt;br /&gt;
	end&lt;br /&gt;
	-- [[ A D D   T E X T ]] --&lt;br /&gt;
	if not args[&amp;quot;notext&amp;quot;] then -- If allowed to show text&lt;br /&gt;
		args[2] = args[&amp;quot;2A&amp;quot;]&lt;br /&gt;
		export = export..returnText(frame,Type,args,division,args['showred']) &lt;br /&gt;
		if args[&amp;quot;con&amp;quot;] then&lt;br /&gt;
			args[2] = args[&amp;quot;2B&amp;quot;]&lt;br /&gt;
			export = export..&amp;quot;&amp;amp;nbsp;&amp;quot;..&amp;quot;/&amp;quot;..&amp;quot; &amp;quot;..returnText(frame,Type,args,division,args['showred'])&lt;br /&gt;
		end&lt;br /&gt;
		if args[&amp;quot;con2&amp;quot;] then&lt;br /&gt;
			args[2] = args[&amp;quot;2C&amp;quot;]&lt;br /&gt;
			export = export..&amp;quot;&amp;amp;nbsp;&amp;quot;..&amp;quot;/&amp;quot;..&amp;quot; &amp;quot;..returnText(frame,Type,args,division,args['showred'])&lt;br /&gt;
		end&lt;br /&gt;
		if args[&amp;quot;tch&amp;quot;] then&lt;br /&gt;
			export = export..&amp;quot;&amp;amp;nbsp;&amp;quot;..&amp;quot;/&amp;quot;..&amp;quot; &amp;quot;..&amp;quot;[[Trans-Canada Highway|TCH]]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if args[&amp;quot;dir&amp;quot;] then -- Direction&lt;br /&gt;
		export = export..&amp;quot; &amp;quot;..args[&amp;quot;dir&amp;quot;]&lt;br /&gt;
		if args[&amp;quot;condir&amp;quot;] then&lt;br /&gt;
			export=export..&amp;quot;/&amp;quot;..args[&amp;quot;condir&amp;quot;]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if args[3] then -- Name (argument 3)&lt;br /&gt;
		export = export..&amp;quot; (&amp;quot;..args[3]..&amp;quot;)&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if args[&amp;quot;city&amp;quot;] then -- City 1&lt;br /&gt;
		export = returnPlace(frame,export,args[&amp;quot;city&amp;quot;],false,args['showred'])&lt;br /&gt;
	elseif args[&amp;quot;town&amp;quot;] then -- Or town 1&lt;br /&gt;
		export = returnPlace(frame,export,args[&amp;quot;town&amp;quot;],false,args['showred'])&lt;br /&gt;
	end&lt;br /&gt;
	if args[&amp;quot;city2&amp;quot;] then -- City 1&lt;br /&gt;
		export = returnPlace(frame,export,args[&amp;quot;city2&amp;quot;],true,args['showred'])&lt;br /&gt;
	elseif args[&amp;quot;town2&amp;quot;] then -- Or town 1&lt;br /&gt;
		export = returnPlace(frame,export,args[&amp;quot;town2&amp;quot;],true,args['showred'])&lt;br /&gt;
	end&lt;br /&gt;
	-- [[ A D D   P I C T U R E ]] (If it goes after) --&lt;br /&gt;
	if args[&amp;quot;pic aft&amp;quot;] and picture then&lt;br /&gt;
		export = export..&amp;quot;&amp;amp;nbsp;&amp;quot;..picture&lt;br /&gt;
	end&lt;br /&gt;
	return export&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
           P . S U P P O R T E D &lt;br /&gt;
           Return all supported &amp;quot;regions&amp;quot; in a list format&lt;br /&gt;
]]--&lt;br /&gt;
&lt;br /&gt;
function p.supported (frame)&lt;br /&gt;
	local export = &amp;quot;'''Note: All inputs are converted to lowercase'''&amp;lt;br /&amp;gt;&amp;lt;u&amp;gt;'''Supported 'Regions':'''&amp;lt;/u&amp;gt;&amp;quot; -- Add header&lt;br /&gt;
	local supportedTable = {} -- Used to store all regional tables&lt;br /&gt;
	local index = {} -- Used to sort alphabetically&lt;br /&gt;
	for correct,_ in pairs(typeTable) do -- Create tables for each region&lt;br /&gt;
		supportedTable[correct] = {correct}&lt;br /&gt;
	end &lt;br /&gt;
	for improper,proper in pairs(divisionTable) do -- Add improper to regional tables&lt;br /&gt;
		if supportedTable[proper] then&lt;br /&gt;
			table.insert(supportedTable[proper],improper)&lt;br /&gt;
		else&lt;br /&gt;
			mw.log(proper..&amp;quot; doesn't have a type specified&amp;quot;) -- Log regions that do not have a type&lt;br /&gt;
			supportedTable[proper] = {proper,improper} -- Create table&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
    for correct,_ in pairs(supportedTable) do  -- Add keys to sortable index&lt;br /&gt;
    	table.insert(index,correct) &lt;br /&gt;
    end&lt;br /&gt;
    table.sort(index) -- Sort index&lt;br /&gt;
    for _,correct in ipairs(index) do -- Go over each proper region&lt;br /&gt;
    	for _,name in ipairs(supportedTable[correct]) do -- Go over each region name&lt;br /&gt;
    		table.sort(supportedTable[correct])&lt;br /&gt;
    		if name == correct then -- Add to list if proper name&lt;br /&gt;
    			export = export..&amp;quot;&amp;lt;br /&amp;gt;• &amp;quot;..name&lt;br /&gt;
    		else -- Add to list if improper name&lt;br /&gt;
    			export = export..&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;..&amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;..&amp;quot;• &amp;quot;..name&lt;br /&gt;
    		end&lt;br /&gt;
    	end&lt;br /&gt;
    end&lt;br /&gt;
    export = export..&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;u&amp;gt;'''Supported MTO signs:'''&amp;lt;/u&amp;gt;&amp;quot; -- Add MTO header&lt;br /&gt;
    for k,v in pairs(miscTable) do -- Add MTO signs&lt;br /&gt;
		export = export..&amp;quot;&amp;lt;br /&amp;gt;• &amp;quot;..k&lt;br /&gt;
	end&lt;br /&gt;
	return export -- Return list&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
           Return Output&lt;br /&gt;
           End of module&lt;br /&gt;
]]--&lt;br /&gt;
&lt;br /&gt;
return p;&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>