Pulse API

Api Calls | Scripting


Api Benutzen | Python

import pulseapi
pulseapi.Call("CALL STRING")

Direkter Call über die PulseApi benötigt einen Eintrag in die addon.xml (weiterer Infos unten)

Ohne Eintrag in die addon.xml :

Python Api Call via Kodi built-in function

import xbmc
xbmc.executebuiltin('RunScript(script.module.pulseapi, CALL STRING)')

Api Benutzen | Skin

<onclick>RunScript(script.module.pulseapi, CALL STRING)</onclick>

CALL STRING mit der jeweiligen Funktion ersetzen z.b InstallBundle
(InstallBundle = Öffnet den Bundle Installer)

Zum testen einfach Ping als CALL STRING benutzen
Ping sollte eine InApp Benachrichtigung mit Pong! anzeigen

Api CallString | Argumente & Bedingungen

Argumente (auch Args genannt) werden im CallString mit einem “ / “ getrennt
Hier ist ein kleiner Beispiel CallString welches in die extension.log eine Nachricht schreibt,
in diesem Fall schreibt MyExtension folgende Nachricht: MyMessage

LogExtension/MyExtension/MyMessage

Zwischen den “ / “ können auch Leerzeichen sein z.b. “ LogExtension/MyExtension/My Message is Cool „

Desweiteren gibt es auch ein paar Bedingungen die eingehalten werden müssen

Argumente sind IMMER Strings ! (Sie werden Automatisch umgewandelt, falls benötigt)

Bool müssen als Nummer angeben werden (0 = False, 1 = True)

Sollte ein String mal ein „/“ Zeichen beinhalten (z.b eine URL), muss man den String in () setzen,
damit es keine Auseinandersetzung mit den Args gibt

Hier ist ein Beispiel mit einer String URL () und einem Bool

ExecuteStreamScript/(www.myUrl.com/script.py)/0

Api Calls | Übersicht


Groß und Kleinschreibung kann bei dem „Call String“ ignoriert werden

Bundle API Calls

 

Account API Calls

 

System API Calls

 

TV API Calls

 

Extension API Calls

 

StreamedFiles API Calls


Wenn Caching genutzt wird (True/1) wird die Datei zwischengespeichert und beim Nächsten Aufruf wird die Datei aus dem Cache geladen.
Falls sich die Datei Online oft Aktualisiert wird dies nicht empfohlen da die Änderungen dann nicht wirksam werden
(erst nach Neustart der Software)
 

Mehr API Calls

 

Api CallString | Return Values


Die Api Calls geben in der Regel keine Values zurück, die Funktion wird einfach nur aufgerufen,
im schlimmsten Fall wird eine Fehlermeldung ausgegeben (Alle Fehlermeldungen dazu sind weiter unten)

Es gibt jedoch Ausnahmen, und zwar bei Extensions.
In Diesem Fall greift die Extension direkt auf die Api zu und bekommt bei manchen ApiCalls etwas zurück.
Hier ist eine Liste aller ApiCalls die etwas zurückgeben

Extension Api Call Return Values

 

Api Calls | Beispiele


Python Kodi built-in function | Bundle Installer öffnen

import xbmc
xbmc.executebuiltin('RunScript(script.module.pulseapi, InstallBundle)')

Kodi Skin OnClick Event | Bundle auf Updates prüfen

<onclick>RunScript(script.module.pulseapi, CheckBundleUpdate)</onclick>

Python Api Script Module | BundleCreator öffnen (BundleCreator Aktuell nicht verfügbar)

import pulseapi
pulseapi.Call("CreateBundle")

 

Api Call | Fehlermeldungen



Die Fehlermeldungen werden InApp als Benachrichtigung angezeigt.


Weitere Informationen

Solltest du dich dafür entscheiden die PulseApi in einem Addon zunutzen (Python). Darfst du nicht vergessen
in deiner addon.xml folgendes einzubinden, dies erlaubt dem Addon auf die Api zuzugreifen

Bei Extensions ist kein Eintrag erforderlich, da die API über den Constructor übergeben wird.
Diese muss aber zwischen gespeichert werden, um immer darauf Zugriff zu haben. Ein beispiel dazu gibt es auf der Extension Seite

<requires>
	<import addon="script.module.pulseapi" version="3.0"/>
</requires>

alternativ kann die PulseApi auch über die Kodi BuiltIn Function ausgeführt werden:

import xbmc
xbmc.executebuiltin('RunScript(script.module.pulseapi, CALL STRING)')

wenn möglich aber immer die direkte API nutzen
(Eintrag in addon.xml + import pulseapi …)