FreeSource: AltLinux/Sisyphus/Alterator/shell

Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

alterator-sh-functions

Простейший бакенд выглядит следующим образом:

message_loop – основной цикл работы бакенда, on_message – вызывается при каждом новом запросе к бакенду. Входные параметры передаются через глобальные переменные с префиксом in_ (например $in_action).

Результатом работы функции on_message является печать выходных параметров постредством функций с префиксом write_.

Имена входных и выходных параметров могут состоять только из латинских букв, цифр и символа подчёркивания. Использование других символов недопустимо.

alterator_api_version – версия API, переменная обязательно должна определяться во всех новых бакендах. Текущее значение версии – 1.

Вывод

_ <строка> [<домен>]

перевод строки

Перевод осуществляется в зависимости от значения входного параметра language. Если домен не указан, используется значение глобальной переменной po_domain.

write_error <сообщение>

вывод сообщения об ошибке.

После вывод ошибки обязательно должна стоять инструкция для выхода из функции.

write_string_param <имя> <значение>

вывод значения параметра строкового типа.

write_bool_param <имя> <значение>

вывод значения параметра логического типа. <значения> отличные от yes, no, on, true или 1 (в любом регистре) считаются ложными.

write_enum_item <ключ> [<метка>]

вывод элемента списка значений для параметра перечислимого типа.

Вывод списка значений перечислимого типа обрабатывается отдельно. Недопустимо смешивать вывод значений перечислимого типа и других.

<ключ> — имя, один из вариантов текущего значения перечислимого типа которым пользуется бакенд. Вывод текущего значения осуществляется в отдельной секции при помощи функции write_string_param.

<метка> — описание значения, выводимое пользователю. Если метка не задана, то она считается равной <ключу>.

Пример:

write_enum

трансляция потока в вывод списка значений для параметра перечислимого типа.

Работает аналогично write_enum_item, но позволяет вывести сразу несколько вариантов.

Cписок принимается на стандартный ввод в виде строк вида: <ключ><разделитель><метка>

Вид <разделителя> управляется при помощи переменной среды IFS.

Отладка

write_debug <формат> [<параметры...>]

если выставленая переменная среды DEBUG, то печатается отладочная информация, иначе никакого вывода не происходит. Параметры такие же как и у функции printf.