26.02.2014 Aufrufe

LinuxUser Backup und Restore (Vorschau)

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Praxis<br />

XBMC-Extensions programmieren<br />

3 Diese Meta-Informationen zu unserem<br />

Plugin stammen aus der Datei addon.xml.<br />

Weitere Infos <strong>und</strong><br />

interessante Links<br />

www. linux‐user. de/ qr/ 28019<br />

testet das Skript, welches Untermenü aktiv<br />

ist, <strong>und</strong> ruft dazu passende Funktionen<br />

auf (Zeilen 63 bis 67). Nachdem Letztere<br />

das Menü mit Punkten befüllt haben,<br />

schließt Zeile 69 die Auswahlseite ab.<br />

Hier terminiert das Skript fürs Erste.<br />

Wenn der Nutzer nun innerhalb des von<br />

XBMC dargestellten Menüs wieder ein<br />

unter- oder übergeordnetes virtuelles<br />

Verzeichnis auswählt, startet das Skript<br />

mit den entsprechenden Parametern erneut<br />

<strong>und</strong> generiert wieder eine dazu<br />

passende Auswahl.<br />

Das Unterprogramm hauptmenue() ruft<br />

für die beiden Menüpunkte jeweils add‐<br />

Dir() auf. Dabei übergibt es:<br />

• die Werte für den Namen der jeweiligen<br />

Menüpunkte,<br />

• die interne (frei gewählte) URL für den<br />

fiktiven Unterordner,<br />

• den mode-Wert, der als Hilfswert speichert,<br />

in welchem Menü der Nutzer<br />

sich befindet, <strong>und</strong><br />

• einen leeren Wert für die Thumbnail-<br />

Grafik, was bewirkt, dass der Nutzer<br />

die Standard-Grafik für Ordner zu sehen<br />

bekommt.<br />

Die Funktion addDir() macht dabei<br />

nichts anderes, als die Variablen zu einem<br />

Parameterstring zusammenzusetzen,<br />

damit das Skript diese bis zu seinem<br />

nächsten Aufruf mittransportiert (Zeilen<br />

11 <strong>und</strong> 15 ), sowie über die passenden<br />

XBMC-internen Funktionen die benötigten<br />

Werte zu setzen. Ähnlich läuft<br />

der Funktionsaufruf von addLink() ab.<br />

Da hier aber der Nutzer nach dem Abspielen<br />

eines Videos in die aktuelle Verzeichnishierarchie<br />

zurückkehrt <strong>und</strong> diese<br />

nicht wechselt, brauchen Sie keinen<br />

neuen mode-Wert übermitteln. Außerdem<br />

setzt das Unterprogramm den Wert<br />

isFolder nicht wie addDir() auf True.<br />

Die Funktionen addDir() <strong>und</strong> add‐<br />

Link() stammen ursprünglich aus der<br />

XBMC-Dokumentation, finden sich jedoch<br />

aufgr<strong>und</strong> Ihrer einfachen Anwendbarkeit<br />

in vielen kleineren Plugins wieder.<br />

Wollen Sie Videolinks aus einer Webseite<br />

herausscrapen? Dann extrahieren<br />

Sie die Links entweder mittels diverser<br />

Stringfunktionen (oder ressourcenaufwendiger<br />

mittels eines regulären Ausdrucks<br />

<strong>und</strong> dem Modul re) <strong>und</strong> stellen<br />

diese anschließend über addDir() <strong>und</strong><br />

addLink() dem Nutzer zur Verfügung.<br />

Falls Sie die API eines Webdienstes<br />

nutzen, um URLs zu Mediendateien zu<br />

erhalten, bietet sich oft ein anderes Vorgehen<br />

an. Handelt es sich um Youtube-<br />

Links, so können Sie sich Funktionen anderer<br />

Addons zunutze machen. Für Youtube<br />

existiert bereits ein Plugin. Geben<br />

Sie dann die Abhängigkeit dazu in der<br />

addon.xml mittels des Strings an.<br />

Nun spielt die Plugin-URL<br />

plugin://plugin.video.youtube/?paU<br />

th=/root/video&action=play_video&U<br />

videoid=VideoID<br />

das angegebene Video des fraglichen<br />

Anbieters ab, wenn Sie sie als Ziel von<br />

addDirectory() angeben.<br />

Komplexere Plugins<br />

Je weniger statische Daten Ihr Script<br />

nutzt <strong>und</strong> je komplizierter die verwendeten<br />

Datenstrukturen ausfallen, desto<br />

eher sollten Sie von der oben dargestellten<br />

Struktur abweichen.<br />

Für komplexere Plugins lohnt es sich<br />

oft, XBMCSwift2 û einzubinden. Das erleichtert<br />

zunächst einmal das Debugging.<br />

Die einfachste Form der Fehlersuche<br />

besteht in XBMC-Addons normalerweise<br />

darin, mehrere Variablenwerte<br />

46 www.linux-user.de<br />

04.2013

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!