Підручник з KonsoleKalendar

# Підручник з KonsoleKalendar

Tuukka Pasanen `<illuusio@mailcity.com>`

Allen Winter `<winterz@kde.org>`

Рецензент: Malcolm Hunter
Переклад українською: Юрій Чорноіван
версія 5.1.3 (Програми 16.12) (23 листопада 2016 року)

Авторське право © 2002, 2004 Tuukka Pasanen

Авторське право © 2003, 2007 Allen Winter

Правова примітка

KonsoleKalendar — це інтерфейс командного рядка для календарів KDE.

Розділ 1. Вступ
Вступ

# Розділ 1. Вступ

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

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

Основні можливості KonsoleKalendar:

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

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

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

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

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

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

- Імпорт наявного календаря

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

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

Розділ 2. Можливості
Можливості

# Розділ 2. Можливості

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

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

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

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

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

    % konsolekalendar

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

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

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

    % konsolekalendar --next

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

    % konsolekalendar --show-next 5

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

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

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

Отримати список усіх календарів разом із їхніми ідентифікаторами:

    % konsolekalendar --list-calendars

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

    % konsolekalendar --add --calendar 8 --date 2016-12-03 --time 10:00 \
    --end-time 12:00 --summary "Відвідання лікаря"

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

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

Приклад вставлення одного тижня відпустки до календаря із ідентифікатором 8:

    % konsolekalendar --add --calendar 12 --date 2017-08-01 \
    --end-date 2017-08-07 --summary "Відпустка" --description "І ніхто мене не знайде!"

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

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

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

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

### Застереження

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

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

    % konsolekalendar --delete --uid KonsoleKalendar-1887551750.196

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

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

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

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

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

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

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

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

KonsoleKalendar можна скористатися для створення календарів на основі наявних файлів. Ви можете створити календар за допомогою параметра `--create` із аргументом, назвою файла. Файл має бути коректним файлом у форматі iCal або vCal.

Зауваження: ви не зможете скористатися параметром `--dry-run` для тестування того, чи може бути створено ресурс.

Зауваження: KonsoleKalendar потрібен файл для роботи, отже ніколи не вилучайте файл вручну.

Технічне зауваження: KonsoleKalendar за допомогою цієї команди створює ресурс Akonadi, що вказує на файл. Програма не запобігає створенню декількох ресурсів, що посилаються на один і той самий файл.

Створення календаря на основі наявного файла із назвою ``vacation.ics``:

    % konsolekalendar --create vacation.ics

Ресурс буде названо «vacation» з використанням `--list-calendars`

За допомогою KonsoleKalendar не можна вилучати ресурси Akonadi. Для цього вам доведеться скористатися KOrganizer або akonadiconsole.

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

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

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

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

    % konsolekalendar --export-list

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

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

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

### Текстовий формат KonsoleKalendar

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

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

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

Output of `konsolekalendar `--next` `--export-type` `Text``:

    Дата:   Вівторок 2016-11-29
            08:00 - 09:00
    Короткий підсумок:
            Робоча нарада
    Місце проведення:
            Конференц-зал
    Опис:
            Зустріч з персоналом для обговорення проєкту.
    UID:
            KonsoleKalendar-1924621834.134
    --------------------------------------------------

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

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

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

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

Output of `konsolekalendar `--next` `--export-type` `Short``:

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

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

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

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

    "День тижня, День місяця, Рік","ГГ:ХХ","День тижня, День місяця, Рік","ГГ:ХХ","Резюме","Місце","Опис","UID"

Виведення команди `konsolekalendar `--next` `--export-type` `CSV``:

    "Вівторок, 29 листопада, 2016","08:00","Вівторок, 29 листопада, 2016","09:00","Робоча нарада","Конференц-зала","Нарада у великій конференц- \
    залі із усім персоналом.","KonsoleKalendar-1924621834.134"

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

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

KonsoleKalendar може імпортувати файли календарів iCal або vCal до календаря KDE. Всі записи про події з імпортованого календаря буде вставлено, буде пропущено ідентичні записи подій, які вже є частиною календаря.

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

    % konsolekalendar --import vacation.ics --calendar 8

Розділ 3. Параметри командного рядка
Параметри командного рядка

# Розділ 3. Параметри командного рядка

KonsoleKalendar підтримує такі параметри:

Параметр | Опис
--- | ---
Загальні параметри: |
`--help, --help-all` | Показує довідку з параметрів програми.
`--author` | Показує відомості про авторів програми.
`-v, --version` | Показує відомості щодо версії програми.
`--license` | Показує інформацію про ліцензування програми.
Параметри: |
`--verbose` | Виводить корисні повідомлення під час виконання програми.
`--dry-run` | Виводить інформацію про те, що має бути зроблено, але при цьому програма не виконує жодних дій. Жодного файла не буде змінено, не буде виконано вставки, зміни вилучення будь-якого з існуючих файлів, а також не буде створено жодного нового файла.
`--allow-gui` | Дозволити ресурси, яким для роботи може знадобитися інтерактивний інтерфейс користувача. За звичайних операцій буде використано лише ресурси, яким ніколи не потрібно буде втручання користувача (наприклад, календарі у файлах).
Типи подій (ці параметри можуть бути поєднані): |
`--event` | Тільки для подій (типовий).
`--todo` | Працювати лише із записами завдань. (Ще не реалізовано)
`--journal` | Працювати лише із записами журналів. (Ще не реалізовано)
Головні режими роботи: |
`--view` | Вивести події календаря у вказаному експортному форматі.
`--add` | Додає подію до календаря.
`--change` | Змінює існуючу подію з календаря.
`--delete` | Вилучає існуючу подію з календаря.
`--create` `назва_файла` | Створити календар з наявного файла.
`--import` `імпортований-файл` | Імпортувати вказаний календар до основного календаря.
`--list-calendars` | Показати список доступних календарів.
Модифікатори дій: |
`--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).
`--calendar` `ідентифікатор` | Вказує, який календар слід використовувати. Якщо не вказано іншого, буде використано ваш типовий ресурс KOrganizer.
Параметри експорту: |
`--export-type` `тип-експорту` | Експортувати до файла вказаного типу. Типовим типом файлів для експорту є «Text»
`--export-file` `файл-експорту` | Експортувати до файла. Типово, виведену інформацію буде записано до стандартного виводу інформації.
`--export-list` | Вивести список типів для експорту і завершити роботу програми.

Розділ 4. Запитання і відповіді
Запитання і відповіді

# Розділ 4. Запитання і відповіді

4.1. Які файли налаштувань використовує KonsoleKalendar?
4.2. Яка назва виконуваного файла KonsoleKalendar?
4.3. За якою специфікацією слід вказувати дати?
4.4. За якою специфікацією слід вказувати час?
4.5. Чи буде KonsoleKalendar вставляти записи про події, які повністю збігаються з тими, які вже є у календарі?
4.6. Як KonsoleKalendar визначає, чи ідентичний запис про подію записові, який вже є у календарі?
4.7. Чи можна зробити нерухому подію рухомою?
4.8. Чому у більшості з форматів експорту виводиться і UID?
4.9. Як додати своє питання до цих ЧаП?

4.1. | Які файли налаштувань використовує KonsoleKalendar?
| Ніяких.
4.2. | Яка назва виконуваного файла KonsoleKalendar?
| Назвою виконуваного файла KonsoleKalendar є konsolekalendar.
4.3. | За якою специфікацією слід вказувати дати?
| KonsoleKalendar не зважатиме на дати, вказані у командному рядку, якщо їх не буде вказано відповідно до стандартів ISO 8601, а саме: РРРР-ММ-ДД. Де РРРР відповідає чотиризначному запису року (на зразок 2003), ММ відповідає двоцифровому запису місяця (01,02,..,12), а ДД відповідає двоцифровому запису дня (01,02,...,31). KonsoleKalendar завжди експортує дати відповідно до формату ISO 8601.
4.4. | За якою специфікацією слід вказувати час?
| KonsoleKalendar не зважатиме на значення часу, вказані у командному рядку, якщо їх не буде вказано відповідно до стандартів ISO 8601, а саме: ГГ:ХХ:СС. Де ГГ відповідає двоцифровому запису годин (01,02,...,24), ХХ відповідає двоцифровому запису хвилин (01,02,..,60), а СС відповідає двоцифровому запису секунд (01,02,...,60). KonsoleKalendar завжди експортує час відповідно до формату ISO 8601.
4.5. | Чи буде KonsoleKalendar вставляти записи про події, які повністю збігаються з тими, які вже є у календарі?
| Ні. Див. наступне питання.
4.6. | Як KonsoleKalendar визначає, чи ідентичний запис про подію записові, який вже є у календарі?
| KonsoleKalendar перевіряє вказані дату і час початку, дату і час завершення, а також резюме з відповідними даними записів про події з календаря. Записи про події вважатимуться ідентичними, якщо всі ці три значення збігатимуться зі значеннями існуючої події.
4.7. | Чи можна зробити нерухому подію рухомою?
| Так. Скористайтеся параметром `--time float` разом з параметром `--change`.
4.8. | Чому у більшості з форматів експорту виводиться і UID?
| Тому що, якщо вам потрібно вилучити або змінити подію, слід вказувати UID. Якщо ви не бажаєте бачити у виведеній інформації UID подій, скористайтеся типом експорту short (`--export-type short`).
4.9. | Як додати своє питання до цих ЧаП?
| Надсилайте ваші запитання за адресою електронної пошти `(winter AT kde.org)`.

Розділ 5. Подяки і ліцензія
Подяки і ліцензія

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

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

- Tuukka Pasanen `(illuusio AT mailcity.com)`

- Allen Winter `(winter AT kde.org)`

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

- Allen Winter `(winter AT kde.org)`

- Tuukka Pasanen `(illuusio AT mailcity.com)`

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

Цей документ поширюється за умов дотримання GNU Free Documentation License.

Ця програма поширюється за умов дотримання GNU General Public License.