# Підручник з &konsolekalendar;

## Вступ

&konsolekalendar; — це інтерфейс командного рядка для календарів &kde;. За його допомогою ви можете переглядати, вставляти, вилучати та змінювати записи подій календаря за допомогою командного рядка або мови для написання скриптів. Крім того, за допомогою &konsolekalendar; можна створити новий календар &kde;, експортувати календар &kde; до різноманітних інших форматів та імпортувати інший календар &kde;.

У базовому режимі роботи програми &konsolekalendar; показує список записів подій у вашому типовому календарі для поточної дати (з 7:00 до 17:00).

Основні можливості &konsolekalendar;:

- Перегляд записів календаря з початкової дати/часу до кінцевої дати/часу

- Вставка (додавання) записів календаря

- Вилучення записів календаря

- Зміна записів календаря

- Створення нового календаря

- Експорт записів календаря до файлів інших форматів

- Імпорт існуючого календаря &kde;

&konsolekalendar; не є ще одним графічним інтерфейсом до календаря &kde; (тобто &korganizer;). &konsolekalendar; призначено лише для використання у тих випадках, коли графічний інтерфейс користувача недоцільно або неможливо використовувати.

У &konsolekalendar; немає повноцінної мови для виконання запитів до календаря користувача: метою авторів не було створення подібної можливості. Програма надає у ваше розпорядження базові параметри командного рядка для доступу до записів подій календаря, які належать до послідовного діапазону дат/часу.

## Можливості

З цієї глави ви дізнаєтеся про основні можливості &konsolekalendar; та про те, як керувати цими можливостями за допомогою параметрів командного рядка (слід пам’ятати, що у &konsolekalendar; немає графічного інтерфейсу користувача, програму призначено лише для роботи у командному рядку).

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

### Перегляд записів подій

У типовому режимі або у режимі з використанням параметра `--view` &konsolekalendar; покаже вам список подій у певному діапазоні дат/часу.

Щоб переглянути сьогоднішні події (з 7:00 до 17:00), достатньо виконати команду:

    % konsolekalendar

У наступному прикладі ми переглянемо записи про події протягом тижня з 18 серпня до 22 серпня:

    % konsolekalendar --view --date 2003-08-18  --end-date 2003-08-22

Показ наступного запису (записів) про події від поточного часу уперед:

    % konsolekalendar --next

Щоб переглянути всі записи про події протягом наступних 5 днів, виконайте команду:

    % konsolekalendar --show-next 5

### Вставка записів про події

&konsolekalendar; може вставляти записи про події до календаря &kde; або ресурсу календаря за допомогою аргументу параметра командного рядка `--add`. Успішно вставлені записи можна буде негайно бачити у програмах, які працюють з календарем &kde; (наприклад, &korganizer;).

У наступному прикладі до типового ресурсу календаря користувача буде додано запис про подію, яка починається 2003-06-04 (4 червня 2003 року) о 10:00 і завершується о 12:00, з резюме «Відвідання лікаря»:

    % konsolekalendar --add --date 2003-06-04 --time 10:00 \
    --end-time 12:00 --summary "Відвідання лікаря"

У цьому прикладі до типового ресурсу календаря користувача буде додано запис про день народження:

    % konsolekalendar --add --date 2003-06-06 --summary "Мій день народження" \
    --description "Час для вечірки"

Приклад вставки одного тижня відпустки до спільного календаря `vacation`:

    % konsolekalendar --add --file vacation.ics --date 2003-08-01 \
    --end-date 2003-08-07 --summary "Відпустка" --description "І ніхто мене не знайде!"

### Вилучення записів

За допомогою &konsolekalendar; ви можете вилучати записи з файла календаря за допомогою аргументу параметра командного рядка `--delete`. Вказати записи календаря, які слід вилучити, можна за допомогою їх унікального рядкового ідентифікатора (UID), вказаного як аргумент параметра `--uid`. UID можна визначити з відомостей, отриманих під час перегляду події за допомогою параметра `--view`.

Успішно вилучені записи про події негайно зникнуть з відомостей програм для роботи з календарями &kde; (наприклад, &korganizer;).

Після вилучення інформації з календаря її неможливо відновити! Іншими словами, якщо ви вилучили запис, ви не зможете скасувати вилучення. Запис уже не повернеш.

У наступному прикладі ми вилучимо запис з UID `&konsolekalendar;-1887551750.196`:

    % konsolekalendar --delete --uid &konsolekalendar;-1887551750.196

### Зміна записів

&konsolekalendar; підтримує зміну існуючих записів у файлі календаря або ресурсі, за допомогою аргументу параметра командного рядка `--change`. Записи календаря, які потрібно змінити, вказуються за допомогою їх унікального рядкового ідентифікатора (UID), вказаного як аргумент параметра `--uid`. UID можна визначити з відомостей, отриманих під час перегляду події за допомогою параметра `--view`.

Зміна запису подібна до вставки: ви можете змінити дату і час початку події, її дату і час завершення, резюме, місце і опис. Успішно змінені записи про події негайно буде змінено у відомостях програм для роботи з календарями &kde; (наприклад, &korganizer;).

Приклад: щоб змінити резюме та опис запису календаря з UID `&konsolekalendar;-1887551750.196`, слід виконати команду:

`%```konsolekalendar` `--change` `--uid `&konsolekalendar;-1887551750.196`` `--summary `"Перевіряли чи не хворий на голову"`` `--description `"більше не піду до цього лікаря!"```

### Створення нового файла календаря

&konsolekalendar; можна використати для створення нового файла календаря &kde;. Оскільки ви не можете вставляти запис до календаря, якого не існує, вам слід спочатку створити файл календаря за допомогою аргументів параметрів командного рядка `--create` і `--file`.

Створення календаря з назвою ``/data/share/calendars/vacation.ics``:

    % konsolekalendar --create --file /data/share/calendars/vacation.ics

### Експорт до інших форматів

&konsolekalendar; може експортувати календар &kde; до інших добре відомих форматів. Експорт є особливою формою перегляду. Типово, записи про події буде показано у форматі тексту &konsolekalendar;. Щоб змінити формат перегляду, скористайтеся аргументом параметра командного рядка `--export-type`.

Щоб переглянути список всіх форматів експорту, які підтримуються програмою, скористайтесь параметром `--export-list`, у вигляді команди:

    % konsolekalendar --export-list

### Формати експорту

У цьому розділі описано деякі (але не обов’язково всі) з підтримуваних форматів.

#### Текстовий формат &konsolekalendar;

Текстовий формат &konsolekalendar; є рідним форматом &konsolekalendar;, його розроблено для того, щоб зробити читання та обробку наступними скриптами зручною.

Текстовий формат запису &konsolekalendar; виглядає так:

    Дата:\t<Дата події>(дддд рррр-ММ-дд)
    [\t<Час початку події>(гг:хх) - <Час завершення події>(гг:хх)]
    Короткий підсумок:
    \t<Резюме події | "(резюме не вказано)">
    Місце події:
    \t<Місце події | "(місця не вказано)">
    Опис:
    \t<Опис події | "(опису події не вказано)">
    UID:
    \t<UID події>
    --------------------------------------------------

Приклад:

    Дата:   Вівторок 2003-11-01
            08:00 - 09:00
    Короткий підсумок:
            Робоча нарада
    Місце проведення:
            Конференц-зал
    Опис:
            Зустріч з персоналом для обговорення проекту.
    UID:
            &konsolekalendar;-1128954167.1013
    --------------------------------------------------

#### Скорочений текстовий формат &konsolekalendar;

Скорочений текстовий формат — це компактніша згорнутіша версія рідного формату &konsolekalendar;.

Скорочений текстовий формат &konsolekalendar; виглядає так:

    [--------------------------------------------------]
    {<Дата події>(дддд рррр-ММ-дд)]
    [<Час початку події>(гг:хх) - <Час завершення події>(гг:хх) | "\t"]
    \t<Резюме події | \t>[, <Місце події>]
    \t\t<Опис події | "\t">

Приклад:

    --------------------------------------------------
    Вівторок 2003-11-01
    08:00 - 09:00   Робоча нарада, Конференц-зал
                    Зустріч з персоналом для обговорення проекту.

#### Формат значень, відокремлених комами (CSV)

У форматі значень, відокремлиних комами, значення запису події буде показано у тому ж порядку, що і у текстовому форматі &konsolekalendar;. Єдиною різницею є те, що всі відомості окремого запису буде подано у одного рядка зі значеннями, відокремленими комами. Отримані в результаті такого експорту файли, можна напряму імпортувати до програм електронних таблиць, на зразок &kspread;, OpenOffice.org Calc і &Microsoft; Excel. Крім того, формат CSV є простим для наступної обробки скриптами.

Формат значень, відокремлених комами (CSV):

    РРРР-ММ-ДД,ГГ:ХХ,РРРР-ММ-ДД,ГГ:ХХ,Резюме,Місце,Опис,UID

Приклад:

    2003-11-01,08:00,2003-11-01,09:00,Робоча зустріч,Конференц-зал,Зустріч у великому\
    конференц-залі з всім персоналом.,&konsolekalendar;-1128954167.1013

#### Формат &HTML;

За формату експорту &HTML; буде створено коректний файл &HTML;, придатний для опублікування у WWW. Цей формат експорту не придатний для наступної обробки скриптами, але дуже зручний для оприлюднення календарів для публічного перегляду.

ДОРОБИТИ: Вставити сюди знімок вікна

#### Формат HTMLmonth

За використання цього формату буде створено файл &HTML; з переліком усіх зустрічей протягом місяців, вказаних у діапазоні дат. Цей формат експорту не придатний для наступної обробки скриптами, але дуже зручний для оприлюднення календарів для публічного перегляду.

ДОРОБИТИ: Вставити сюди знімок вікна

### Імпорт календарів

&konsolekalendar; може імпортувати файли календарів iCal або vCal до календаря &kde;. Всі записи про події з імпортованого календаря буде вставлено, зокрема і ідентичні записи про події. У наступному випуску програми &konsolekalendar; ідентичні записи про події не будуть вставлятися повторно.

Щоб імпортувати файл календаря ``another.ics`` до календаря ``current.ics``, виконайте команду:

    % konsolekalendar --import another.ics --file current.ics

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

&konsolekalendar; підтримує такі параметри:

Параметр | Опис
`--help, --help-all` | Показує довідку з параметрів програми.
`--author` | Показує відомості про авторів програми.
`-v, --version` | Показує відомості щодо версії програми.
`--license` | Показує інформацію про ліцензування програми.
`--verbose` | Виводить корисні повідомлення під час виконання програми.
`--dry-run` | Виводить інформацію про те, що має бути зроблено, але при цьому програма не виконує жодних дій. Жодного файла не буде змінено, не буде виконано вставки, зміни вилучення будь-якого з існуючих файлів, а також не буде створено жодного нового файла.
`--allow-gui` | Дозволити ресурси, яким для роботи може знадобитися інтерактивний інтерфейс користувача. За звичайних операцій буде використано лише ресурси, яким ніколи не потрібно буде втручання користувача (наприклад, календарі у файлах).
`--file` `файл-календаря` | Вказує, який файл календаря слід використовувати. Якщо не вказано іншого, буде використано ваш типовий ресурс &korganizer;.
Головні режими роботи:
`--view` | Вивести події календаря у вказаному експортному форматі.
`--add` | Додає подію до календаря.
`--change` | Змінює існуючу подію з календаря.
`--delete` | Вилучає існуючу подію з календаря.
`--create` | Створити новий файл календаря, якщо такого файла ще не існує.
`--import` `імпортований-файл` | Імпортувати вказаний календар до основного календаря.
Модифікатори дій:
`--all` | Переглянути всі записи календаря.
`--next` | Переглянути наступну подію з календаря.
`--show-next` `кількість_днів` | Показати записи про події протягом вказаної кількості днів від поточного дня.
`--uid` `UID` | Переглянути, вилучити або змінити запис про подію з цим унікальним рядковим ідентифікатором (UID).
`--date` `дата` | Почати з вказаного дня [РРРР-ММ-ДД]. Типовою датою є поточний день
`--time` `час` | Почати з вказаного часу [ГГ:ХХ]. Типовим часом перегляду є 07:00. Щоб додати або змінити рухомий запис про подію, скористайтеся параметрами `--time float` та `--end-time float`.
`--end-date` `дата-завершення` | Завершити у цей день [РРРР-ММ-ДД]. Типове значення, встановлюється параметром `--date`.
`--end-time` `час-завершення` | Завершити у цей час [ГГ:ХХ]. Типовим часом завершення перегляду є 17:00. Щоб додати або змінити рухомий запис про подію, скористайтеся параметрами `--time float` та `--end-time float`.
`--epoch-start` `час-епохи` | Почати з вказаного часу [у секундах епохи].
`--epoch-end` `час-епохи` | Завершити у цей час [у секундах епохи].
`--summary` `резюме` | Додати резюме події (працює з add і change).
`--description` `опис` | Додати опис події (працює з add і change).
`--location` `місце` | Додати місце події (працює з add і change).
Параметри експорту:
`--export-type` `тип-експорту` | Експортувати до файла вказаного типу. Типовим типом файлів для експорту є «Text»
`--export-file` `файл-експорту` | Експортувати до файла. Типово, виведену інформацію буде записано до стандартного виводу інформації.
`--export-list` | Вивести список типів для експорту і завершити роботу програми.

## Запитання і відповіді

&reporting.bugs; &updating.documentation;

Які файли налаштувань використовує &konsolekalendar;?

Ніяких.

Яка назва виконуваного файла &konsolekalendar;?

Назвою виконуваного файла &konsolekalendar; є konsolekalendar.

За якою специфікацією слід вказувати дати?

&konsolekalendar; не зважатиме на дати, вказані у командному рядку, якщо їх не буде вказано відповідно до стандартів ISO 8601, а саме: РРРР-ММ-ДД. Де РРРР відповідає чотиризначному запису року (на зразок 2003), ММ відповідає двоцифровому запису місяця (01,02,..,12), а ДД відповідає двоцифровому запису дня (01,02,...,31).

&konsolekalendar; завжди експортує дати відповідно до формату ISO 8601.

За якою специфікацією слід вказувати час?

&konsolekalendar; не зважатиме на значення часу, вказані у командному рядку, якщо їх не буде вказано відповідно до стандартів ISO 8601, а саме: ГГ:ХХ:СС. Де ГГ відповідає двоцифровому запису годин (01,02,...,24), ХХ відповідає двоцифровому запису хвилин (01,02,..,60), а СС відповідає двоцифровому запису секунд (01,02,...,60).

&konsolekalendar; завжди експортує час відповідно до формату ISO 8601.

Чи буде &konsolekalendar; вставляти записи про події, які повністю збігаються з тими, які вже є у календарі?

Ні. Див. наступне питання.

Як &konsolekalendar; визначає, чи ідентичний запис про подію записові, який вже є у календарі?

&konsolekalendar; перевіряє вказані дату і час початку, дату і час завершення, а також резюме з відповідними даними записів про події з календаря. Записи про події вважатимуться ідентичними, якщо всі ці три значення збігатимуться зі значеннями існуючої події.

Чи можна зробити нерухому подію рухомою?

Так. Скористайтеся параметром `--time float` разом з параметром `--change`.

Чому у більшості з форматів експорту виводиться і UID?

Тому що, якщо вам потрібно вилучити або змінити подію, слід вказувати UID. Якщо ви не бажаєте бачити у виведеній інформації UID подій, скористайтеся типом експорту short (`--export-type short`).

Як додати своє питання до цих ЧаП?

Надсилайте ваші запитання за адресою електронної пошти winter@kde.org.

## Подяки і ліцензія

Авторські права на програму &konsolekalendar; належать (©2002–2007):

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter winter@kde.org

Авторські права на документацію до програми належать (©2003):

- Allen Winter winter@kde.org

- Tuukka Pasanenilluusio@mailcity.com

Переклад українською: Юрій Чорноіван yurchor@ukr.net

&underFDL; &underGPL;

## Встановлення

### Як отримати &konsolekalendar;

&install.intro.documentation;

&konsolekalendar; входить до складу &kde;4 і не постачається окремо.

### Вимоги

Для роботи &konsolekalendar; потрібно встановити стандартні бібліотеки &kde; (пакунки `kdelibs` і `kdepimlibs`). Крім того, щоб зібрати програму з початкових кодів, вам слід встановити пакунки для розробки &Qt;, `kdelibs` і `kdepimlibs`.

Зі списком змін ви можете ознайомитися у файлі `ChangeLog`.

### Налаштування

Для запуску &konsolekalendar; у стільниці &kde; не потрібні ніякі додаткові налаштування.

&documentation.index;