Module:TNT: Difference between revisions

From Test Wiki
Content deleted Content added
Update from master using #Synchronizer
Tag: Reverted
m 1 revision imported
 
(7 intermediate revisions by 4 users not shown)
Line 86: Line 86:
end
end


local implGetTemplateData;
function p.doc(frame)
function p.doc(frame)
local dataset = 'Templatedata/' .. sanitizeDataset(frame.args[1])
local dataset = sanitizeDataset(frame.args[1])
local json, dataPage, categories = implGetTemplateData(dataset)
return frame:extensionTag('templatedata', p.getTemplateData(dataset)) ..
return frame:extensionTag('templatedata', json) ..
formatMessage(i18nDataset, 'edit_doc', {link(dataset)})
formatMessage(i18nDataset, 'edit_doc', {link(dataPage)}) ..
(categories or "");
end
end


function p.getTemplateData(dataset)
function p.getTemplateData(dataset)
local data = implGetTemplateData(dataset, true);
return data;
end

function implGetTemplateData(dataset, legacy)
-- TODO: add '_' parameter once lua starts reindexing properly for "all" languages
-- TODO: add '_' parameter once lua starts reindexing properly for "all" languages
local data = loadData(dataset)
local data, dataPage, categories = loadData(
dataset, nil, not legacy and 'TemplateData' or nil);
local names = {}
local names = {}
for _, field in ipairs(data.schema.fields) do
for _, field in ipairs(data.schema.fields) do
Line 143: Line 152:
end
end


return json
return json, dataPage, categories;
end
end


Line 162: Line 171:
end
end


loadData = function(dataset, lang)
loadData = function(dataset, lang, dataType)
dataset = sanitizeDataset(dataset)
dataset = sanitizeDataset(dataset)
if not dataset then
if not dataset then
Line 175: Line 184:
end
end


local data = mw.ext.data.get(dataset, lang)
local dataPage = dataset;
local data, categories;
if dataType == 'TemplateData' then
dataPage = 'TemplateData/' .. dataset;
data = mw.ext.data.get(dataPage, lang);
if data == false then
data = mw.ext.data.get('Templatedata/' .. dataset, lang);
if data ~= false then
categories = '[[Category:Templates using legacy global TemplateData table name]]';
dataPage = 'Templatedata/' .. dataset;
end
end
else
data = mw.ext.data.get(dataset, lang)
end


if data == false then
if data == false then
Line 185: Line 208:
end
end
end
end
return data
return data, dataPage, categories
end
end