Módulo:Zona de pruebas/Josecurioso/Evento de misión
Apariencia
Este módulo no tiene página de documentación[crear]
local Date = require('Módulo:Date')._Date
local CurrentDate = require('Módulo:Date')._current
local p = {}
function p.Obtener(frame)
local args = frame.args;
local cases = {
lanzamiento = function () return lanzamientoAterrizaje(frame, 'Q797476') end,
aterrizaje = function () return lanzamientoAterrizaje(frame, 'Q844947') end,
acople = function () return acopleDesacople(frame, 'P580') end,
desacople = function () return acopleDesacople(frame, 'P582') end,
default = function () return 'DATO NO ENCONTRADO' end
}
if cases[args.evento] then
return cases[args.evento]()
else
return cases['default']()
end
end
function lanzamientoAterrizaje(frame, valor)
local entidad = (frame.args.entidad ~= nil and frame.args.entidad ~= '') and ('|entidad='..frame.args.entidad) or '';
local fecha = frame:preprocess('{{propiedad|P793'..entidad..'|filtro valor='..valor..'|calificador=P585|enlace=no}}');
local hora = frame:preprocess('{{propiedad|P793'..entidad..'|filtro valor='..valor..'|calificador=P4241|enlace=no}}');
local final = fecha
local paraFecha
if(frame.args.hora ~= nil and frame.args.hora ~= 'no' and hora ~= '') then
paraFecha = final ..', '.. hora
final = final ..', '.. hora .. ' UTC'
end
local diff = Date(paraFecha) - Date(CurrentDate)
if(not diff.isnegative) then
final = final .. ' (planeado)'
end
return final
end
function acopleDesacople(frame, calif)
local entidad = (frame.args.entidad ~= nil and frame.args.entidad ~= '') and ('|entidad='..frame.args.entidad) or '';
local final = frame:preprocess('{{propiedad|P793'..entidad..'|filtro valor=Q557450|calificador='..calif..'|enlace=no}}');
local diff = Date(final) - Date(CurrentDate)
if(not diff.isnegative) then
final = final .. ' (planeado)'
end
return final
end
return p