# Edasijõudnutele

## Käsurea võtmed

&appname; käivitamisel käsurealt võib andmefailide avamiseks kasutada mitmeid võtmeid. Neid näeb käsuga `tellico --help`.

    Kasutamine: tellico [Qt võtmed] [KDE võtmed] [võtmed] [failinimi]

    Tellico - KDE kogude haldur

    Võtmed:
      --nofile                  Viimati avatud faili ei avata uuesti
      --bibtex                  <failinimi> imporditakse bibtexi failina
      --mods                    <failinimi> imporditakse MODS failina
      --ris                     <failinimi> imporditakse RIS failina

    Argumendid:
      failinimi                  Avatav fail

## &DBus;i liides

&appname;l on minimaalne &DBus;i liides, mis on abiks skriptimisel või töötava rakendusega suhtlemisel käsurealt. Nagu kõigi &DBus;i väljakutsete puhul, tuleb määrata teenus, millega soovid suhelda, ja konkreetne liides. &DBus;i teenuse nimi on `org.kde.tellico`.

### &DBus;i käsud

Tellico liidesele on olemas kaks &DBus;i primaarset objekti: `Tellico` ja `Collections`.

#### Objekt `Tellico`

Allpool on ära toodu täielik &DBus;i käskude loend objektis `tellico`:

    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)

Nelja importimiskäsu puhul on esimene argument imporditav fail ja teine importimistoiming. Kasutada saab kolme toimingut: replace (asendamine), append (lisamine) ja merge (liitmine). Importimisel on toetatud neli failivormingut: Tellico &XML;-failid, Bibtex-failid, MODS-failid ja RIS-failid.

&appname;s parajasti avatud kogu võib eksportida failina kas Tellico &XML;-vormingus, Tellico ZIP-vormingus, Bibtexina, &HTML;-ina, komadega eraldatud väärtustena (CSV) või Pilot-DB vormingus.

Parajasti valitud või filtreeritud kirjete ID-de nimekiri võib hõlbustada vaate kirjete näitamist või uuendamist.

Uue andmefaili saab avada käsuga `openFile()`. Määrata tuleb täielik asukoht.

Uue filtri võib kehtestada käsuga `setFilter()`, mis võrdub kirjutamisega peaakna filtrikasti.

Kirje ID andmisel valib käsk `showEntry()` selle kirje ja näitab peaaknas kirje üksikasju.

#### Objekt `Collections`

Allpool on ära toodud täielik &DBus;i käskude loend objektis `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 value)
    bool addEntryValue(int entryID, QString fieldName, QString value)

Uue tühja kirje saab aktiivses kogus luua käsuga `addEntry()`. Tagastatavaks väärtuseks on kirje ID, mida saab seejärel kasutada väljade väärtuste määramisel kirjes. Kirje saab kogust kustutada käsuga `removeEntry()`.

Käsk `allValues()` lihtsalt välja nimega tagastab parajasti valitud kirjete kõik selle välja väärtused. Kui ühtegi kirjet pole valitud, on tagastatav nimekiri tühi. Kui käsus on määratud kirje ID, tagastatakse selle konkreetse kirje väljade väärtused.

Kui aktiivne kogu on bibliograafia, tagastab käsk `selectedBibtexKeys()`kõigi valitud kirjete Bibtexi viitevõtme. Konkreetse kirje bibtexKey võib leida käsuga `entryBibtexKey()`.

Kirjeid saab &DBus;i liidese vahendusel ka otse muuta. Kirje ID andmisel määrab `setEntryValue()` otse välja väärtuse. Väärtuse lisamiseks seniseid väärtusi puudutamata kasuta käsku `addEntryValue()`. Uus väärtus lisatakse seniste nimekirja lõppu.

### &DBus;i näited

Siin on ära toodud mõned &appname; skriptimise näited &DBus;i liidese abil. Et pid peab olema teada, on lihtsaim viis see shellikäsku kaasata järgmine: `dbus $(dbus | grep tellico) tellico`.

    Bibtex-faili avamine
    % qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"
    true

    Bibtex-faili eksport
    % qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib
    true

    Aktiivse valiku viitevõtme näitamine
    % qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
    stephenson2004

    Uue kirje lisamine ja pealkirja määramine
    % myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
    % qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "Minu uus raamat"
    true