Hoppa till innehållet

Modul:Partier se

Från Plutten
Version från den 13 februari 2026 kl. 15.14 av Vibbe (diskussion | Bidrag) (Importerad fran sv.wikipedia.org via wiki_copy.py)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)

Dokumentationen för denna modul kan skapas på Modul:Partier se/dok

local p = {}
function lansvis( t )
	local lok = {
		['01'] = 'Modul:Partier se/01',
		['03'] = 'Modul:Partier se/03',
		['04'] = 'Modul:Partier se/04',
		['05'] = 'Modul:Partier se/05',
		['06'] = 'Modul:Partier se/06',
		['07'] = 'Modul:Partier se/07',
		['08'] = 'Modul:Partier se/08',
		['09'] = 'Modul:Partier se/09',
		['10'] = 'Modul:Partier se/10',
		['12'] = 'Modul:Partier se/12',
		['13'] = 'Modul:Partier se/13',
		['14'] = 'Modul:Partier se/14',
		['17'] = 'Modul:Partier se/17',
		['18'] = 'Modul:Partier se/18',
		['19'] = 'Modul:Partier se/19',
		['20'] = 'Modul:Partier se/20',
		['21'] = 'Modul:Partier se/21',
		['22'] = 'Modul:Partier se/22',
		['23'] = 'Modul:Partier se/23',
		['24'] = 'Modul:Partier se/24',
		['25'] = 'Modul:Partier se/25'
	}
	return lok[t]
end

function p.partisnack(frame)
	local args = frame.args
	local white = 'white'
	local black = 'black'

	local color = {

	['al'] =	 { ['a'] = 'AL',   ['n'] = 'Arbetarlistan',                 ['l'] = 'Arbetarlistan', ['f'] = '#cc0000' , ['t'] = white },
	['afs'] =	 { ['a'] = 'AfS',  ['n'] = 'Alternativ för Sverige',        ['l'] = 'Alternativ för Sverige', ['f'] = '#000095' , ['t'] = white },
	['apk'] =	 { ['a'] = 'APK',  ['n'] = 'Arbetarpartiet kommunisterna',  ['l'] = 'Sveriges kommunistiska parti (1995)', ['f'] = '#640000' , ['t'] = white },

	['bl'] =	 { ['a'] = 'BL' ,  ['n'] = 'Borgerlig lista',               ['l'] = 'Samlingslista', ['f'] = '#b9d3ee' , ['t'] = black },

	['c'] = 	 { ['a'] = 'C',    ['n'] = 'Centerpartiet',                 ['l'] = 'Centerpartiet', ['f'] = '#009933', ['t'] = black },

	['fgls'] =	 { ['a'] = 'FGLS', ['n'] = 'Fri grupp för lägre skatt',     ['l'] = 'Fri grupp för lägre skatt', ['f'] = 'orange', ['t'] = black },
	['fi'] =	 { ['a'] = 'FI',   ['n'] = 'Feministiskt initiativ',        ['l'] = 'Feministiskt initiativ', ['f'] = '#D9308E', ['t'] = white }, 
	['fk'] =	 { ['a'] = 'FRK',  ['n'] = 'Frihetliga Kommunalfolket',     ['l'] = 'Frihetliga Kommunalfolket', ['f'] = '#660000', ['t'] = white },
	['fp'] =	 { ['a'] = 'FP',   ['n'] = 'Folkpartiet liberalerna',       ['l'] = 'Liberalerna', ['f'] = '#6BB7EC', ['t'] = black},
	['fr'] =	 { ['a'] = 'FR',   ['n'] = 'Frisinnade folkpartiet',        ['l'] = 'Frisinnade folkpartiet', ['f'] = '#64b2ff', ['t'] = black},
	['frp'] =	 { ['a'] = 'FRP',  ['n'] = 'Framstegspartiet',              ['l'] = 'Framstegspartiet (Sverige)', ['f'] = '#818200', ['t'] = white},

	['jl'] =	 { ['a'] = 'JL',   ['n'] = 'Junilistan',                    ['l'] = 'Junilistan', ['f'] = '#ffa500', ['t'] = black},

	['k'] = 	 { ['a'] = 'SKP',  ['n'] = 'Sveriges kommunistiska parti',  ['l'] = 'Sveriges kommunistiska parti (1995)', ['f'] = '#500000', ['t']= white },
	['kp'] =	 { ['a'] = 'KP',   ['n'] = 'Kommunistiska partiet',         ['l'] = 'Kommunistiska partiet', ['f'] = '#660000', ['t'] = white },
	['kd'] =	 { ['a'] = 'KD',   ['n'] = 'Kristdemokraterna',             ['l'] = 'Kristdemokraterna (Sverige)', ['f'] = '#231977', ['t'] = white },
	['krvp'] =	 { ['a'] = 'KrVP', ['n'] = 'Kristna värdepartiet',          ['l'] = 'Kristna värdepartiet', ['f'] = '#660876', ['t'] = white },
	['kv'] =	 { ['a'] = 'KV',   ['n'] = 'Kommunens Väl',                 ['l'] = 'Kommunens Väl', ['f'] = '#ffa500', ['t'] = black },

	['l'] = 	 { ['a'] = 'L',    ['n'] = 'Liberalerna',                   ['l'] = 'Liberalerna', ['f'] = '#6BB7EC',  ['t'] = black },
	['lpo'] =	 { ['a'] = 'LPo',  ['n'] = 'Landsbygdspartiet oberoende',   ['l'] = 'Landsbygdspartiet oberoende', ['f'] = '#4CB04C', ['t'] = white },
	['ls'] =	 { ['a'] = 'LS',   ['n'] = 'Liberal samling',               ['l'] = 'Liberal samling', ['f'] = '#9fccec', ['t'] = black },
	['lp'] =	 { ['a'] = 'LP',   ['n'] = 'Liberala partiet',              ['l'] = 'Sveriges liberala parti', ['f'] = '#33C7FF', ['t'] = black },

	['m'] = 	 { ['a'] = 'M',    ['n'] = 'Moderata samlingspartiet',      ['l'] = 'Moderaterna', ['f'] = '#1B49DD', ['t'] = white },
	['mf'] =	 { ['a'] = 'MF',   ['n'] = 'Medborgarförbundet',            ['l'] = 'Medborgarförbundet', ['f'] = '#320080', ['t'] = white },
	['med'] =	 { ['a'] = 'MED',  ['n'] = 'Medborgerlig samling',          ['l'] = 'Medborgerlig samling', ['f'] = '#506d28', ['t'] = white },
	['mp'] =	 { ['a'] = 'MP',   ['n'] = 'Miljöpartiet de gröna',         ['l'] = 'Miljöpartiet', ['f'] = '#83CF39', ['t'] = black },

	['nd'] =	 { ['a'] = 'ND',   ['n'] = 'Nationaldemokraterna',          ['l'] = 'Nationaldemokraterna', ['f'] = '#FF9900', ['t'] = black },
	['nsap'] =	 { ['a'] = 'NSAP', ['n'] = 'Nationalsocialistiska Arbetarepartiet', ['l'] = 'Svensk socialistisk samling', ['f'] = '#8b4513', ['t'] = white },
	['nsb'] =	 { ['a'] = 'NSB',  ['n'] = 'Nationalsocialistiska Blocket', ['l'] = 'Nationalsocialistiska blocket', ['f'] = '#8b4513', ['t'] = white },
	['nyd'] =	 { ['a'] = 'NYD',  ['n'] = 'Ny demokrati',                  ['l'] = 'Ny demokrati (Sverige)', ['f'] = '#FFFF00', ['t'] = black },

	['pp'] =	 { ['a'] = 'PP',   ['n'] = 'Piratpartiet',                  ['l'] = 'Piratpartiet (Sverige)', ['f'] = '#572B85', ['t'] = white },
	['pny'] =	 { ['a'] = 'PNy',  ['n'] = 'Partiet Nyans',                 ['l'] = 'Partiet Nyans', ['f'] = '#ED7C30', ['t'] = black },

	['rs'] =	 { ['a'] = 'RS',   ['n'] = 'Rättvisepartiet Socialisterna', ['l'] = 'Socialistiskt Alternativ', ['f']= '#990000', ['t'] = white },

	['s'] = 	 { ['a'] = 'S',    ['n'] = 'Sveriges socialdemokratiska arbetareparti', ['l'] = 'Socialdemokraterna (Sverige)', ['f'] = '#EE2020', ['t'] = black },
	['sd'] =	 { ['a'] = 'SD',   ['n'] = 'Sverigedemokraterna',           ['l'] = 'Sverigedemokraterna', ['f'] = '#DDDD00', ['t'] = black },
	['skp'] =	 { ['a'] = 'SKP',  ['n'] = 'Sveriges kommunistiska parti',  ['l'] = 'Sveriges kommunistiska parti (1967)', ['f'] = '#500000', ['t'] = white },
	['sl'] =	 { ['a'] = 'SL',   ['n'] = 'Samlingslista',                 ['l'] = 'Samlingslista', ['f'] = 'lightgrey', ['t'] = black },
	['snf'] =	 { ['a'] = 'SNF',  ['n'] = 'Sveriges Nationella Förbund',   ['l'] = 'Sveriges nationella förbund', ['f'] = '#996908', ['t'] = white },
	['soc.p'] =	 { ['a'] = 'SOC',  ['n'] = 'Socialistiska partiet',         ['l'] = 'Socialistiska Partiet (Sverige)', ['f'] = '#660000', ['t'] = white },
	['sp'] =	 { ['a'] = 'SP',   ['n'] = 'Socialistiska partiet',         ['l'] = 'Socialistiska partiet (1929)', ['f'] = '#660000', ['t'] = white },
	['soc'] =	 { ['a'] = 'SP',   ['n'] = 'Socialistiska partiet',         ['l'] = 'Socialistiska partiet (1929)', ['f'] = '#660000', ['t'] = white },
	['spi'] =	 { ['a'] = 'SPI',  ['n'] = 'SPI Välfärden',                 ['l'] = 'SPI Välfärden', ['f'] = '#FFFF99', ['t'] = black },
	['snsp'] =	 { ['a'] = 'SNSP', ['n'] = 'Svenska nationalsocialistiska partiet', ['l'] = 'Svenska nationalsocialistiska partiet', ['f'] = '#8b4513', ['t'] = white },
	['svp'] =	 { ['a'] = 'SVP',  ['n'] = 'Svenskarnas parti',             ['l'] = 'Svenskarnas parti', ['f'] = '#8b4513', ['t'] = white },

	['v'] = 	 { ['a'] = 'V',    ['n'] = 'Vänsterpartiet',                ['l'] = 'Vänsterpartiet', ['f'] = '#AF0000', ['t'] = white },

	['övrigt'] = { ['a'] = 'ÖVR',  ['n'] = 'Övriga partier',                ['l'] = 'Lista över politiska partier i Sverige', ['f'] = 'gray', ['t'] = white },
	['övr'] =	 { ['a'] = 'ÖVR',  ['n'] = 'Övriga partier',                ['l'] = 'Lista över politiska partier i Sverige', ['f'] = 'gray', ['t'] = white },
	['övrig'] =	 { ['a'] = 'ÖVR',  ['n'] = 'Övriga partier',                ['l'] = 'Lista över politiska partier i Sverige', ['f'] = 'gray', ['t'] = white },
	['ö'] = 	 { ['a'] = 'ÖVR',  ['n'] = 'Övriga partier',                ['l'] = 'Lista över politiska partier i Sverige', ['f'] = 'gray', ['t'] = white },
	['övriga'] = { ['a'] = 'ÖVR',  ['n'] = 'Övriga partier',                ['l'] = 'Lista över politiska partier i Sverige', ['f'] = 'gray', ['t'] = white }
	}

	local parti = mw.text.trim(args[1])
	if parti == 'demonstration' then 
		return color
	end
	if parti == 'partilös' then
		parti = 'övriga'
	end
	if color[parti] then
		return color[parti]
	else
		if string.len(parti) > 2 then
			local modulnamn = lansvis(string.sub(parti, 1, 2))
			if modulnamn == nil then
				return 'INGET SÅDANT LÄN ' .. parti .. '[[Kategori:Fel härstammande från Modul:Partier se]]'
			end
			local modden = require( modulnamn )

			local resultat = modden.partisnack(frame)

			if resultat == nil then
				return 'error5[[Kategori:Fel härstammande från Modul:Partier se]]'
			end

			return resultat
		end
		return 'INGET SÅDANT PARTI[[Kategori:Fel härstammande från Modul:Partier se]]'
	end
	return 'INGET SÅDANT PARTI[[Kategori:Fel härstammande från Modul:Partier se]]'
end

function hamta(text)
	if text == "Partier se" or text == "Partier se/dok" then
		return "Modul:Partier se"
	elseif string.sub(text, 1, 11) == "Partier se/" then
		return "Modul:" .. string.sub(text, 1, 13)
	end
end

function p.demo(frame)
	local a = hamta(mw.title.getCurrentTitle().text)
	local color = nil
	local kort = 'demonstration'
	frame.args = { kort }

	if a == "Modul:Partier se" then
		color = p.partisnack(frame)
	else
		local c1 = require(a).partisnack
		color = c1(frame)
	end
	local r = ''
	r = mw.text.tag('th', {}, 'Parameter 1')
	r = r .. mw.text.tag('th', {}, 'Partibeteckning<br>(Parameter 2 = a)') 
	r = r .. mw.text.tag('th', {}, 'Partinamn<br>(Parameter 2 = n)')
	r = r .. mw.text.tag('th', {}, 'Länk<br>(Parameter 2 = l)')
	r = r .. mw.text.tag('th', {}, 'Bakgrundsfärg<br>(Parameter 2 = f)')
	r = r .. mw.text.tag('th', {}, 'Textfärg<br>(Parameter 2 = t)')
	r = r .. mw.text.tag('th', {}, 'Typisk användning')
	r = mw.text.tag('tr', {}, r)

	local a = {}
	for i, n in pairs(color) do table.insert(a, i) end
	table.sort(a)
	for i0,j0 in ipairs(a) do 
		for i,j in pairs(color) do
			if i == j0 then
				c = mw.text.tag('td', {}, i)
				c = c .. mw.text.tag('td', {}, j['a'])
				c = c .. mw.text.tag('td', {}, j['n'])
				c = c .. mw.text.tag('td', {}, '[[' .. j['l'] .. ']]')
				c = c .. mw.text.tag('td', {}, j['f'])
				c = c .. mw.text.tag('td', {}, j['t'])
				local c2 = mw.text.tag('div', {style="background:" .. j['f'] .. "; color:".. j['t'] .. "; text-align:center;"}, j['a'])
				c = c .. mw.text.tag('td', {}, c2)
				r = r .. mw.text.tag('tr', {}, c)
			end 
		end
	end
	return mw.text.tag('table', {class="wikitable sortable"}, r)
end

function p.genvag(frame)
	local args = frame:getParent().args
	if args[1] and args[2] then
		local kort = args[1]
		frame.args = { kort }
		local c = p.partisnack(frame)
		if type(c) == 'table' then
			return c[args[2]]
		else
			return c
		end
	end
end

return p