# Gevorderd gebruik

## Opdrachtregel-opties

Bij het gebruiken van &appname; vanaf de commandoregel zijn er verschillende opties voor het openen van gegevensbestanden. Deze worden zichtbaar door het commando `tellico --help`. Loggen voor diagnostiek kan ook ingeschakeld worden, wat een menu-item zal aanmaken om de log met diagnostiek te tonen. De optie `--logfile` dirigeert de log naar een bestand.

    Gebruik: tellico [opties] [bestandsnaam]

    Tellico - software voor beheer van verzamelingen, vtij en eenvoudig

    Opties:
      --nofile                  Het laatst geopende bestand niet opnieuw openen
      --bibtex                  <bestandsnaam> importeren als een bibtex-bestand
      --mods                    <bestandsnaam> importeren als een MODS-bestand
      --ris                     <bestandsnaam> importeren als een RIS-bestand
      --pdf                     <filename> importeren als een PDF-bestand
      --log                     Diagnostische uitvoer loggen
      --logfile <logfile>       Uitvoer van log schrijven naar <bestandsnaam>

    Argumenten:
      bestandsnaam              Te openen bestand

## &DBus;-interface

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

### &DBus;-commando's

Er zijn twee &DBus; primaire objecten beschikbaar in het interface van tellico: `Tellico` en `Collections`.

#### Het `Tellico`-object

De volledige lijst et &DBus;-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. Metagegevens uit &PDF; bestanden kunnen ook geïmporteerd worden.

Voor elk van de commando's om tekst te exporteren, zal een bestandsnaam met `--` dit door sturen naar de standaard uitvoer.

De huidige geopende verzameling in &appname; 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 &DBus;-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 &DBus;-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 &DBus;

Hier zijn enige voorbeelden van scripts voor &appname; met gebruik van het &DBus;-interface. Merk op dat het commando `qdbus` kan bestaan als `qdbus-qt5` of iets dergelijks op uw systeem.

    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