MCPcopy Index your code
hub / github.com/cirosantilli/linux-kernel-module-cheat / _Argument

Class _Argument

cli_function.py:10–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8import sys
9
10class _Argument:
11 def __init__(
12 self,
13 long_or_short_1,
14 long_or_short_2=None,
15 default=None,
16 dest=None,
17 help=None,
18 nargs=None,
19 **kwargs
20 ):
21 self.args = []
22 # argparse is crappy and cannot tell us if arguments were given or not.
23 # We need that information to decide if the config file should override argparse or not.
24 # So we just use None as a sentinel.
25 self.kwargs = {'default': None}
26 shortname, longname, key, is_option = self.get_key(
27 long_or_short_1,
28 long_or_short_2,
29 dest
30 )
31 if shortname is not None:
32 self.args.append(shortname)
33 if is_option:
34 self.args.append(longname)
35 else:
36 self.args.append(key)
37 self.kwargs['metavar'] = longname
38 if default is not None and nargs is None:
39 self.kwargs['nargs'] = '?'
40 if dest is not None:
41 self.kwargs['dest'] = dest
42 if nargs is not None:
43 self.kwargs['nargs'] = nargs
44 if default is True or default is False:
45 bool_action = 'store_true'
46 self.is_bool = True
47 else:
48 self.is_bool = False
49 if default is None and (
50 nargs in ('*', '+')
51 or ('action' in kwargs and kwargs['action'] == 'append')
52 ):
53 default = []
54 if self.is_bool and not 'action' in kwargs:
55 self.kwargs['action'] = bool_action
56 if help is not None:
57 if default is not None:
58 if help[-1] == '\n':
59 if '\n\n' in help[:-1]:
60 help += '\n'
61 elif help[-1] == ' ':
62 pass
63 else:
64 help += ' '
65 help += 'Default: {}'.format(default)
66 self.kwargs['help'] = help
67 self.optional = (

Callers 1

add_argumentMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected