Jump to content

Module:Wikipedia ads/data: Difference between revisions

From Humanipedia
hp>Pppery
Redirected page to Template talk:Wikipedia ads
 
hp>Aaron Liu
Fix IDs by cloning
Line 1: Line 1:
#REDIRECT [[Template talk:Wikipedia ads]]
-- 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 }