Modul: SucheWidmungsempfänger: Unterschied zwischen den Versionen
Aus MAV
MH (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
MH (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 3: | Zeile 3: | ||
function p.CheckGND(personname) | function p.CheckGND(personname) | ||
local queryresult = mw.smw.ask ( | local queryresult = mw.smw.ask ( personname .. '|?GND' ) | ||
if type (queryresult) == 'table' then | if type (queryresult) == 'table' then | ||
| Zeile 38: | Zeile 38: | ||
if type( data ) == "string" then | if type( data ) == "string" then | ||
returnvalue = returnvalue .. Druck .. ': '.. data .. p.CheckGND | returnvalue = returnvalue .. Druck .. ': '.. data .. p.CheckGND(data) .. ' <br> ' | ||
else | else | ||
| Zeile 44: | Zeile 44: | ||
for number, widmungsempfaenger in pairs(data) do | for number, widmungsempfaenger in pairs(data) do | ||
returnvalue = returnvalue .. Druck .. ': '.. tostring(widmungsempfaenger) .. p.CheckGND | returnvalue = returnvalue .. Druck .. ': '.. tostring(widmungsempfaenger) .. p.CheckGND(widmungsempfaenger) .. ' <br> ' | ||
end | end | ||
Version vom 18. Dezember 2023, 12:23 Uhr
Ziel
Ziel ist es, Personen zu finden, die automatisch als Widmungsempfänger aus dem VD17 importiert wurden und sie automatisch über die GND zu suchen.
Nötige Extensions
- Scribunto
- Semantic Scribunto
Zur Vorgehensweise
Aufruf der Funktion
Bitte exakt nach folgendem Schema in der "Vorlage:MAV" aufrufen
{{#invoke:SucheWidmungsempfänger|Abfrage}}
local p = {}
function p.CheckGND(personname)
local queryresult = mw.smw.ask ( personname .. '|?GND' )
if type (queryresult) == 'table' then
return 'GND vorhanden' .. personname
else
return 'GND nicht vorhanden' .. personname
end
end
function p.Abfrage()
local returnvalue = ''
local queryResult = mw.smw.ask('[[Kategorie:Druck]][[Widmungsempfänger::+]][[Bearbeitungsstand::!validiert]][[Jahr::>1601]] |?Widmungsempfänger |limit=5000')
if queryResult == nil then
return 'Keine Personen gefunden. <br>'
end
if type( queryResult ) == "table" then
for num, row in pairs( queryResult ) do
Druck = row[1]
data = row['Widmungsempfänger']
if type( data ) == "string" then
returnvalue = returnvalue .. Druck .. ': '.. data .. p.CheckGND(data) .. ' <br> '
else
for number, widmungsempfaenger in pairs(data) do
returnvalue = returnvalue .. Druck .. ': '.. tostring(widmungsempfaenger) .. p.CheckGND(widmungsempfaenger) .. ' <br> '
end
end
end
end
return returnvalue
end
return p