Module:Wikipedia ads/data: Difference between revisions
Appearance
hp>Pppery ←Redirected page to Template talk:Wikipedia ads |
hp>Aaron Liu Fix IDs by cloning |
||
Line 1: | Line 1: | ||
-- This module transforms [[Module:Wikipedia ads/list]] into a format to be | |||
-- used by mw.loadData. | |||
local LIST_MODULE = 'Module:Wikipedia ads/list' | |||
local skippedEntries = { | |||
{ | |||
id = 174, | |||
image = "Qxz-ad174.svg", | |||
link = "Template:Wikipedia ads", | |||
author = "[[User:Koavf|Koavf (after Dromioofephesus)]]" | |||
}, | |||
{ | |||
id = 175, | |||
image = "Qxz-ad175.gif", | |||
link = "Template:Wikipedia ads", | |||
author = "[[User:Mmxx|MMXX]]" | |||
}, | |||
} | |||
local list = require(LIST_MODULE) | |||
local ids = {} | |||
local id = 0 | |||
for i, t in ipairs(list) do | |||
assert(t.id, string.format( | |||
"no 'id' field in table %d in [[%s]]", | |||
i, LIST_MODULE | |||
)) | |||
if id + 1 < t.id then | |||
for id = id + 1, t.id - 1, 1 do -- Insert skipped entries for missing IDs | |||
skippedEntries[id % 2 + 1].id = id | |||
ids[id] = mw.clone(skippedEntries[id % 2 + 1]) | |||
table.insert(list, id, mw.clone(skippedEntries[id % 2 + 1])) | |||
end | |||
end | |||
id = t.id | |||
ids[t.id] = t | |||
end | |||
return { list = list, ids = ids, noAds = #list } |
Revision as of 11:28, 18 October 2023
Documentation for this module may be created at Module:Wikipedia ads/data/doc
-- This module transforms [[Module:Wikipedia ads/list]] into a format to be
-- used by mw.loadData.
local LIST_MODULE = 'Module:Wikipedia ads/list'
local skippedEntries = {
{
id = 174,
image = "Qxz-ad174.svg",
link = "Template:Wikipedia ads",
author = "[[User:Koavf|Koavf (after Dromioofephesus)]]"
},
{
id = 175,
image = "Qxz-ad175.gif",
link = "Template:Wikipedia ads",
author = "[[User:Mmxx|MMXX]]"
},
}
local list = require(LIST_MODULE)
local ids = {}
local id = 0
for i, t in ipairs(list) do
assert(t.id, string.format(
"no 'id' field in table %d in [[%s]]",
i, LIST_MODULE
))
if id + 1 < t.id then
for id = id + 1, t.id - 1, 1 do -- Insert skipped entries for missing IDs
skippedEntries[id % 2 + 1].id = id
ids[id] = mw.clone(skippedEntries[id % 2 + 1])
table.insert(list, id, mw.clone(skippedEntries[id % 2 + 1]))
end
end
id = t.id
ids[t.id] = t
end
return { list = list, ids = ids, noAds = #list }