[Python-Dev] New Module: CommandLoop

Bob Ippolito bob at redivi.com
Mon Feb 20 02:24:04 CET 2006


On Feb 19, 2006, at 5:03 PM, Raymond Hettinger wrote:

>>>         @cmdloop.aliases('goodbye')
>>>         @cmdloop.shorthelp('say goodbye')
>>>         @cmdloop.usage('goodbye TARGET')
>>>
>>> to just:
>>>
>>>         @cmdloop.addspec(aliases=['goodbye'], shorthelp ='say  
>>> goodbye',
>>> usage='goodbye TARGET')
>>>
>>> leaving the possibility of multiple decorators when one line gets  
>>> to long:
>>>
>>>         @cmdloop.addspec(aliases=['goodbye'], shorthelp ='say  
>>> goodbye')
>>>         @cmdloop.addspec(usage='goodbye TARGET  # where TARGET is  
>>> a filename
>>> in
>>> the current directory')
>
>> Well, why not support both, and leave it up to the user?
>
> Having only one method keeps the API simple.  Also, the addspec()  
> approach
> allows the user to choose between single and multiple lines.
>
> BTW, addspec() could be made completely general by supporting all  
> possible
> keywords at once:
>
> def addspec(**kwds):
>     def decorator(func):
>         func.__dict__.update(kwds)
>         return func
>     return decorator
>
> With an open definition like that, users can specify new attributes  
> with less
> effort.

Doesn't this discussion belong on c.l.p / python-list?

-bob



More information about the Python-Dev mailing list