Alterator/woo

Материал из ALT Linux Wiki
< Alterator
Версия от 16:00, 28 июля 2008; MichaelShigorin (обсуждение | вклад) (Import from freesource.info)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Тут приведены основные форматы woo-команд для использования из интерфейсов: Все функции выполняющие запросы к бакендам возвращают список команд:

  • (woo-list 'url 'param 'value ...) - вызывает функцию list для запроса списка подобъектов у бакэнда.
  • (woo-read 'url 'param 'value.. ) - читает некоторые данные для указанного объекта (функция read)
  • (woo-write 'url 'param 'value.. ) - пишет некоторые данные в указанный объект (фунция write)
  • (woo-new 'url 'param 'value..) - cоздает некий обьект (функция new)
  • (woo-delete 'url 'param 'value) - уничтожает некий обьект (функция delete)

Все эти функции могут кинуть исключение типа woo-error, в случае если бакенд сообщит об ошибке. Для более удобной работы именно с этим типом исключения существует функция woo-catch (обычный catch может использоваться с любыми видами исключений). Также доступны:

  • woo-catch/message - вариант woo-catch где обработчик ошибки состоит в выдаче окна с сообщением и возврата значения #f.
  • woo-throw - выбрасывает исключение типа woo-error.


Для более удобного вытаскивания имени подобъекта существует функция woo-extract-name. Для более удобного вытаскивания первой команды из ответа существует команда woo-first-command.

  • woo-list-names - делает запрос list к бакенду и возвращает список имён подобъектов (без параметров)
  • woo-read-first - считывает данные для указанного объекта. Композиция woo-read и woo-first-command.
  • woo-get-option - возвращает значение параметра из ответа бакенда, возможно задание ответа по-умолчанию.

TODO

  • woo-leaf-props: родом из vm/functions.scm
(define (woo-leaf-props url . args)
  (car (apply woo 'props url 'props args)))