[Devel-conf] I: idl - окончательный вариант
Peter V. Saveliev
=?iso-8859-1?q?peet_=CE=C1_altlinux=2Eorg?=
Ср Окт 31 12:51:38 MSK 2007
On Wednesday 31 October 2007, Stanislav Ievlev wrote:
> Просмотрел множество существующих вариантов и ни один меня не устроил ;)
>
<skip />
>
> Отсюда мораль, нужно что-то совсем примитивное для того чтобы любой
> человек мог этим воспользоваться.
>
> Предлагаю формат такой:
> Есть несколько секций, каждая секция описывает свой фрагмент дерева.
> Содержимое каждой секции:
> /path/inside/tree nodeparam1 nodeparam2
> type1 name1 argparam1
> type2 name2 argparam2
>
> Например:
> /net-general
> hostname host
> domainname domain
>
> /users list name
> string name required
> integer uid readonly
> string password writeonly
>
> Надеюсь идея понятна.
<skip />
Сразу думаю, как это картировать на подобный формат, который используется у
меня:
8<---------------------------------------------------------------------
class catch (command):
'''
Catch an event
'''
mask = flags.Begin | flags.Transparent
parameters = {
"$1": {
"type": "string",
"description": "Signal ID",
"name": "sigid",
},
"if": {
"type": "word",
"description": "Signal field match",
"mask": pmask.Optional | pmask.List,
"name": "condition",
}
}
...
8<---------------------------------------------------------------------
Чего мне в твоём формате не хватает на беглый взгляд:
* описания узла
* описания параметров
Оба этих свойства важны только для автоматических интерфейсов вроде командной
строки -> можно обойтись, в принципе, ну, будут альтераторовские модули без
inline help у меня -- так хоть как-то будут, уже хорошо
Что ещё?
Не хватает свойств самого узла -- для меня это было бы гораздо интереснее.
Т.е. свойств узла /path/inside/tree. Просто свойств, у меня по малости
набежал целый их список
(http://www.radlinux.org/connexion/browser/branches/0.4.4/shell/utils/flags.py)
...
Но всё это -- МЕЛОЧИ. Самое главное -- появится схема как таковая, с описанием
узлов и переменных и их типов.
Я до сих пор не понимаю, как ты собираешься использовать это в alterator (ну,
тупой я, что поделаешь :) ), но если будет такая схема + бэкенд -> то
подхватить эту конструкцию можно будет очень незатейливо.
...
Короче, я -- очень за.
--
Peter V. Saveliev
Подробная информация о списке рассылки devel-conf