Modul:SucheWidmungsempfänger

Aus MAV
Version vom 18. Dezember 2023, 14:19 Uhr von MH (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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(frame)
	
	local queryresult = mw.smw.ask ( '[[' .. frame.args[1] .. ']]|?GND#-|format=text'  )
	
	if queryResult == nil then
		
        return frame.args[1] .. 'Keine Personen gefunden. <br>'
        
    else
    	
    	return frame.args[1] .. 'Treffer!'
        
	end
	
end

function p.Abfrage()
	
	local returnvalue = ''
	
	local queryResult = mw.smw.ask('[[Kategorie:Druck]][[Widmungsempfänger::+]][[Bearbeitungsstand::!validiert]][[Jahr::>1601]]|?Widmungsempfänger#-|limit=5000|link=none')
	
	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