D-Bus-Schnittstelle

Tellico hat eine minimale D-Bus-Schnittstelle, die für Skripte oder die Steuerung eines laufenden Programms von der Befehlszeile aus benutzt werden kann. Wie bei allen D-Bus-Aufrufen, müssen Sie den Dienst angeben, mit dem Sie kommunizieren möchten und die spezielle Schnittelle. Der Name des D-Bus-Dienstes für dies Programm lautet org.kde.tellico.

D-Bus-Befehle

Zwei D-Bus-Objekte sind über die Tellico-Schnittstelle verfügbar: Tellico und Collections.

Das Objekt Tellico

Die vollständige Liste der D-Bus-Befehle für das Objekt tellico wird im folgenden gezeigt:

bool importTellico(QString file, QString action)
bool importBibtex(QString file, QString action)
bool importMODS(QString file, QString action)
bool importRIS(QString file, QString action)
bool exportXML(QString file, bool filtered)
bool exportZip(QString file, bool filtered)
bool exportBibtex(QString file, bool filtered)
bool exportHTML(QString file, bool filtered)
bool exportCSV(QString file, bool filtered)
QList<int> selectedEntries()
QList<int> filteredEntries()
void openFile(QString file)
void setFilter(QString text)
bool showEntry(int id)

Bei den vier Import-Befehlen ist das erste Argument die zu importierende Datei und das zweite Argument die Importaktion. Drei Aktionen sind vorhanden: replace, append und merge. Vier Dateiformate werden zum Importieren unterstützt: Tellico-XML-Dateien, Bibtex-Dateien, MODS-Dateien und RIS-Dateien.

Die aktuell geöffnete Sammlung in Tellico kann in eine Datei exportiert werden, entweder im Tellico-XML-Format, im Tellico-ZIP-Format, im Bibtex-Format, im HTML-Format, als durch Komma getrennte Werte (CSV). Der Export-Befehl benötigt ein optionales Argument, um anzugeben, ob die Sammlung auf den aktuellen Filter beschränkt werden soll.

Mit einer Liste der ID's der ausgewählten oder gefilterten Einträge können Einträge angezeigt oder die Anzeige aktualisiert werden.

Eine neue Sammlungsdatei kann mit dem Befehl openFile() geöffnet werden. Der vollständige Pfad zur Datei muss angegeben werden.

Ein neuer Filter kann mit dem Befehl setFilter() gesetzt werden. Dies entspricht der Eingabe im Filterfeld im Hauptfenster.

Mit einer angegebenen ID wird mit dem Befehl showEntry() dieser Eintrag ausgewählt und dessen Details im Hauptfenster gezeigt.

Das Objekt Collections

Die vollständige Liste der D-Bus-Befehle für das Objekt Collections wird im folgenden gezeigt:

int addEntry()
bool removeEntry(int entryID)
QStringList allValues(QString fieldName)
QStringList entryValues(int entryID, QString fieldName)
QStringList selectedBibtexKeys()
QString entryBibtexKey(int entryID)
bool setEntryValue(int entryID, QString fieldName, QString value)
bool addEntryValue(int entryID, QString fieldName, QString value)

Ein neuer leerer Eintrag in der aktuell geöffneten Sammlung kann mit dem Befehl addEntry() erzeugt werden. Der Rückgabewert dieses Befehls ist die ID des Eintrags. Diese ID kann benutzt werden, um die Werte der Felder des Eintrags einzugeben. Um einen Eintrag aus der Sammlung zu löschen, benutzen Sie den Befehl removeEntry().

Der Aufruf von allValues() nur mit einem Feldnamen gibt alle Werte des Feldes für die aktuell ausgewählten Einträge zurück. Sind keine Einträge ausgewählt, ist die zurückgegeben Liste leer. Ist die Kennung (ID) eines Eintrags angegeben, werden die Feldwerte für diesen Eintrag zurückgegeben.

Ist die geöffnete Sammlung ein Literaturverzeichnis, dann gibt der Aufruf von selectedBibtexKeys() den Bibtex-Zitatschlüssel aller ausgewählten Einträge zurück. Der bibtexKey für einen bestimmten Eintrag kann mit dem Befehl entryBibtexKey() gefunden werden.

Einträge können direkt über die D-Bus-Schnittstelle bearbeitet werden. Mit der Kennung (ID) eines Eintrags setzte der Befehl setEntryValue() den Wert des Feldes. Um einen Wert hinzuzufügen, ohne vorhanden Daten zu ändern, verwenden Sie den Befehl addEntryValue(). Der neue Wert wird an das Ende der vorhandenen Liste angehängt

D-Bus-Beispiele

Hier finden Sie einige Beispiele von Skripten für Tellico mit der D-Bus-Schnittstelle.

Öffnen einer Bibtex-Datei
% qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"
true
Export einer Bibtex-Datei
% qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib
true
Export einer Bibtex-Datei mit dem aktuellen Filter
% qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib true
true
Anzeige des Zitatschlüssels der aktuellen Auswahl
% qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
stephenson2004
Neuen Eintrag hinzufügen und den Titel eingeben
% myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
% qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "My New Book"
true