Metainformationen zur Seite
LoxBerry::Storage::get_usbstorage
@usbstorage = LoxBerry::Storage::get_usbstorage(SIZE, BOOL readwriteonly);
Die Funktion get_usbstorages liest alle erreichbaren USB-Storage-Geräte, die an den LoxBerry angeschlossen sind, ein und liefert einen Array zurück, der auch direkt in HTML::Template verwendet werden kann.
Innerhalb eines Plugins wäre es denkbar, einige (große) Datenmengen oder häufige Schreibzugriffe auf einen externen Datenträger auszulagern oder von dort aus Daten, z. B. MP3-Dateien, einzulesen.
Der zurückgegebene Array kann direkt in HTML::Template benutzt werden.
Parameter
Parameter | Funktion | ||
(optional) size | Erlaubte Werte: MB | GB | H. Legt fest, in welcher Einheit die Variablen USBSTORAGE_USED und USBSTORAGE_AVAILABLE zurückgegeben werden. Standard ist kB für "Kilobytes", MB steht für "Megabytes", GB für "Gigabytes". Bei H ("Human Readable") wird die Einheit selbstständig gewählt und die entsprechende Einheit dem Wert angefügt. |
(optional) readwriteonly | Ist der zweite Parameter = 1, werden nur Devices ausgegeben, auf die sowohl Lese- als auch Schreibberechtigung besteht. Andernfalls werden alle Devices, also auch diejenigen, die nur read-only sind, ausgegeben. |
Variablen
Hash-Variable pro Array-Zeile | Inhalt |
USBSTORAGE_NO | Fortlaufende Nummer |
USBSTORAGE_DEVICE | Device-Name des USB-Datenträgers |
USBSTORAGE_BLOCKDEVICE | Block-Device des USB-Datenträgers, z. B. /dev/sda1 |
USBSTORAGE_TYPE | Typ des Filesystems, z. B. vfat |
USBSTORAGE_STATE | Read-/Write-Status des Shares, kann 'Readonly ' oder 'Writable ' sein. |
USBSTORAGE_USED | Verwendeter Speicherplatz, entspricht der Ausgabe von "df" |
USBSTORAGE_AVAILABLE | Freier Speicherplatz, entspricht der Ausgabe von "df" |
USBSTORAGE_SIZE | Gesamtkapazität (Größe) des Datenträgers (ab LB 1.2.1) |
USBSTORAGE_USEDPERCENT | Belegter Speicherplatz in Prozent, entspricht der Ausgabe von "df" (aus Legacy-Gründen wird dieser Wert auch beim Schlüssel USBSTORAGE_CAPACITY ausgegeben) |
USBSTORAGE_DEVICEPATH | Voller Pfad zum Mount-Verzeichnis des USB-Devices |
Verwendung
use LoxBerry::Storage; use LoxBerry::Web; my @usbdevices = LoxBerry::Storage::get_usbstorage(); print STDERR "USB Devices:\n"; foreach my $usbdevice (@usbdevices) { print STDERR "$usbdevice->{USBSTORAGE_NO} $usbdevice->{USBSTORAGE_DEVICE} $usbdevice->{USBSTORAGE_DEVICEPATH}\n"; } $htmltemplate->param('USBDEVICES' => \@usbdevices); # Access a single element print STDERR "Single element: " . $usbdevices[0]->{USBSTORAGE_DEVICE} . "\n";
Verwendung mit HTML::Template
<TMPL_LOOP USBDEVICES> <div style="display: flex"> <div style="min-width: 50px"><TMPL_VAR USBSTORAGE_NO></div> <div style="min-width: 200px"><TMPL_VAR USBSTORAGE_DEVICE></div> <div style="min-width: 200px"><TMPL_VAR USBSTORAGE_DEVICEPATH></div> </div> </TMPL_LOOP>