# Руководство &konsolekalendar;

Tuukka Pasanen

    illuusio@mailcity.com

Allen Winter

    awinterz@users.sourceforge.net

Malcolm Hunter

    malcolm.hunter@gmx.co.uk

Рецензент
Nick

    blindguard@mtu-net.ru

Олег Баталов

    olegbatalov@mail.ru

2002 2004 Tuukka Pasanen
2003 2004 Allen Winter
&FDLNotice;
2004-04-15
1.1.1

&konsolekalendar; - это интерфейс командной строки для работы с календарями &kde;

KDE &package; &kappname; KOrganizer

## Введение

&konsolekalendar; — это интерфейс командной строки для работы с календарями &kde;. Он позволяет просматривать, создавать, удалять и изменять записи в календаре из командной строки или с помощью языка сценариев. Также &konsolekalendar; может экспортировать календарь &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 часов и заканчивающееся в 12, с названием "Посещение врача" вставляется в календарь пользователя по умолчанию:

    % konsolekalendar --add --date 2003-06-04 --time 10:00 \
    --end-time 12:00 --summary "Посещение врача"

В этом примере мы добавим день рождения в ресурс календаря пользователя по умолчанию:

    % konsolekalendar --add --date 2003-06-06 --summary "Мой день рождения" \
    --description "Время праздника"

В этом примере в календарь пользователя вносится выходной:

    % 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; это:

    Date:\t<Дата>(dddd yyyy-MM-dd)
    [\t<Время начала>(hh:mm) - <Время окончания>(hh:mm)]
    Summary:
    \t<Название | "(без названия)">
    Location:
    \t<Место  | "(нет места)">
    Description:
    \t<Описание| "(нет описания)">
    UID:
    \t<UID>
    --------------------------------------------------

Например:

    Date:   Tuesday 2003-11-01
            08:00 - 09:00
    Summary:
            Общая встреча
    Location:
            Конференц зал
    Description:
            Встреча со всеми участниками проекта для его обсуждения.
    UID:
            &konsolekalendar;-1128954167.1013
    --------------------------------------------------

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

Краткий текстовый формат более компактен чем формат &konsolekalendar; по умолчанию.

Короткий текстовый формат &konsolekalendar; это:

    [--------------------------------------------------]
    {<Дата>(dddd yyyy-MM-dd)]
    [<Время начала>(hh:mm) - <Время окончания>(hh:mm) | "\t"]
    \t<Краткое описание | \t>[, <Место>]
    \t\t<Описание | "\t">

Например:

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

#### Формат значений, разделённых запятыми (CSV)

Формат значений, разделённых запятыми, показывает значения событий в том же порядке, что формат текста &konsolekalendar;. Единственное отличие состоит в том, что вся информация помещается в одну строку в виде полей, которые разделены запятыми. Экспортированные файлы могут быть импортированы непосредственно в программы электронных таблиц типа &kspread;, OpenOffice.org Calc и &Microsoft; Excel. Формат CSV также прост для обработки в сценариях.

Формат значений, разделённых запятыми (CSV) это:

    YYYY-MM-DD,HH:MM,YYYY-MM-DD,HH:MM,Summary,Location,Description,UID

Например:

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

#### Формат HTML

Формат экспорта HTML создаёт корректный файл HTML, который может быть опубликован в WWW. Этот формат экспорта не подходит для последующего синтаксического анализа в сценариях, но очень удобен для публикации календарей и лёгкого их просмотра.

TODO: Вставить сюда снимок экрана

### Импорт календарей

&konsolekalendar; может импортировать в календарь &kde; файлы формата ICS. Все события импортируемого календаря будут вставлены, включая идентичные события. В следующей версии &konsolekalendar; идентичные события вставляться не будут.

Для импорта файла календаря`another.ics` в календарь`current.ics` выполните:

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

## Опции командной строки

&konsolekalendar; поддерживает следующие опции командной строки:

Опция | Описание
--- | ---
`--help, --help-all` | Показать справку о опциях программы.
`--author` | Показать информацию об авторе программы.
`-v, --version` | Показать информацию о версии программы.
`--license` | Показать информацию о лицензии.
`--verbose` | Показать подробные отладочные сообщения.
`--dry-run` | Показывает, что могло бы быть сделано, не изменяя записи, не добавляя и не удаляя их из календаря. Не изменяются и не создаются новые файлы.
`--file` calendar-file | Указывает файл календаря, который будет использоваться. Если не указан, будет использоваться ваш ресурс &korganizer; по умолчанию.
Некоторые режимы операций:
`--view` | Вывести события календаря в указанном формате.
`--add` | Добавить событие в календарь.
`--change` | Изменить в календаре существующее событие.
`--delete` | Удалить из календаря существующее событие.
`--create` | Создать новый файл календаря, если он не существует.
`--import` import-file | Импорт указанного календаря в основной календарь.
Модификаторы операций
`--all` | Показать все записи календаря.
`--next` | Показать следующее событие календаря.
`--show-next` days | Показать следующее количество дней начиная с указанного.
`--uid` UID | Показать, удалить или изменить событие с указанным идентификатором.
`--date` date | Начать с указанного дня (ГГГГ-ММ-ДД). По умолчанию - сегодня.
`--time` time | Начать с этого времени (ЧЧ:ММ). По умолчанию 7:00. Для создания или изменения неточного события, используйте опции `--time float` или `--end-time float`.
`--end-date` end-date | Закончить указанной датой (ГГГГ-ММ-ДД). По умолчанию устанавливается --date.
`--end-time` end-time | Закончить указанным временем(ЧЧ:ММ). По умолчанию - 17:00 Для создания или изменения неточного события, используйте опции `--time float` или `--end-time float`.
`--epoch-start` epoch-time | Начать с указанного времени [секунды с начала эпохи].
`--epoch-end` epoch-time | Закончить на указанном времени [секунды с начала эпохи].
`--summary` summary | Добавить название к событию (работает с add и change).
`--description` description | Добавить описание к событию (работает с add и change).
`--location` место | Добавить место события (работает с add и change).
Опции экспорта:
`--export-type` export-type | Тип файла для экспорта. По умолчанию тип "Текст".
`--export-file` 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 события, используйте краткий формат экспорта (`--export-type short`).

Как я могу добавить вопрос в этот FAQ?

Пошлите его по адресу illuusio@lycos.com.

## Авторские права и лицензия

&konsolekalendar; Авторские права на программу 2002,2003:

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter awinterz@users.sourceforge.net

Авторские права на документацию 2003:

- Allen Winter awinterz@users.sourceforge.net

- Tuukka Pasanenilluusio@mailcity.com

Перевод на русский язык: Олег Баталовolegbatalov@mail.ru

&underFDL; &underGPL;

## Установка

### Как получить &konsolekalendar;

&install.intro.documentation;

&konsolekalendar; поставляется с &kde;3 и недоступен отдельно.

### Требования

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

Вы можете найти список изменений в файле `ChangeLog`.

### Компиляция и установка

Этот раздел содержит краткий обзор процесса компиляции. Подробные инструкции по компиляции смотрите вКомпиляция &kde; 3.2.x.

Если вы не нашли подходящий собранный пакет, вам необходимо скомпилировать &konsolekalendar; из исходных файлов. Скачайте файл `kdepim-x.x.tar.bz2`. Распакуйте его командой ``tar` `xvfj kdepim-x.x.tar.bz2`` и перейдите в созданный каталог.

&install.compile.documentation;

Если у вас установлено несколько версий &kde; (например &kde;2 и &kde;3), вы можете установить &konsolekalendar; не в тот каталог &kde;. Если необходимо, вы можете задать каталог &kde; как параметр. Например, если &kde; установлен в `/opt/kde3`:

``./configure` --prefix=/opt/kde3`

### Настройки

Никакой настройки &konsolekalendar; не требуется.

&documentation.index;