48,403
edits
No edit summary |
No edit summary |
||
| Line 1,176: | Line 1,176: | ||
return export.makeObject(code, data) | return export.makeObject(code, data) | ||
end | end | ||
end | |||
function export.finalizeData(data, main_type, variety) | |||
local fields = {"type"} | |||
if main_type == "language" then | |||
insert(fields, 4) -- script codes | |||
insert(fields, "ancestors") | |||
insert(fields, "link_tr") | |||
insert(fields, "override_translit") | |||
insert(fields, "wikimedia_codes") | |||
elseif main_type == "script" then | |||
insert(fields, 3) -- writing system codes | |||
end -- Families and writing systems have no extra fields to process. | |||
local fields_len = #fields | |||
for _, entity in next, data do | |||
if variety then | |||
-- Move parent from 3 to "parent" and family from "family" to 3. These are different for the sake of convenience, since very few varieties have the family specified, whereas all of them have a parent. | |||
entity.parent, entity[3], entity.family = entity[3], entity.family | |||
-- Give the type "regular" iff not a variety and no other types are assigned. | |||
elseif not entity.type then | |||
entity.type = "regular" | |||
end | |||
for i = 1, fields_len do | |||
local key = fields[i] | |||
local field = entity[key] | |||
if field and type(field) == "string" then | |||
entity[key] = gsub(field, "%s*,%s*", ",") | |||
end | |||
end | |||
end | |||
return data | |||
end | end | ||