Модуль:AutoDescriptionStars/DonSimon
Этому модулю не хватает документации. |
--[[
------------------------------------------
-- AutoDescriptionStars
-- Модуль для заполнения звёзд.
------------------------------------------
--]]
local Dates = require("Module:Dates")
local Declension = require("Module:Declension")
local Langs = require("Module:Langs")
local MathTonumber = require("Module:Math/tonumber")
local ReturnGendered = require("Module:ReturnGendered")
local SerializeTable = require("Module:SerializeTable")
local Math = require("Module:Math")
local AutoDescriptionStars={}
-- Нам необходимо сформировать и вернуть три переменных
local description = "" -- Обозначения Байера
local details = "" -- строка описания
local categories = "[[Категория:Звёзды по алфавиту]]" -- категории-- Промежуточный масив сущностей, в который помещаются результаты парсинга перед формированием описания
local entitiesArray = {bayer=""}
local entitiesArrayP = {P361="", P528=""}
-- Точка входа
function AutoDescriptionStars.launch(entity)
AutoDescriptionStars.parsing(entity) -- парсим карточку викиданных
AutoDescriptionStars.forming() -- формируем переменные
return details, description, categories
end
-- Последовательно проходим свойства в карточке викиданных, для формирования массива сущностей entitiesArray
function AutoDescriptionStars.parsing(entity)
entitiesArrayP["P528"] = AutoDescriptionStars.parseP528(entity)
end
function AutoDescriptionStars.forming()
if(entitiesArray["bayer"] ~= "") then details = details .. "(" .. "''[[Обозначения Байера|байеровское обозначение]]'': " .. entitiesArray["bayer"] .. ")" end
description = description .. "звезда."
description = description .. entitiesArrayP.P528
end
function AutoDescriptionStars.parseP528(entity)
local p528Statements=mw.wikibase.getBestStatements(entity:getId(), 'P528' )
local s = SerializeTable.go(p528Statements)
--[[
for ki, vi in pairs (p528Statements) do
local catalog=""
local code=""
if(vi['qualifiers'] ~= nil) then
if((vi['qualifiers']['P972'] ~= nil)) then catalog=vi['qualifiers']['P972'][1]['datavalue']['value']['id'] end
end
if (catalog == "Q105616") then entitiesArray["bayer"]=vi['mainsnak']['datavalue']['value'] end
end
--]]
return s
end
return AutoDescriptionStars