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: MBGBH. 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-ZeileInhalt
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>