Exemplo n.º 1
0
 def test_parse_option_with_shortcut(self):
     command, args = Parser.parse('cmd:name {--O|opt : description}')
     self.assertEqual(command, 'cmd:name')
     self.assertEqual('opt', args['opt'].name)
     self.assertEqual('O', args['opt'].shortcut)
     self.assertEqual('description', args['opt'].description)
     self.assertTrue(args['opt'].is_optional)
Exemplo n.º 2
0
 def test_parse_option_with_default_value(self):
     command, args = Parser.parse('cmd:name {--opt : desc} {--opt2=test}')
     self.assertEqual(command, 'cmd:name')
     self.assertEqual('opt', args['opt'].name)
     self.assertEqual('desc', args['opt'].description)
     self.assertTrue(args['opt'].is_optional)
     self.assertEqual('opt2', args['opt2'].name)
     self.assertEqual('test', args['opt2'].default)
     self.assertTrue(args['opt2'].is_optional)
Exemplo n.º 3
0
 def test_parse_optional_argument_and_default_value(self):
     command, args = Parser.parse('cmd:name {arg1?} {arg2=testing}')
     self.assertEqual(command, 'cmd:name')
     self.assertEqual('arg1', args['arg1'].name)
     self.assertTrue(args['arg1'].is_optional)
     self.assertIsNone(args['arg1'].default)
     self.assertEqual('arg2', args['arg2'].name)
     self.assertTrue(args['arg2'].is_optional)
     self.assertEqual('testing', args['arg2'].default)
Exemplo n.º 4
0
 def load_from_path(self, path, prefix='Silo.Console.Commands.'):
     loaded = {}
     packages = pkgutil.walk_packages([path], prefix)
     for finder, module_name, is_pkg in packages:
         if not is_pkg:
             imported = importlib.import_module(module_name)
             module = getattr(imported, module_name.split('.')[-1])
             instance = module()
             name, params = Parser.parse(instance.signature)
             loaded[name] = {
                 'module': module,
                 'instance': instance,
                 'name': name,
                 'params': params,
                 'signature': instance.signature,
                 'description': 'example description'
             }
     return loaded
Exemplo n.º 5
0
 def setUp(self):
     self.cmd = Command()
     self.cmd.signature = 'example:cmd { arg1 } {--opt1}'
     name, params = Parser.parse(self.cmd.signature)
     self.cmd._params = params
     self.cmd._values = Namespace(arg1='test arg1', opt1='test opt1')
Exemplo n.º 6
0
 def test_parse_arguments_and_options(self):
     command, args = Parser.parse('cmd:name {argument} {--option}')
     self.assertEqual(command, 'cmd:name')
     self.assertEqual('argument', args['argument'].name)
     self.assertEqual('option', args['option'].name)
Exemplo n.º 7
0
 def test_parse_description(self):
     command, args = Parser.parse('cmd:name {example : Example desc }')
     self.assertEqual(command, 'cmd:name')
     self.assertEqual('Example desc', args['example'].description)
Exemplo n.º 8
0
 def test_parse_command_only(self):
     command, args = Parser.parse('cmd:name ')
     self.assertEqual(command, 'cmd:name')