Module:Electowidget: Difference between revisions
Content added Content deleted
(added datapage param to p.get_data() rather than hardcoding to "2009 Burlington, Vermont Mayoral Election data") |
(Giving up for now) |
||
Line 3: | Line 3: | ||
-- Comment: I think I'd like the new version of Electowidget to use ABIF |
-- Comment: I think I'd like the new version of Electowidget to use ABIF |
||
local p = {} |
local p = {} |
||
-- Function to parse the line and return a Lua native data structure |
|||
function p.parse_prefs_line(line) |
function p.parse_prefs_line(line) |
||
⚫ | |||
return {} |
|||
⚫ | |||
local qty, prefs = tostring(line):match('(%d+):%s*(.*)') |
local qty, prefs = tostring(line):match('(%d+):%s*(.*)') |
||
local prefs_table = {} |
local prefs_table = {} |
||
Line 18: | Line 13: | ||
local rank = 1 |
local rank = 1 |
||
if 1 == 1 then |
|||
⚫ | |||
return tostring(prefs) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
-- rating = tonumber(rating), |
|||
⚫ | |||
⚫ | |||
⚫ | |||
rating |
prefs_table[0]={name="foo1" , rating=1} |
||
prefs_table[1]={name="foo2" , rating=2} |
|||
⚫ | |||
qty = 9999 |
|||
rank = rank + 1 |
rank = rank + 1 |
||
end |
-- end |
||
return { |
return { |
||
qty = tonumber(qty), |
qty = tonumber(qty), |
||
prefs = prefs_table |
prefs = prefs_table, |
||
comment = nil, |
comment = nil, |
||
orderedlist = true |
orderedlist = true |
||
} |
} |
||
end |
end |
||
function p.prefs_line_json(prefsline) |
|||
data = p.parse_prefs_line(prefsline) |
|||
return mw.text.jsonEncode(data) |
|||
⚫ | |||
function p.get_data(datapage) |
function p.get_data(datapage) |
||
-- copied and adapted from |
-- copied and adapted from |
||
-- https://en.wikipedia.org/wiki/Module:Format_TemplateData |
-- https://en.wikipedia.org/wiki/Module:Format_TemplateData |
||
local title = mw.title.new(datapage) |
-- local title, s = mw.title.new(tostring(datapage)) |
||
local title = mw.title.new("2009 Burlington, Vermont Mayoral Election data") |
|||
local s = title:getContent() |
local s = title:getContent() |
||
⚫ | |||
-- return mw.text.jsonEncode(s) |
|||
-- return mw.text.jsonEncode(datapage) |
|||
return table.concat(datapage, ",") |
|||
⚫ | |||
local i, j = s:find( "<electowidget>", 1, true ) |
local i, j = s:find( "<electowidget>", 1, true ) |
||
local r |
local r |