本文整理汇总了Python中cliff.app.App类的典型用法代码示例。如果您正苦于以下问题:Python App类的具体用法?Python App怎么用?Python App使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了App类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_show_help_for_help
def test_show_help_for_help():
# FIXME(dhellmann): Are commands tied too closely to the app? Or
# do commands know too much about apps by using them to get to the
# command manager?
stdout = StringIO()
app = App('testing', '1',
utils.TestCommandManager(utils.TEST_NAMESPACE),
stdout=stdout)
app.NAME = 'test'
app.options = mock.Mock()
help_cmd = HelpCommand(app, mock.Mock())
parser = help_cmd.get_parser('test')
parsed_args = parser.parse_args([])
try:
help_cmd.run(parsed_args)
except SystemExit:
pass
help_text = stdout.getvalue()
basecommand = os.path.split(sys.argv[0])[1]
assert 'usage: %s [--version]' % basecommand in help_text
assert 'optional arguments:\n --version' in help_text
expected = (
' one Test command.\n'
' three word command Test command.\n'
)
assert expected in help_text
示例2: test_fuzzy_no_prefix
def test_fuzzy_no_prefix():
# search by distance, no common prefix with any command
cmd_mgr = CommandManager('cliff.fuzzy')
app = App('test', '1.0', cmd_mgr)
cmd_mgr.add_command('user', utils.TestCommand)
matches = app.get_fuzzy_matches('uesr')
assert matches == ['user']
示例3: test_fuzzy_common_prefix
def test_fuzzy_common_prefix():
# searched string is a prefix of all commands
cmd_mgr = CommandManager('cliff.fuzzy')
app = App('test', '1.0', cmd_mgr)
cmd_mgr.commands = {}
cmd_mgr.add_command('user list', utils.TestCommand)
cmd_mgr.add_command('user show', utils.TestCommand)
matches = app.get_fuzzy_matches('user')
assert matches == ['user list', 'user show']
示例4: test_fuzzy_same_distance
def test_fuzzy_same_distance():
# searched string has the same distance to all commands
cmd_mgr = CommandManager('cliff.fuzzy')
app = App('test', '1.0', cmd_mgr)
cmd_mgr.add_command('user', utils.TestCommand)
for cmd in cmd_mgr.commands.keys():
assert damerau_levenshtein('node', cmd, COST) == 8
matches = app.get_fuzzy_matches('node')
assert matches == ['complete', 'help', 'user']
示例5: test_list_matching_commands
def test_list_matching_commands():
stdout = StringIO()
app = App('testing', '1',
utils.TestCommandManager(utils.TEST_NAMESPACE),
stdout=stdout)
app.NAME = 'test'
try:
assert app.run(['t']) == 2
except SystemExit:
pass
output = stdout.getvalue()
assert "test: 't' is not a test command. See 'test --help'." in output
assert 'Did you mean one of these?' in output
assert 'three word command\n two words\n' in output
示例6: test_show_help_for_command
def test_show_help_for_command():
# FIXME(dhellmann): Are commands tied too closely to the app? Or
# do commands know too much about apps by using them to get to the
# command manager?
stdout = StringIO()
app = App('testing', '1', TestCommandManager('cliff.test'), stdout=stdout)
app.NAME = 'test'
help_cmd = HelpCommand(app, mock.Mock())
parser = help_cmd.get_parser('test')
parsed_args = parser.parse_args(['one'])
try:
help_cmd.run(parsed_args)
except SystemExit:
pass
assert stdout.getvalue() == 'TestParser'
示例7: test_list_deprecated_commands
def test_list_deprecated_commands():
# FIXME(dhellmann): Are commands tied too closely to the app? Or
# do commands know too much about apps by using them to get to the
# command manager?
stdout = StringIO()
app = App('testing', '1',
utils.TestCommandManager(utils.TEST_NAMESPACE),
stdout=stdout)
app.NAME = 'test'
try:
app.run(['--help'])
except SystemExit:
pass
help_output = stdout.getvalue()
assert 'two words' in help_output
assert 'three word command' in help_output
assert 'old cmd' not in help_output
示例8: build_option_parser
def build_option_parser(self, description, version, argparse_kwargs=None):
parser = CliffApp.build_option_parser(self, description, version, argparse_kwargs)
for k, v in self.args_def.iteritems():
parser.add_argument(
*((['-{}'.format(v['short'])] if 'short' in v else []) + ['--{}'.format(k)]),
**v.get('info', {})
)
return parser
示例9: build_option_parser
def build_option_parser(self, description, version):
parser = App.build_option_parser(self, description, version)
parser.add_argument(
'-c', '--control',
dest='control',
default='ipc://control.sock',
help='Endpoint for nrv control.',
)
return parser
示例10: test_list_matching_commands_no_match
def test_list_matching_commands_no_match():
# FIXME(dhellmann): Are commands tied too closely to the app? Or
# do commands know too much about apps by using them to get to the
# command manager?
stdout = StringIO()
app = App('testing', '1', TestCommandManager('cliff.test'), stdout=stdout)
app.NAME = 'test'
help_cmd = HelpCommand(app, mock.Mock())
parser = help_cmd.get_parser('test')
parsed_args = parser.parse_args(['z'])
try:
help_cmd.run(parsed_args)
except SystemExit:
pass
except ValueError:
pass
else:
assert False, 'Should have seen a ValueError'
示例11: test_list_matching_commands
def test_list_matching_commands():
# FIXME(dhellmann): Are commands tied too closely to the app? Or
# do commands know too much about apps by using them to get to the
# command manager?
stdout = StringIO()
app = App('testing', '1', TestCommandManager('cliff.test'), stdout=stdout)
app.NAME = 'test'
help_cmd = HelpCommand(app, mock.Mock())
parser = help_cmd.get_parser('test')
parsed_args = parser.parse_args(['t'])
try:
help_cmd.run(parsed_args)
except SystemExit:
pass
help_output = stdout.getvalue()
assert 'Command "t" matches:' in help_output
assert 'two' in help_output
assert 'three' in help_output
示例12: test_show_help_for_help
def test_show_help_for_help():
# FIXME(dhellmann): Are commands tied too closely to the app? Or
# do commands know too much about apps by using them to get to the
# command manager?
stdout = StringIO()
app = App('testing', '1',
utils.TestCommandManager(utils.TEST_NAMESPACE),
stdout=stdout)
app.NAME = 'test'
help_cmd = HelpCommand(app, mock.Mock())
parser = help_cmd.get_parser('test')
parsed_args = parser.parse_args([])
try:
help_cmd.run(parsed_args)
except SystemExit:
pass
help_text = stdout.getvalue()
assert 'usage: test help [-h]' in help_text
示例13: test_show_help_print_exc_with_ep_load_fail
def test_show_help_print_exc_with_ep_load_fail(mock_load):
stdout = StringIO()
app = App('testing', '1',
utils.TestCommandManager(utils.TEST_NAMESPACE),
stdout=stdout)
app.NAME = 'test'
app.options = mock.Mock()
app.options.debug = True
help_cmd = HelpCommand(app, mock.Mock())
parser = help_cmd.get_parser('test')
parsed_args = parser.parse_args([])
try:
help_cmd.run(parsed_args)
except SystemExit:
pass
help_output = stdout.getvalue()
assert 'Commands:' in help_output
assert 'Could not load' in help_output
assert 'Exception: Could not load EntryPoint' in help_output
示例14: test_fuzzy_no_commands
def test_fuzzy_no_commands():
cmd_mgr = CommandManager('cliff.fuzzy')
app = App('test', '1.0', cmd_mgr)
cmd_mgr.commands = {}
matches = app.get_fuzzy_matches('foo')
assert matches == []
示例15: __init__
def __init__(self, args_def=None, stdin=None, stdout=None, stderr=None,
interactive_app_factory=InteractiveApp):
self.__args_def = args_def or {}
CliffApp.__init__(self, 'djehuty', __version__, CommandManager('djehuty.commands'),
stdin=stdin, stdout=stdout, stderr=stderr,
interactive_app_factory=interactive_app_factory)