Difference between revisions of "Module:IPAc-en/data"

From blackwiki
Jump to navigation Jump to search
blackwiki>Mr. Stradivarius
(write tooltip-data-processing code)
 
blackwiki>Mr. Stradivarius
(process pronunciation data as well)
Line 2: Line 2:
 
-- loaded with mw.loadData.
 
-- loaded with mw.loadData.
  
local function makeTooltips()
+
local function makeData(oldData)
local oldTooltips = require('Module:IPAc-en/tooltips')
+
local newData = {}
local newTooltips = {}
+
for id, old in pairs(oldData) do
for k, old in pairs(oldTooltips) do
 
 
local new = {}
 
local new = {}
new.label = old.label
+
for k, v in pairs(old) do
new.tooltip = old.tooltip
+
if k ~= 'aliases' then
newTooltips[k] = new
+
new[k] = v
for i, alias in ipairs(old.aliases) do
+
end
newTooltips[alias] = new
+
end
end
+
newData[id] = new
 +
if old.aliases then
 +
for i, alias in ipairs(old.aliases) do
 +
newData[alias] = new
 +
end
 +
end
 
end
 
end
return newTooltips
+
return newData
 
end
 
end
  
return {tooltips = makeTooltips()}
+
return {
 +
pronunciation = makeData(require('Module:IPAc-en/pronunciation')),
 +
tooltips = makeData(require('Module:IPAc-en/tooltips'))
 +
}

Revision as of 06:28, 17 June 2015


-- This module processes data for [[Module:IPAc-en]]. It is intended to be
-- loaded with mw.loadData.

local function makeData(oldData)
	local newData = {}
	for id, old in pairs(oldData) do
		local new = {}
		for k, v in pairs(old) do
			if k ~= 'aliases' then
				new[k] = v
			end
		end
		newData[id] = new
		if old.aliases then
			for i, alias in ipairs(old.aliases) do
				newData[alias] = new
			end			
		end
	end
	return newData
end

return {
	pronunciation = makeData(require('Module:IPAc-en/pronunciation')),
	tooltips = makeData(require('Module:IPAc-en/tooltips'))
}