Skip to content

Commit

Permalink
[ADD] DCOS-2274
Browse files Browse the repository at this point in the history
[FIX] fix from comment

[FIX] use "Command Not Recognised. Usage below" instead "Please see Usage "

[FIX] chenge message
  • Loading branch information
Kyryl Truskovskyi committed Aug 19, 2015
1 parent 9e35599 commit 3e66e12
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 0 deletions.
2 changes: 2 additions & 0 deletions cli/dcoscli/config/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
from dcos import cmds, config, emitting, http, jsonitem, subcommand, util
from dcos.errors import DCOSException
from dcoscli import analytics
from dcoscli.main import decorate_docopt_usage

emitter = emitting.FlatEmitter()
logger = util.get_logger(__name__)
Expand All @@ -45,6 +46,7 @@ def main():
return 1


@decorate_docopt_usage
def _main():
util.configure_process_from_environ()

Expand Down
2 changes: 2 additions & 0 deletions cli/dcoscli/help/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
from concurrent.futures import ThreadPoolExecutor
from dcos import cmds, emitting, options, subcommand, util
from dcos.errors import DCOSException
from dcoscli.main import decorate_docopt_usage

emitter = emitting.FlatEmitter()
logger = util.get_logger(__name__)
Expand All @@ -28,6 +29,7 @@ def main():
return 1


@decorate_docopt_usage
def _main():
util.configure_process_from_environ()

Expand Down
22 changes: 22 additions & 0 deletions cli/dcoscli/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import os
import signal
import sys
from functools import wraps
from subprocess import PIPE, Popen

import dcoscli
Expand Down Expand Up @@ -130,3 +131,24 @@ def signal_handler(signal, frame):
emitter.publish(
errors.DefaultError("User interrupted command with Ctrl-C"))
sys.exit(0)


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
2 changes: 2 additions & 0 deletions cli/dcoscli/marathon/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
from dcos import cmds, emitting, http, jsonitem, marathon, options, util
from dcos.errors import DCOSException
from dcoscli import tables
from dcoscli.main import decorate_docopt_usage

logger = util.get_logger(__name__)
emitter = emitting.FlatEmitter()
Expand All @@ -121,6 +122,7 @@ def main():
return 1


@decorate_docopt_usage
def _main():
util.configure_process_from_environ()

Expand Down
2 changes: 2 additions & 0 deletions cli/dcoscli/node/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
from dcos import cmds, emitting, errors, mesos, util
from dcos.errors import DCOSException, DefaultError
from dcoscli import log, tables
from dcoscli.main import decorate_docopt_usage

logger = util.get_logger(__name__)
emitter = emitting.FlatEmitter()
Expand All @@ -43,6 +44,7 @@ def main():
return 1


@decorate_docopt_usage
def _main():
util.configure_process_from_environ()

Expand Down
2 changes: 2 additions & 0 deletions cli/dcoscli/package/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
util)
from dcos.errors import DCOSException
from dcoscli import tables
from dcoscli.main import decorate_docopt_usage

logger = util.get_logger(__name__)
emitter = emitting.FlatEmitter()
Expand All @@ -28,6 +29,7 @@ def _doc():
'data/help/package.txt').decode('utf-8')


@decorate_docopt_usage
def _main():
util.configure_process_from_environ()

Expand Down
2 changes: 2 additions & 0 deletions cli/dcoscli/service/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
from dcos import cmds, emitting, marathon, mesos, package, util
from dcos.errors import DCOSException, DefaultError
from dcoscli import log, tables
from dcoscli.main import decorate_docopt_usage

logger = util.get_logger(__name__)
emitter = emitting.FlatEmitter()
Expand All @@ -56,6 +57,7 @@ def main():
return 1


@decorate_docopt_usage
def _main():
util.configure_process_from_environ()

Expand Down
2 changes: 2 additions & 0 deletions cli/dcoscli/task/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
from dcos import cmds, emitting, mesos, util
from dcos.errors import DCOSException, DCOSHTTPException, DefaultError
from dcoscli import log, tables
from dcoscli.main import decorate_docopt_usage

logger = util.get_logger(__name__)
emitter = emitting.FlatEmitter()
Expand All @@ -43,6 +44,7 @@ def main():
return 1


@decorate_docopt_usage
def _main():
util.configure_process_from_environ()

Expand Down

0 comments on commit 3e66e12

Please sign in to comment.