D-Bus-interface

Tellico heeft een minimale D-Bus-interface, die bruikbaar kan zijn voor het werken met scripts of samen te werken met een actieve toepassing vanaf de commandoregel. Zoals met alle D-Bus-oproepen, moet u de service specificeren waarmee u wilt samenwerken en het specifieke interface. De naam van de D-Bus-service is org.kde.tellico.

D-Bus-commando's

Er zijn twee D-Bus primaire objecten beschikbaar in het interface van tellico: Tellico en Collections.

Het Tellico-object

De volledige lijst et D-Bus-commando's in het tellico-object staat hieronder:

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)

Voor de vier importcommando's is het eerste argument het te importeren bestand en het tweede is de importactie. Er zijn drie acties beschikbaar: replace, append, and merge. Vier bestandsformaten worden voor importeren ondersteund: Tellico-XML-bestanden, Bibtex-bestanden, MODS-bestanden en RIS-bestanden.

De huidige geopende verzameling in Tellico kan naar een bestand worden geëxporteerd in ofwel Tellico-XML-formaat, Tellico-ZIP-formaat, Bibtex, HTML of komma-gescheiden-waarden (CSV). De exportcommando's kunnen een optioneel argument hebben om te specificeren of de verzameling beperkt wordt tot het huidige filter of niet.

Een lijst van de nu geselecteerde of gefilterde item-ID's is in staat om getoonde items te tonen of bij te werken.

Een nieuw gegevensbestand kan worden geopend met het commando openFile(). Het volledige pad moet worden gespecificeerd.

Een nieuw filter kan worden ingesteld met het commando setFilter(), wat gelijk is aan het invoeren in het filtervak in het hoofdvenster.

Gegeven een item-ID, zal showEntry() dat item selecteren en de details van het item in het hoofdvenster tonen.

Het object Collections

De volledige lijst van D-Bus-commando's in het object Collections wordt onderstaand getoond:

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)

Een nieuw leeg item kan aangemaakt worden in de huidige verzameling met het commando addEntry(). De teruggegeven waarde is het item-ID, dat dan gebruikt kan worden om waarden van velden van het item in te stellen. Een item kan verwijderd worden uit de verzameling door removeEntry() aan te roepen.

Aanroepen van allValues() met alleen een veldnaam zal alle waarden voor dat veld voor de nu geselecteerde items teruggeven. Als geen items geselecteerd zijn, zal de teruggegeven lijst leeg zijn. Als een item-ID in het commando wordt meegegeven, zullen de veldwaarden voor dat specifieke item worden teruggegeven.

Als de huidige verzameling een bibliografie is, zal aanroepen van selectedBibtexKeys() de Bibtex citatiesleutel voor alle geselecteerde items teruggeven. De bibtexKey voor een specifiek item kan gevonden worden door het commando entryBibtexKey() te gebruiken.

Items kunnen direct bewerkt worden met het D-Bus-interface. Gegeven een item-ID, zal setEntryValue() de veldwaarde direct instellen. Om een waarde in te stellen, zonder de bestaande waarden aan te tasten, gebruik addEntryValue(). De nieuwe waarde wordt toegevoegd aan het eind van de bestaande lijst.

Voorbeelden met D-Bus

Hier zijn enige voorbeelden van scripts voor Tellico met gebruik van het D-Bus-interface.

Open een Bibtex-bestand
% qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"
true
Exporteer een Bibtex-bestand
% qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib
true
Exporteer een Bibtex-bestand met het huidige filter
% qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib true
true
Echo de citatiesleutel van de huidige selectie
% qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
stephenson2004
Voeg een nieuw item toe en stel de titel in
% myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
% qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "Mijn nieuwe boek"
true