# Додаткові можливості

## Параметри командного рядка

Під час запуску &appname; за допомогою командного рядка ви можете вказати параметри, пов’язані з відкриттям файлів даних. Переглянути список цих параметрів можна за допомогою команди `tellico --help`.

    Користування: tellico [параметри Qt] [параметри KDE] [параметри] [назва файла]

    Tellico — інструмент керування збірками для KDE

    Параметри:
      --nofile                  Не відкривати повторно останній відкритий файл
      --bibtex                  Імпортувати файл <назва файла> як файл bibtex
      --mods                    Імпортувати файл <назва файла> як файл MODS
      --ris                     Імпортувати файл <назва файла> як файл RIS

    Аргументи:
      назва файла                  Назва файла, який слід відкрити

## Інтерфейс &DBus;

У &appname; передбачено мінімальний інтерфейс &DBus;, яким можна скористатися для керування програмою за допомогою скриптів або взаємодії з запущеною програмою за посередництвом командного рядка. Як і для всіх інших викликів &DBus;, вам доведеться вказати програму, з якою ви бажаєте працювати і певний інтерфейс. Назвою служби для &DBus; буде `org.kde.tellico`.

### Команди &DBus;

Tellico надає вам доступ до двох основних об’єктів &DBus;: `Tellico` і `Collection`.

#### Об’єкт `Tellico`

Нижче наведено повний список команд &DBus; для об’єкта `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)

Для чотирьох найважливіших команд першим аргументом є назва файла, який слід імпортувати, а другим — дія з імпортування. Можна використовувати одну з трьох дій: replace, append або merge. Підтримується імпорт файлів у чотирьох форматах: файли XML Tellico, файли Bibtex, файли MODS і файли RIS.

Поточну відкриту у &appname; збірку можна експортувати до файла у одному з таких форматів: формат XML Tellico, формат ZIP Tellico, Bibtex, HTML, формат відокремлених комами значень (CSV), формат PilotDB.

Список ідентифікаторів записів, які зараз обрано або відфільтровано може допомогти у показі і оновлення записі у області перегляду.

Новий файл даних можна відкрити за допомогою команди `openFile()`. Вам слід вказати шлях до файла повністю.

Новий фільтр можна встановити за допомогою команди `setFilter()`, яка є еквівалентом введення відповідного рядка у поле фільтрування головного вікна.

За вказаним ідентифікатором запису `showEntry()` обере запис і покаже відомості про нього у головному вікні.

#### Об’єкт `Collection`

Нижче наведено повний список команд &DBus; у об’єкті `Collection`:

    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)

Новий порожній запис у поточній збірці можна створити за допомогою команди `addEntry()`. Ця команда поверне значення ідентифікатора запису, яким потім можна скористатися для встановлення значень полів запису. Вилучити запис зі збірки можна за допомогою виклику команди `removeEntry()`.

Виклик команди `allValues()` з зазначенням лише назви поля поверне всі значення для цього поля у поточних вибраних записах. Якщо не було обрано жодного запису, повернутий список буде порожнім. Якщо до параметрів команди буде додано ідентифікатор запису, буде повернуто значення полів вказаного запису.

Якщо поточна збірка є бібліографією, виклик команди `selectedBibtexKeys()` поверне ключі цитування Bibtex для всіх вибраних записів. Ключ Bibtex (значення bibtexKey) для окремого запису можна визначити за допомогою команди `entryBibtexKey()`.

Записи можна змінювати безпосередньо за допомогою інтерфейсу &DBus;. За вказаним ідентифікатором запису команда `setEntryValue()` встановить значення поля. Щоб додати значення, не змінюючи існуючих значень, скористайтеся командою `addEntryValue()`. Нове значення буде додано в кінець існуючого списку.

### Приклади &DBus;

Нижче наведено декілька прикладів написання скриптів для &appname; за допомогою інтерфейсу &DBus;. Оскільки для коректної роботи скриптів слід знати ідентифікатор процесу програми (pid), можна включити цей ідентифікатор до команди оболонки у такий спосіб: `dbus $(dbus | grep tellico) tellico`.

    Відкриття файла Bibtex
    % qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"
    true

    Експорт до файла Bibtex
    % qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib
    true

    Повернути ключ цитування поточного вибраного пункту
    % qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
    stephenson2004

    Додати новий запис і вказати його заголовок
    % myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
    % qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "My New Book"
    true