[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