# Ús avançat

## Opcions de la línia d'ordres

Quan s'executa el &appname; des de la línia d'ordres, hi ha diverses opcions per a obrir els fitxers de dades. Es poden veure executant `tellico --help`. També es pot habilitar el registre de diagnòstic, el qual crearà un element de menú per a mostrar el registre de diagnòstic. L'opció `--logfile` redirigeix el registre a un fitxer.

    Ús: tellico [opcions] [nom_fitxer]

    Tellico - un programari per a la gestió de col·leccions, lliure i senzill

    Opcions:
      --nofile         No obris l'últim fitxer obert
      --bibtex         Importa <nom_fitxer> com un fitxer bibtex
      --mods           Importa <nom_fitxer> com un fitxer MODS
      --ris            Importa <nom_fitxer> com un fitxer RIS
      --pdf            Importa <nom_fitxer> com un fitxer PDF
      --log                     Enregistra la sortida de diagnòstic
      --logfile <logfile>       Escriu la sortida del registre a <nomfitxer>

    Arguments:
      [nom_fitxer]         Fitxer a obrir

## Interfície de &DBus;

El &appname; té una interfície de &DBus; mínima, la qual pot ser útil per a crear scripts o interactuar amb una aplicació en execució des de la línia d'ordres. Igual que amb totes les crides de &DBus;, cal que especifiqueu el servei amb el qual voleu interactuar, i la interfície en particular. El nom del servei de &DBus; és `org.kde.tellico`.

### Ordres de &DBus;

Els dos objectes primaris de &DBus; estan disponibles a la interfície tellico: `Tellico` i `Collections`.

#### L'objecte `Tellico`

A continuació es mostra la llista completa d'ordres de &DBus; a l'objecte `tellico`:

    bool importTellico(QString fitxer, QString acció)
    bool importBibtex(QString fitxer, QString acció)
    bool importMODS(QString fitxer, QString acció)
    bool importPDF(QString fitxer, QString acció)
    bool importRIS(QString fitxer, QString acció)
    bool exportXML(QString fitxer, booleà filtrat)
    bool exportZip(QString fitxer, booleà filtrat)
    bool exportBibtex(QString fitxer, booleà filtrat)
    bool exportHTML(QString fitxer, booleà filtrat)
    bool exportCSV(QString fitxer, booleà filtrat)
    QList<int> selectedEntries()
    QList<int> filteredEntries()
    void openFile(QString fitxer)
    void setFilter(QString text)
    bool showEntry(int id)

Per a les quatre ordres d'importació, el primer argument és el fitxer a importar, i el segon és l'acció d'importació. Disposeu de tres accions: replace, append i merge. Hi ha implementats quatre formats de fitxer per a importar: fitxers &XML; del Tellico, fitxers del Bibtex, fitxers del MODS i fitxers del RIS. També es poden importar les metadades de fitxers &PDF;.

Per a qualsevol de les ordres d'exportació de text, un nom de fitxer de `--` el canalitzarà a la sortida estàndard.

La col·lecció oberta al &appname; es pot exportar a un fitxer, ja sigui en el format &XML; del Tellico, format ZIP del Tellico, Bibtex, &HTML;, o a valors separats per comes (CSV). Les ordres d'exportació prenen un argument opcional per a especificar si la col·lecció s'ha de limitar o no al filtre actual.

Una llista dels identificadors d'entrada seleccionats o filtrada poden mostrar o actualitzar les entrades a la vista.

Podeu obrir un nou fitxer de dades amb l'ordre `openFile()`. Heu d'especificar el camí complet.

Es pot ajustar un nou filtre utilitzant l'ordre `setFilter()`, el qual és l'equivalent a escriure al quadre de filtre a la finestra principal.

Donant un identificador d'entrada, `showEntry()` seleccionarà aquesta entrada i mostrarà els detalls de l'entrada a la finestra principal.

#### L'objecte `Collections`

A continuació es mostra la llista completa d'ordres de &DBus; a l'objecte `Collections`:

    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 valor)
    bool addEntryValue(int entryID, QString fieldName, QString valor)

Es pot crear una entrada buida nova a la col·lecció actual utilitzant l'ordre `addEntry()`. El valor retornat és l'identificador de l'entrada, el qual després es pot utilitzar per a ajustar els valors de camp a l'entrada. Una entrada es pot suprimir de la col·lecció cridant `removeEntry()`.

Cridant `allValues()` utilitzant un nom de camp retornarà tots els valors per a aquest camp per a les entrades seleccionades. Si no hi ha entrades seleccionades, la llista retornada estarà buida. Si s'inclou un identificador d'entrada a l'ordre, es retornaran els valors de camp per a aquesta entrada específica.

Si la col·lecció actual és una bibliografia, cridar `selectedBibtexKeys()` retornarà la clau de cita de «Bibtex» per a totes les entrades seleccionades. La bibtexKey per a una entrada específica es pot trobar utilitzant l'ordre `entryBibtexKey()`.

Les entrades es poden editar directament amb la interfície de &DBus;. Donant un identificador d'entrada, `setEntryValue()` establirà el valor del camp directament. Per a afegir un valor sense afectar els ja existents, utilitzeu `addEntryValue()`. El nou valor apareixerà afegit al final de la llista existent.

### Exemples de &DBus;

Aquests són alguns exemples de scripts creats per al &appname; utilitzant la interfície de &DBus;. Tingueu en compte que l'ordre `qdbus` pot existir com `qdbus-qt5` o alguna cosa semblant en el vostre sistema.

    Obre un fitxer de Bibtex
    % qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/usuari/referència.bib" "replace"
    true

    Exporta un fitxer de Bibtex
    % qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/referència.bib
    true

    Exporta un fitxer de Bibtex emprant el filtre actual
    % qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/referència.bib true
    true

    Mostra la clau de cita de la selecció actual
    % qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
    stephenson2004

    Afegeix una nova entrada i estableix el títol
    % myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
    % qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "El meu nou llibre"
    true