Files
deb-python-dcos/cli/dcoscli/util.py
2016-03-30 10:18:07 -07:00

28 lines
580 B
Python

from functools import wraps
import docopt
from dcos import emitting
emitter = emitting.FlatEmitter()
def decorate_docopt_usage(func):
"""Handle DocoptExit exception
:param func: function
:type func: function
:return: wrapped function
:rtype: function
"""
@wraps(func)
def wrapper(*args, **kwargs):
try:
result = func(*args, **kwargs)
except docopt.DocoptExit as e:
emitter.publish("Command not recognized\n")
emitter.publish(e)
return 1
return result
return wrapper