L'interface D-Bus

Tellico a une interface D-Bus minimale permettant de scripter ou d'interagir avec des applications lancées depuis la ligne de commande. Comme pour tous les appels D-Bus, vous devrez spécifier le service à contrôler ainsi que son interface. Le nom du service D-Bus est org.kde.tellico.

Les commandes D-Bus

Deux objets D-Bus sont accessibles par l'interface de Tellico : Tellico et Collections.

L'objet Tellico

La liste complète des commandes D-Bus dans l'objet tellico est affichée ci-dessous :

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 exportZip(QString file)
bool exportBibtex(QString file)
bool exportHTML(QString file)
bool exportCSV(QString file)
bool exportPilotDB(QString file)
QList<int> selectedEntries()
QList<int> filteredEntries()
void openFile(QString file)
void setFilter(QString text)
bool showEntry(int id)

Pour les quatre commandes d'import : le premier argument est le fichier à importer et le deuxième correspond à l'action d'import. Trois actions sont disponibles : replace (remplacer), append (ajouter), et merge (fusionner). Quatre formats de fichier sont gérés pour l'import : fichiers XML Tellico, fichiers Bibtex, fichiers MODS et fichiers RIS.

La collection actuellement ouverte dans Tellico peut être exportée dans un fichier aux formats suivants : XML Tellico, ZIP Tellico, Bibtex HTML, comma-separated values (CSV) ou PilotDB.

Une liste des ID pour les entrées actuellement sélectionnées ou filtrées permet de faciliter l'affichage ou la mise à jour des entrées dans la vue.

Un nouveau fichier de données peut être ouvert en utilisant la commande openFile(). L'emplacement complet doit être spécifié.

Un nouveau filtre peut être défini en utilisant la commande setFilter(), équivalente à la saisie dans la boîte de filtre de la fenêtre principale.

En donnant un ID d'entrée, showEntry() sélectionnera cette entrée et affichera les détails dans la fenêtre principale.

L'objet Collections

La liste complète des commandes D-Bus dans l'objet Collections est affichée ci-dessous :

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)

Une nouvelle entrée vierge peut être créée dans la collection courante en utilisant la commande addEntry(). La valeur retournée est l'ID de l'entrée, pouvant ensuite être utilisé pour définir les valeurs des champs. Une entrée peut être supprimée de la collection en appelant la commande removeEntry().

Appeler allValues() en utilisant simplement un nom de champ retournera toutes les valeurs pour ce champ pour les entrées actuellement sélectionnées. En l'absence de sélection, la liste sera vide. Si un ID d'entrée est inclus dans la commande, les valeurs des champs pour cette entrée spécifique seront retournées.

Si la collection courante est une bibliographie, appeler selectedBibtexKeys() retournera la clé de citation Bibtex pour toutes les entrées sélectionnées. La bibtexKey (clé Bibtex) pour une entrée spécifique peut être trouvée en utilisant la commande entryBibtexKey().

Les entrées sont modifiables directement depuis l'interface D-Bus. À partir d'un ID d'entrée, setEntryValue() définira la valeur du champ directement. Pour ajouter une valeur, sans affecter les valeurs existantes, utilisez addEntryValue(). La nouvelle valeur sera en annexe de la fin de la liste existante.

Exemples D-Bus

Voici quelques exemples de scripts Tellico employant l'interface D-Bus.

Ouvrir un fichier Bibtex
% qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"
true
Exporter un fichier Bibtex
% qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib
true
Obtenir la clé de citation pour la sélection courante
% qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
stephenson2004
Ajouter une nouvelle entrée et en définir le titre
% myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
% qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "Mon nouveau livre"
true