Modul:Autoren: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Stewie (Diskussion | Beiträge) |
Stewie (Diskussion | Beiträge) |
||
Zeile 29: | Zeile 29: | ||
Authors[#Authors+1] = k | Authors[#Authors+1] = k | ||
end | end | ||
+ | |||
-- sort them alphabeticaly | -- sort them alphabeticaly | ||
AuthorsSorted = {} | AuthorsSorted = {} | ||
for n in pairs(Authors) do table.insert(AuthorsSorted, n) end | for n in pairs(Authors) do table.insert(AuthorsSorted, n) end | ||
table.sort(AuthorsSorted) | table.sort(AuthorsSorted) | ||
+ | |||
-- display | -- display | ||
− | + | for i,n in ipairs(a) do ReturnString = ReturnString .. print(n) end | |
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
return ReturnString | return ReturnString |
Version vom 19. Dezember 2021, 18:19 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Autoren/Doku erstellt werden
local p = {} --local p = {} -- p steht für Paket (engl. package)
function p.getOfficalAuthors( frame )
local ReturnString =" "
local AuthorList = {}
--liste aller Publikationen, Autoren sind ein attribut der liste
local queryResult = mw.smw.ask('[[Hauptkategorie::Publikation]][[Kanon::offiziell]]|?Autoren=2|mainlabel=-|limit=500')
local i = 1
while i <= table.getn(queryResult)
do
if (type(queryResult[i][1]) == "table") then
-- mutiple authors so we have a table
local n = 1
while n <= table.getn(queryResult[i][1])
do
AuthorList[queryResult[i][1][n]] = 1
n = n +1
end
else
-- only one author
AuthorList[queryResult[i][1]] = 1
end
i = i + 1
end
--transform table around
local Authors = {}
for k,_ in pairs(AuthorList) do
Authors[#Authors+1] = k
end
-- sort them alphabeticaly
AuthorsSorted = {}
for n in pairs(Authors) do table.insert(AuthorsSorted, n) end
table.sort(AuthorsSorted)
-- display
for i,n in ipairs(a) do ReturnString = ReturnString .. print(n) end
return ReturnString
end
return p