Skip to end of metadata
Go to start of metadata

@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

ParameterFunktion

(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-ZeileInhalt
USBSTORAGE_NOFortlaufende Nummer
USBSTORAGE_DEVICEDevice-Name des USB-Datenträgers
USBSTORAGE_BLOCKDEVICEBlock-Device des USB-Datenträgers, z. B. /dev/sda1
USBSTORAGE_TYPETyp des Filesystems, z. B. vfat
USBSTORAGE_STATERead-/Write-Status des Shares, kann 'Readonly' oder 'Writable' sein.
USBSTORAGE_USEDVerwendeter Speicherplatz, entspricht der Ausgabe von "df"
USBSTORAGE_AVAILABLEFreier Speicherplatz, entspricht der Ausgabe von "df"
USBSTORAGE_SIZEGesamtkapazität (Größe) des Datenträgers (ab LB 1.2.1)
USBSTORAGE_USEDPERCENTBelegter Speicherplatz in Prozent, entspricht der Ausgabe von "df" (aus Legacy-Gründen wird dieser Wert auch beim Schlüssel USBSTORAGE_CAPACITY ausgegeben)
USBSTORAGE_DEVICEPATHVoller 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>
  • No labels