Fixed catching unnececcary exceptions
Exception Abort can't be thrown, so it is useless.
Catching SystemExit and KeyboardInterrupt makes little sense as the thread can
be terminated by KeyboardInterrupt before or after entering the wrapped command
processing function. So one have to handle these exceptions in his main function
anyway.
Catching any exception in order to print a message and re-raise it changes the
standard behaviour and might seem confusing.
#!/usr/bin/env python
import sys
from opster import command
opts = [('l', 'listen', 'localhost', 'ip to listen on'),
('p', 'port', 8000, 'port to listen on'),
('d', 'daemonize', False, 'daemonize process'),
('', 'pid-file', '', 'name of file to write process ID to')]
@command(opts, usage='[-l HOST] DIR')
def main(*dirs, **opts):
'''This is some command
It looks very similar to some serve command
'''
print locals()
@command(usage='[-l HOST] DIR')
def another(dirname,
listen=('l', 'localhost', 'ip to listen on'),
port=('p', 8000, 'port to listen on'),
daemonize=('d', False, 'daemonize process'),
pid_file=('', '', 'name of file to write process ID to'),
test=('t', lambda x: x or 'test', 'testing help for a function')):
'''Command with option declaration as keyword arguments
Otherwise it's the same as previous command
'''
print locals()
if __name__ == '__main__':
#main()
another()