66 392
contributi
mNessun oggetto della modifica |
(Item added to References) |
||
(31 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
--- This module represent the package containing basic functions to access data from the WikiBase instance DataTrek | --- This module represent the package containing basic functions to access data from the WikiBase instance DataTrek | ||
-- @module p | -- @module p | ||
-- @author Luca Mauri [[Utente:Lucamauri]] | |||
-- Add other authors below | |||
-- Keyword: wikitrek | -- Keyword: wikitrek | ||
local p = {} | local p = {} | ||
Riga 394: | Riga 396: | ||
else | else | ||
for _, Statement in pairs(Statements) do | for _, Statement in pairs(Statements) do | ||
local | local ReferenceItem = Statement.mainsnak.datavalue.value.id | ||
local Reference = mw.wikibase.getSitelink(ReferenceItem) | |||
if not Reference then | if not Reference then | ||
Reference = Statement.mainsnak.datavalue.value.id | --Reference = Statement.mainsnak.datavalue.value.id | ||
AllReferences[#AllReferences + 1] = "* [[Special:AboutTopic/" .. | AllReferences[#AllReferences + 1] = "* [[Special:AboutTopic/" .. ReferenceItem .. "]] - " .. ReferenceItem | ||
else | else | ||
if frame.args['AddSemantic'] then | if frame.args['AddSemantic'] then | ||
Reference = "Riferimento::" .. Reference | |||
end | |||
AllReferences[#AllReferences + 1] = "* [[" .. Reference .. "]] - " .. ReferenceItem | |||
end | end | ||
end | end | ||
Riga 413: | Riga 416: | ||
-- @return A bullet list of backlinks | -- @return A bullet list of backlinks | ||
function p.ListBackReferences(frame) | function p.ListBackReferences(frame) | ||
local | -- See example here https://github.com/SemanticMediaWiki/SemanticScribunto/blob/master/docs/mw.smw.getQueryResult.md | ||
-- See also here https://doc.semantic-mediawiki.org/md_content_extensions_SemanticScribunto_docs_mw_8smw_8getQueryResult.html | |||
local AllBackReferences = {} | |||
--[=[ | |||
local QueryResult = mw.smw.ask('[[Riferimento::' .. mw.title.getCurrentTitle().text .. ']]|?DataTrek ID|format=broadtable') | |||
return mw.title.getCurrentTitle() | if not QueryResult then | ||
return "''Nessun risultato''" | |||
else | |||
for _, Row in pairs(QueryResult) do | |||
local Items = {} | |||
for _, Field in pairs(Row) do | |||
if string.sub(Field, 1, 7) == "[[File:" then | |||
Items[#Items + 1] = "[[:" .. string.sub(Field, 3) | |||
else | |||
Items[#Items + 1] = Field | |||
end | |||
end | |||
AllBackReferences[#AllBackReferences + 1] = "*" .. table.concat(Items, ', ') | |||
end | |||
return table.concat(AllBackReferences, string.char(10)) | |||
end | |||
]=] | |||
--local QueryResult = mw.smw.getQueryResult('[[Riferimento::' .. mw.title.getCurrentTitle().text .. ']]|?DataTrek ID') | |||
--local queryResult = mw.smw.getQueryResult( frame.args ) | |||
local QueryResult = mw.smw.getQueryResult('[[Riferimento::' .. mw.title.getCurrentTitle().text .. ']]|?DataTrek ID') | |||
if QueryResult == nil then | |||
return "''Nessun risultato''" | |||
end | |||
if type(QueryResult) == "table" then | |||
local Row = "" | |||
for k, v in pairs(QueryResult.results) do | |||
--[=[if v.fulltext and v.fullurl then | |||
myResult = myResult .. k .. " | " .. v.fulltext .. " " .. v.fullurl .. " | " .. "<br/>" | |||
else | |||
myResult = myResult .. k .. " | no page title for result set available (you probably specified ''mainlabel=-')" | |||
end]=] | |||
if string.sub(v.fulltext, 1, 5) == "File:" then | |||
Row = "[[:" .. v.fulltext .. "]]" --string.sub(v.fulltext, 3) | |||
else | |||
Row = "[[" .. v.fulltext .. "]]" | |||
end | |||
if v.printouts['DataTrek ID'][1] ~= nil then | |||
Row = Row .. " - " .. v.printouts['DataTrek ID'][1] | |||
end | |||
AllBackReferences[#AllBackReferences + 1] = "*" .. Row | |||
end | |||
return table.concat(AllBackReferences, string.char(10)) | |||
else | |||
return "''No table''" | |||
end | |||
return queryResult | |||
end | end | ||
return p | return p |