Module:TNT: Difference between revisions
Jump to navigation
Jump to search
metawikimedia>DiBabelYurikBot m Copying 5 changes by Yurik: "breaking: ignore lang param in format(), use formatInLanguage() instead, make i18n/ prefix optional, support for usage from modules, no auto I18n/ prefix, breaks some graphs, fix doc translation link, deprecate link function, always use c: for data links to Commons" from mw:Module:TNT. (docs, translate) |
MeowyCats2 (talk | contribs) m 17 revisions imported |
||
(12 intermediate revisions by 9 users not shown) | |||
Line 50: | Line 50: | ||
id = mw.text.trim(v) | id = mw.text.trim(v) | ||
elseif type(k) == 'number' then | elseif type(k) == 'number' then | ||
params[k - 2] = mw.text.trim(v) | |||
elseif k == 'lang' and v ~= '_' then | elseif k == 'lang' and v ~= '_' then | ||
lang = mw.text.trim(v) | lang = mw.text.trim(v) | ||
Line 96: | Line 96: | ||
local data = loadData(dataset) | local data = loadData(dataset) | ||
local names = {} | local names = {} | ||
for _, field in | for _, field in ipairs(data.schema.fields) do | ||
table.insert(names, field.name) | table.insert(names, field.name) | ||
end | end | ||
Line 102: | Line 102: | ||
local params = {} | local params = {} | ||
local paramOrder = {} | local paramOrder = {} | ||
for _, row in | for _, row in ipairs(data.data) do | ||
local newVal = {} | local newVal = {} | ||
local name = nil | local name = nil | ||
for pos, | for pos, columnName in ipairs(names) do | ||
if columnName == 'name' then | if columnName == 'name' then | ||
name = | name = row[pos] | ||
else | else | ||
newVal[columnName] = | newVal[columnName] = row[pos] | ||
end | end | ||
end | end | ||
Line 153: | Line 152: | ||
if not dataset then | if not dataset then | ||
error(formatMessage(i18nDataset, 'error_no_dataset', {})) | error(formatMessage(i18nDataset, 'error_no_dataset', {})) | ||
end | |||
-- Give helpful error to thirdparties who try and copy this module. | |||
if not mw.ext or not mw.ext.data or not mw.ext.data.get then | |||
error(string.format([['''Missing JsonConfig extension, or not properly configured; | |||
Cannot load https://commons.wikimedia.org/wiki/Data:%s. Please properly enable the JSONConfig extension at Special:ManageWiki/extensions#mw-prefsection-other | |||
See https://www.mediawiki.org/wiki/Extension:JsonConfig#Supporting_Wikimedia_templates''']], dataset)) | |||
end | end | ||