# Utilisation avancée

## Options en ligne de commande

Lorsque vous lancez &appname; depuis la ligne de commande, plusieurs options existent pour ouvrir des fichiers de données. Elles peuvent être affichées en écrivant `tellico --help`.

    Utilisation : tellico [options-Qt] [options-KDE] [options] [filename]

    Tellico - un gestionnaire de collections pour KDE

    Options :
      --nofile                  Ne pas charger le dernier fichier ouvert
      --bibtex                  Importer le <filename> en tant que fichier bibtex
      --mods                    Importer le <filename> en tant que fichier MODS
      --ris                     Importer le <filename> en tant que fichier RIS

    Arguments :
      filename                  Fichier à ouvrir

## L'interface &DBus;

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

### Les commandes &DBus;

Deux objets &DBus; sont accessibles par l'interface de Tellico : `Tellico` et `Collections`.

#### L'objet `Tellico`

La liste complète des commandes &DBus; 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 &appname; 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 &DBus; 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 &DBus;. À 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 &DBus;

Voici quelques exemples de scripts &appname; employant l'interface &DBus;.

    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