Module:Country extract: Difference between revisions
m (Protected "Module:Country extract": High-risk Lua module ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite))) |
Vivaporius (talk | contribs) m (1 revision imported) |
(No difference)
|
Latest revision as of 06:33, 27 May 2017
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
local p = {}
--
-- to enable us to replicate the current functioning of CountryAbbr and CountryAbbr2
-- We need to deal with
-- 1 alternative names ISO 3166 should do that
-- 2 {{<name>}}
-- 3 [ [<name>] ]
-- 4 [ [<name>|<junk>] ]
-- 5 [ [image:flag of <country>.[svg|gif|png|jpg]|\d+px] ]
--
function p.extractCountry(frame)
local string= mw.ustring.toNFC (frame.args[1])
local match=nil;
match = mw.ustring.match(string, "Flag of ([^\.]*)")
if (match) then
return match
end
-- () for Cocos (Keeling) Islands
-- ' For People's
-- . for U.S. etc.
match = mw.ustring.match(string, "(%u[%a\(\)\.' -]+)")
if (match == "Image") then
string = mw.ustring.gsub(string, match, "")
match = mw.ustring.match(string, "[\|\[](%u[%a\(\)\.' -]+)")
end
if (match == "20px") then
string = mw.ustring.gsub(string, match, "")
match = mw.ustring.match(string, "\[(%u[%a\(\)\.' -]+)")
end
if (match) then
return match
end
return string
end
--[[
]]
function p.extractSubdivision(frame)
local string= mw.ustring.toNFC (frame.args[1])
local match=nil;
-- Needed for {{flag|Greenland}},
match = mw.ustring.match(string, "Flag of ([^\.]*)")
if (match) then
return match
end
-- . needed for Washington D.C.
-- ' for cote d'azur
-- leading ' for 'Aden
-- ‘ and trailing ' for Şan‘ā'
match = mw.ustring.match(string, "('?[%u][%a'‘ \.\,-]+[%a\.'\d]+)")
if (match) then
return match
end
return string
end
return p