[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