Module:Election results/sandbox: Difference between revisions

Content deleted Content added
+
Line 9:
local winner, winner_votes = {0, 0, 0}, {0, 0, 0}
local valid = {0, 0, 0}
local invalidblank = {tonumber(args.invalidblank) or 0, tonumber(args.invalidblank2) or 0, tonumber(args.invalidblank3) or 0}
local invalid = {tonumber(args.invalid) or 0, tonumber(args.invalid2) or 0, tonumber(args.invalid3) or 0}
local blank = {tonumber(args.blank) or 0, tonumber(args.blank2) or 0, tonumber(args.blank3) or 0}
Line 76 ⟶ 75:
local stop_flag = false
local i = 0
local has_votes = args['invalidblank'] or args['invalid'] or args['totalvotes'] or args['electorate'] or args['turnout']
local has_votes2 = args['invalidblank2'] or args['invalid2'] or args['totalvotes2'] or args['electorate2'] or args['turnout2']
local has_votes3 = args['votes' .. i .. '_3'] or args['ivotes' .. i .. '_3']
local has_seats2 = args['seats' .. i .. '_2'] or args['iseats' .. i .. '_2']
Line 142 ⟶ 141:
rounds = (rounds < 2) and 2 or rounds
end
if args['valid2'] or args['invalidblank2'] or args['invalid2'] or args['totalvotes2'] or args['electorate2'] or args['turnout2'] then
rounds = (rounds < 2) and 2 or rounds
end
Line 277 ⟶ 276:
:tag('th')
:css('text-align', 'center')
:css('color', 'black')
:css('background', '#F8F9FA')
:wikitext(args['image'])
Line 285:
:tag('td')
:css('text-align', 'center')
:css('color', 'black')
:css('background', '#F8F9FA')
end
Line 1,039 ⟶ 1,040:
end
-- separating line
if args['valid'] or args['valid2'] or args['valid3'] or args['invalidblank'] or args['invalidblank2'] or args['invalidblank3'] or args['invalid'] or args['invalid2'] or args['invalid3'] or args['totalvotes'] or args['totalvotes2'] or args['totalvotes3'] or args['electorate'] or args['electorate2'] or args['electorate3'] or args['turnout'] or args['turnout2'] or args['turnout3'] or args['source'] then
row = root
:tag('tr')
Line 1,045 ⟶ 1,046:
row
:tag('td')
:css('color', 'black')
:css('background', '#eaecf0')
:attr('colspan', cols)
end
-- valid votes
if args['invalidblank'] or args['invalidblank2'] or args['invalidblank3'] or args['invalid'] or args['invalid2'] or args['invalid3'] then
row = root
:tag('tr')
Line 1,061 ⟶ 1,063:
:css('text-align', 'left')
:css('font-weight', 'normal')
:css('color', 'inherit')
:css('background', 'inherit')
if args['invalidblank'] or args['invalid'] then
row
:tag('td')
:wikitext(fmt(ovalid[1]))
:tag('td')
:wikitext(pct(ovalid[1], ovalid[1] + invalidblank[1] + invalid[1] + blank[1]))
elseif not args['invalid'] or not args['invalidblank'] then
row
:tag('td')
Line 1,093 ⟶ 1,096:
:wikitext()
end
if rounds > 1 and args['invalidblank2'] or rounds > 1 and args['invalid2'] then
row
:tag('td')
:wikitext(fmt(ovalid[2]))
:tag('td')
:wikitext(pct(ovalid[2], ovalid[2] + invalidblank[2] + invalid[2] + blank[2]))
elseif rounds > 1 and not args['invalidblank2'] or rounds > 1 and not args['invalid2'] then
row
:tag('td')
Line 1,124 ⟶ 1,127:
:wikitext()
end
if args['invalidblank3'] or args['invalid3'] then
row
:tag('td')
:wikitext(fmt(ovalid[3]))
:tag('td')
:wikitext(pct(ovalid[3], ovalid[3] + invalidblank[3] + invalid[3] + blank[3]))
elseif has_seats3 and not args['invalidblank3'] or has_seats3 and not args['invalid3'] then
row
:tag('td')
Line 1,157 ⟶ 1,160:
:addClass('sortbottom')
:css('text-align', 'right')
if args['invalidblankinvalidonly'] or args['blank'] then
row
:tag('th')
:wikitext('Invalid/blank votes')
:wikitext(args.invalidnote)
:attr('scope', 'row')
:attr('colspan', cs)
:css('text-align', 'left')
:css('font-weight', 'normal')
:css('color', 'inherit')
:css('background', 'inherit')
else
elseif args['invalid'] then
row
:tag('th')
:wikitext('Invalid/blank votes')
:wikitext(args.invalidnote)
:attr('scope', 'row')
Line 1,176 ⟶ 1,179:
:css('text-align', 'left')
:css('font-weight', 'normal')
:css('color', 'inherit')
:css('background', 'inherit')
end
if args['invalidblankinvalid'] then
row
:tag('td')
:wikitext(fmt(invalidblank[1]))
:tag('td')
:wikitext(pct(invalidblank[1], ovalid[1] + invalidblank[1]))
elseif args['invalid'] then
row
:tag('td')
Line 1,190 ⟶ 1,188:
:tag('td')
:wikitext(pct(invalid[1], ovalid[1] + invalid[1] + blank[1]))
elseif not args['invalidblank'] or not args['invalid'] then
row
:tag('td')
Line 1,215 ⟶ 1,213:
:wikitext()
end
if rounds > 1 and args['invalidblank2invalid2'] then
row
:tag('td')
:wikitext(fmt(invalidblank[2]))
:tag('td')
:wikitext(pct(invalidblank[2], ovalid[2] + invalidblank[2]))
elseif rounds > 1 and args['invalid2'] then
row
:tag('td')
Line 1,227 ⟶ 1,219:
:tag('td')
:wikitext(pct(invalid[2], ovalid[2] + invalid[2] + blank[2]))
elseif rounds > 1 and not args['invalid2'] or rounds > 1 and not args['invalidblank2'] then
row
:tag('td')
Line 1,252 ⟶ 1,244:
:wikitext()
end
if has_seats3 and args['invalidblank3invalid3'] or has_votes3 and args['invalidblank3invalid3'] then
row
:tag('td')
:wikitext(fmt(invalidblank[3]))
:tag('td')
:wikitext(pct(invalidblank[3], ovalid[3] + invalidblank[3] + invalid[3] + blank[3]))
elseif has_seats3 and args['invalid3'] or has_votes3 and args['invalid3'] then
row
:tag('td')
Line 1,264 ⟶ 1,250:
:tag('td')
:wikitext(pct(invalid[3], ovalid[3] + invalid[3] + blank[3]))
elseif has_seats3 and not args['invalidblank3'] or has_seats3 and not args['invalid3'] then
row
:tag('td')
Line 1,299 ⟶ 1,285:
:css('text-align', 'left')
:css('font-weight', 'normal')
:css('color', 'inherit')
:css('background', 'inherit')
row
Line 1,384 ⟶ 1,371:
end
-- total
if args['invalidblank'] or args['invalid'] or args['totalvotes'] or args['invalidblank2'] or args['invalid2'] or args['totalvotes2'] then
row = root:tag('tr')
:addClass('sortbottom')
Line 1,397 ⟶ 1,384:
:css('background', 'inherit')
:css('color', 'inherit')
if not args['totalvotes'] and args['invalid'] or not args['totalvotes'] and args['invalidblank'] then
row
:tag('td')
:wikitext(fmt(ovalid[1] + invalidblank[1] + invalid[1] + blank[1]))
:tag('td')
:wikitext(pct(1, 1))
Line 1,409 ⟶ 1,396:
:tag('td')
:wikitext('–')
elseif not args['invalid'] and not args['totalvotes'] or not args['invalidblank'] and not args['totalvotes']then
row
:tag('td')
Line 1,434 ⟶ 1,421:
:wikitext()
end
if rounds > 1 and args['invalid2'] and not args['totalvotes2'] or rounds > 1 and args['invalidblank2'] and not args['totalvotes2'] then
row
:tag('td')
:wikitext(fmt(ovalid[2] + invalidblank[2] + invalid[2] + blank[2]))
:tag('td')
:wikitext(pct(1, 1))
Line 1,471 ⟶ 1,458:
:wikitext()
end
if has_seats3 and not args['totalvotes3'] and args['invalidblank3invalid3'] or has_votes3 and not args['totalvotes3'] and args['invalid3'] then
row
:tag('td')
:wikitext(fmt(ovalid[3] + invalidblank[3] + invalid[3] + blank[3]))
:tag('td')
:wikitext(pct(1, 1))
Line 1,523 ⟶ 1,510:
:tag('td')
:wikitext(fmt(electorate[1]))
if args['invalidblank'] and args['electorate'] and not args['totalvotes'] or args['invalid'] and args['electorate'] and not args['totalvotes'] then
row
:tag('td')
:wikitext(args.turnout or pct(ovalid[1] + invalidblank[1] + invalid[1] + blank[1], electorate[1]))
elseif args['totalvotes'] and args['electorate'] then
row
Line 1,562 ⟶ 1,549:
:tag('td')
:wikitext(fmt(electorate[2]))
if args['invalid2'] and args['electorate2'] or args['invalidblank2'] and args['electorate2'] then
row
:tag('td')
:wikitext(args.turnout2 or pct(ovalid[2] + invalidblank[2] + invalid[2] + blank[2], electorate[2]))
elseif args['totalvotes2'] and args['electorate2'] then
row
Line 1,602 ⟶ 1,589:
:tag('td')
:wikitext(fmt(electorate[3]))
if args['invalid3'] and args['electorate3'] or args['invalidblank3'] and args['electorate3'] then
row
:tag('td')
:wikitext(args.turnout3 or pct(ovalid[3] + invalidblank[3] + invalid[3] + blank[3], electorate[3]))
elseif args['totalvotes3'] and args['electorate3'] then
row
Line 1,643 ⟶ 1,630:
row
:tag('td')
:css('color', 'black')
:css('background', '#eaecf0')
:attr('colspan', cols)
Line 1,657 ⟶ 1,645:
:css('text-align', 'left')
:css('font-weight', 'normal')
:css('color', 'inherit')
:css('background', 'inherit')
for k=1, rounds do
Line 1,715 ⟶ 1,704:
:css('text-align', 'left')
:css('font-weight', 'normal')
:css('color', 'inherit')
:css('background', 'inherit')
for k=1, rounds do