Wikipedia:Lua/Modul/FileMedia/de
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
FileMedia
– Modul mit Funktionen für Mediendateien (Bilder), Beschreibungsseiten dazu sowie Seiten mit besonders formatierten Inhalten.
Funktionen für Vorlagen
[Quelltext bearbeiten]Alle Funktionen haben einen unbenannten Parameter mit dem Seitennamen (sinnvollerweise anzugeben). Dieser ist tolerant gegenüber Leerzeichen vor oder nach dem Inhalt.
Der Rückgabewert ist eine leere Zeichenkette („nichts“), wenn der Parameterwert die Erwartung nicht erfüllt. Wenn ein Ergebnis vorhanden oder die Abfragebedingung wahr ist, resultiert mindestens ein Zeichen. Das Ergebnis beginnt oder endet nicht mit Leerzeichen.
Viele Funktionen sind „teuer“ – das bedeutet, dass maximal 500 Abfragen pro Gesamt-Seite erlaubt sind. Sie können jeweils doppelt teuer werden, wenn die Mediendatei lokal nicht existiert und auch auf Commons nachgefragt werden muss.
- getExtension
- Extrahiere aus einem Seitentitel die mutmaßliche „Dateiendung“ (Ergebnis kleingeschrieben)
- nichts – wenn nicht erkannt
- getHeight
- Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Bildhöhe in Pixeln [teuer]
- nichts – wenn nicht erkannt
- getHeightWidth
- Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Ausdehnung im Format
123x456px
wie bei Bildparametern [teuer]- nichts – wenn nicht erkannt
- getMimeType
- Gewinne aus dem Seitentitel oder Seitennamen einer Datei den MIME-Typ [teuer]
- nichts – wenn nicht erkannt
- getPageCount
- Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Seitenanzahl von paged media [teuer]
0
– wenn vorhanden, aber nicht potentiell mehrseitig- nichts – wenn nicht erkannt
- getSize
- Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Größe in Bytes [teuer]
- nichts – wenn nicht erkannt
- getTitle
- Gewinne aus dem Seitentitel oder Seitennamen einer Datei den kanonischen Seitentitel (mit Leerzeichen)
- nichts – wenn nicht erkannt
- getType
- Gewinne aus einem Seitentitel den Datentyp anhand der mutmaßlichen „Dateiendung“
- Datentypen sind:
audio data paged pixel program style vector video
- nichts – wenn nicht erkannt
- getWidth
- Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Bildbreite in Pixeln [teuer]
- nichts – wenn nicht erkannt
- isFile
- Ist es der Bezeichner einer Mediendatei, mit oder ohne Namensraum?
1
– ja
- isType
- Erfüllt der Dateiname die Erwartung 2 an den Dateinamen?
- Datentypen 2 sind:
audio data paged pixel program style vector video
sowiefile image
–file
ist für den Dateinamensraum geeignet undimage
darüberhinaus als Einzelbild.1
– ja
- setParSize
- Prüfe oder vervollständige eine Bildgröße in Pixeln als
px
-Parameter - Ganze positive Zahlen werden um
px
ergänzt. - Gleichfalls die
x
-Formate für die Kombination mit der Bildhöhe.- nichts – wenn nicht erkannt
- Optionaler zweiter Parameter: Vorgabe, falls erster Parameter untauglich.
- Optionaler Parameter
pipe
(boolesch): Stelle einem nicht-leeren Ergebnis ein Pipe-Symbol voran. - failsafe
- Versionsbezeichnung (lokal):
2023-01-01
- Optionaler Zusatzparameter:
1
– Mindestversionsbezeichnung oderwikidata
- Rückgabewert:
- Leer, falls Mindestversionsbezeichnung nicht erfüllt
- Versionsbezeichnung (auf Wikidata registriert:
2023-01-01
) beiwikidata
, oder lokal falls dort keine gefunden
Beispiele (Testseite)
[Quelltext bearbeiten]Eine Testseite illustriert praktische Beispiele.
Funktionen für Lua-Module
[Quelltext bearbeiten]Alle oben dokumentierten Funktionen können auch über require()
in andere Module eingebunden werden:
local lucky, FileMedia = pcall( require, "Module:FileMedia" )
if type( FileMedia ) == "table" then
FileMedia = FileMedia()
else
-- Fehlerfall; FileMedia enthält Fehlermeldung
return "<span class=\"error\">" .. FileMedia .. "</span>"
end
Danach stehen zur Verfügung:
- FileMedia.getExtension( s )
- FileMedia.getHeight( s )
- FileMedia.getHeightWidth( s )
- FileMedia.getMimeType( s )
- FileMedia.getPageCount( s )
- FileMedia.getPages( s )
- Gib eine table mit den Breiten und Höhen jeder einzelnen Seite zurück.
- FileMedia.getSize( s )
- FileMedia.getTitle( s )
- FileMedia.getType( s )
- FileMedia.getWidth( s )
- FileMedia.isFile( s )
- FileMedia.isSpacing( space )
- Widerspricht ein mutmaßlicher Namensraum einem Dateititel?
- FileMedia.isType( s, supposed )
- FileMedia.setParSize( s, standard, lead )
- Falle optional auf standard zurück und stelle eine Pipe voran, falls lead.
- FileMedia.failsafe(atleast)
- atleast
optional
nil oder Mindestversion oder Wert für"wikidata"
- atleast
Im Erfolgsfall geben die FileMedia.get*() eine Zeichenkette oder Zahl zurück, die FileMedia.is*() den Wert true
; bei Misserfolg jeweils false
.
Untermodul
[Quelltext bearbeiten]commons:Data:FileMediaExt.tab enthält die Zuordnung von Dateiendungen zu Dateitypen.
Verwendung
[Quelltext bearbeiten]Allgemeine Bibliothek; nicht eingegrenzt.
Abhängigkeiten
[Quelltext bearbeiten]Keine.