Edición de «Módulo:Wikidata»

Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 204: Línea 204:
function p.getPropiedad(opciones, declaracion)
function p.getPropiedad(opciones, declaracion)
local propiedad = {}
local propiedad = {}
local tablaOrdenada = {}


-- Resolver alias de propiedad
-- Resolver alias de propiedad
Línea 221: Línea 222:
return formatoError( 'property-param-not-provided' )
return formatoError( 'property-param-not-provided' )
end
end
local tablaOrdenada
 
if declaracion then
if declaracion then
tablaOrdenada = declaracion
tablaOrdenada = declaracion
elseif mw.wikibase.isValidEntityId(tostring(opciones.entityId)) and mw.wikibase.isValidEntityId(tostring(propiedad)) then
elseif not p.getDeclaraciones(opciones.entityId) then
tablaOrdenada = mw.wikibase.getAllStatements( opciones.entityId, mw.ustring.upper(propiedad) )
return formatoError( 'other entity' )
if not tablaOrdenada[1] then return '' end
elseif p.getDeclaraciones(opciones.entityId)[mw.ustring.upper(propiedad)] then
tablaOrdenada = p.getDeclaraciones(opciones.entityId)[mw.ustring.upper(propiedad)]
else
else
return ''
return ''
Línea 242: Línea 244:
end  
end  
end
end
tablaOrdenada = p.filtroDesconocidos(tablaOrdenada)
-- Aplicar filtro de calificador
-- Aplicar filtro de calificador
Línea 616: Línea 616:
end
end
return f
return f
end
--[[ =========================================================================
Función que filtra los valores de una propiedad y devuelve solo los que
tengan formatos de valor, omitiendo los de formato desconocido o sin valor
========================================================================= `-- ]]
function p.filtroDesconocidos(t)
for k,v in pairs(t) do
if(v["mainsnak"]["snaktype"] ~= "value") then
t[k] = nil
end
local qual = v["qualifiers"]
if(qual ~= nil) then
for qualk,qualv in pairs(qual) do
local prop = qualv
for propk,propv in pairs(prop) do
if(propv["snaktype"] ~= "value") then
prop[propk] = nil
-- same as: qual[prop] = nil
-- same as: t["qualifiers"][prop] = nil
end
end
if #prop == 0 then
prop = nil
qual[qualk] = nil
end
end
if #qual == 0 then
qual = nil
end
end
end
return t
end
end


Línea 937: Línea 904:
local valorWikidata;
local valorWikidata;
if (args.prioridad ~= 'sí' or (args.importar and args.importar == 'no')) and args.valor and args.valor ~= '' then
if (args.prioridad ~= 'sí' or (args.importar and args.importar == 'no')) and args.valor and args.valor ~= '' then
valorWikidata = nil;
valorWikidata = '';
else
else
if not mw.wikibase.isValidEntityId(tostring(argumentos.entityId)) then
local ent = SelecionEntidadPorId(argumentos.entityId)
argumentos.entityId = mw.wikibase.getEntityIdForCurrentPage() or nil
argumentos.entityId = ent and ent.id or nil
end
valorWikidata = p.getPropiedad(argumentos, nil);
valorWikidata = p.getPropiedad(argumentos, nil);
end
end
Línea 947: Línea 913:
  local categorias = '';
  local categorias = '';
  local namespace = frame:preprocess('{{NAMESPACENUMBER}}');
  local namespace = frame:preprocess('{{NAMESPACENUMBER}}');
if (namespace == '0' and (not args.categorias or args.categorias ~= 'no') and
args.propiedad and string.upper(args.propiedad) ~= 'P18' -- P18: imagen de Commons
and string.upper(args.propiedad) ~= 'P41' -- P41: imagen de la bandera
and string.upper(args.propiedad) ~= 'P94' -- P94: imagen del escudo de armas
and string.upper(args.propiedad) ~= 'P109' -- P109: firma de persona
and string.upper(args.propiedad) ~= 'P154') then -- P154: logotipo
if valorWikidata and valorWikidata ~= '' and args.valor and args.valor ~= '' then
categorias = '[[Categoría:Wikipedia:Artículos con datos locales]]'
elseif valorWikidata and valorWikidata == '' and args.valor and args.valor ~= '' and
(not args.calificador or args.calificador == '') and
(not args.dato or args.dato == '' or args.dato ~= 'fuente') then
categorias = '[[Categoría:Wikipedia:Artículos con datos por trasladar a Wikidata]]'
end
end


if args.prioridad == 'sí' and valorWikidata and valorWikidata ~= '' then -- Si se da el valor sí a prioridad tendrá preferencia el valor de Wikidata
if args.prioridad == 'sí' and valorWikidata ~= '' then -- Si se da el valor sí a prioridad tendrá preferencia el valor de Wikidata
if args.importar and args.importar == 'no' and args.valor and args.valor ~= '' then
if args.importar and args.importar == 'no' and args.valor and args.valor ~= '' then
return args.valor .. categorias
return args.valor .. categorias
Ten en cuenta que todas las contribuciones a Wiki TVenserio pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Wiki TVenserio:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!
Cancelar Ayuda de edición (se abre en una ventana nueva)

Plantilla usada en esta página: