Interfaccia D-Bus

Tellico ha un'interfaccia D-Bus minima che può essere usata per lo scripting o per interagire con un'applicazione in esecuzione attraverso la linea di comando. Come per tutte le chiamate D-Bus, è necessario specificare il servizio a cui ci si vuole interfacciare ed indicare l'interfaccia. Il nome del servizio D-Bus è org.kde.tellico.

Comandi D-Bus

Nell'interfaccia di Tellico sono disponibili due oggetti D-Bus: Tellico e Collections.

L'oggetto Tellico

Di seguito è mostrata la lista completa dei comandi D-Bus per l'oggetto tellico:

bool importTellico(QString file, QString action)
bool importBibtex(QString file, QString action)
bool importMODS(QString file, QString action)
bool importPDF(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)

Per i quattro comandi di importazione, il primo argomento è il file da importare, mentre il secondo è l'azione di importazione. Sono disponibili tre azioni: replace, append, e merge. Per l'importazione sono supportati quattro formati di file: file Tellico XML, file Bibtex, file MODS, e file RIS. Possono essere importati i metadati dai file PDF.

Per ognuno dei comandi per esportare del testo, un nome del file verrà messo di seguito a -- nello standard output.

La collezione attualmente aperta in Tellico può essere esportata in un file, sia nei formati Tellico XML, Tellico ZIP, Bibtex, HTML, sia in formato CSV (comma-separated values, valori separati da virgole). Il comando di esportazione accetta un argomento opzionale per specificare se la collezione debba essere limitata al file corrente oppure no.

Una lista degli id elementi selezionati o filtrati facilita la visualizzazione o l'aggiornamento degli elementi nella vista.

Un nuovo file dati può essere aperto usando il comando openFile(). È necessario specificare il percorso completo.

Si può impostare un nuovo filtro usando il comando setFilter(), che equivale a digitare nella casella del filtro della finestra principale.

Dato un ID elemento showEntry() selezionerà quell'elemento e restituirà i dettagli dell'elemento nella finestra principale.

L'oggetto Collections

La lista completa dei comandi D-Bus per l'oggetto Collections è mostrata qui sotto:

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)

Un nuovo elemento vuoto può essere creato nella collezione corrente usando il comando addEntry(). Il valore risultante sarà l'ID elemento, che può essere usato per impostare i valori dei campi dell'elemento. Un elemento può essere cancellato dalla collezione usando removeEntry().

L'invocazione di allValues() utilizzando il nome di un campo restituirà come risultato tutti i valori di quel campo per gli elementi selezionati. Se non vi sono elementi selezionati la lista sarà vuota. Se un ID di un elemento viene incluso nel comando verranno restituiti i valori di campo di quello specifico elemento.

Se la collezione corrente è una bibliografia, l'invocazione di selectedBibtexKeys() restituirà le chiavi di citazione Bibtex per tutti gli elementi selezionati. La chiave Bibtex di uno specifico elemento può essere individuata con il comando entryBibtexKey().

Gli elementi possono essere modificati direttamente dall'interfaccia D-Bus. Dato l'ID di un elemento, setEntryValue() imposterà direttamente il valore del campo. Per aggiungere un valore senza modificare quelli già inseriti, usa addEntryValue(). I nuovi valori verranno aggiunti in fondo alla lista attuale.

Esempi di D-Bus

Ecco alcuni esempi per l'utilizzo di script in Tellico utilizzando l'interfaccia D-Bus. Nota che il comando qdbus nel tuo sistema può esistere come qdbus-qt5 o simile.

Aprire un file Bibtex
% qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/roberto/reference.bib" "replace"
true
Esportare un file Bibtex
% qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib
true
Esportare un file Bibtex usando il filtro corrente
% qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib true
true
Visualizza la chiave di citazione della selezione attuale
% qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
stephenson2004
Aggiunge un nuovo elemento ed imposta il titolo
% myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
% qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "Il mio nuovo libro"
true