| Conditions | 1 |
| Total Lines | 65 |
| Code Lines | 54 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | # -*- coding: utf-8 -*- |
||
| 142 | def _add_subparsers(self): |
||
| 143 | parser_ssh = self._subparsers.add_parser( |
||
| 144 | 'ssh', help='Use SSH to connect to service', |
||
| 145 | parents=[self._root_parser]) |
||
| 146 | |||
| 147 | parser_ssh.add_argument('--hostname', required=True, |
||
| 148 | help='Hostname or IP address') |
||
| 149 | parser_ssh.add_argument('--port', required=False, |
||
| 150 | help='SSH port (default: %(default)s)') |
||
| 151 | parser_ssh.add_argument('--ssh-username', |
||
| 152 | help='SSH username (default: %(default)r)') |
||
| 153 | parser_ssh.add_argument('--ssh-password', |
||
| 154 | help='SSH password (default: %(default)r)') |
||
| 155 | |||
| 156 | parser_ssh.set_defaults( |
||
| 157 | port=int(self._config.get('ssh', 'port', fallback=22)), |
||
| 158 | ssh_username=self._config.get('ssh', 'username', fallback='gmp'), |
||
| 159 | ssh_password=self._config.get('ssh', 'password', fallback='gmp'), |
||
| 160 | ) |
||
| 161 | |||
| 162 | parser_tls = self._subparsers.add_parser( |
||
| 163 | 'tls', help='Use TLS secured connection to connect to service', |
||
| 164 | parents=[self._root_parser]) |
||
| 165 | parser_tls.add_argument('--hostname', required=True, |
||
| 166 | help='Hostname or IP address') |
||
| 167 | parser_tls.add_argument('--port', required=False, |
||
| 168 | help='GMP/OSP port (default: %(default)s)') |
||
| 169 | parser_tls.add_argument( |
||
| 170 | '--certfile', required=False, |
||
| 171 | help='Path to the certificate file for client authentication. ' |
||
| 172 | '(default: %(default)s)') |
||
| 173 | parser_tls.add_argument( |
||
| 174 | '--keyfile', required=False, |
||
| 175 | help='Path to key file for client authentication. ' |
||
| 176 | '(default: %(default)s)') |
||
| 177 | parser_tls.add_argument( |
||
| 178 | '--cafile', required=False, |
||
| 179 | help='Path to CA certificate for server authentication. ' |
||
| 180 | '(default: %(default)s)') |
||
| 181 | parser_tls.add_argument( |
||
| 182 | '--no-credentials', required=False, default=False, |
||
| 183 | help='Use only certificates for authentication') |
||
| 184 | parser_tls.set_defaults( |
||
| 185 | port=int(self._config.get( |
||
| 186 | 'tls', 'port', fallback=DEFAULT_GVM_PORT)), |
||
| 187 | certfile=self._config.get('tls', 'certfile', fallback=None), |
||
| 188 | keyfile=self._config.get('tls', 'keyfile', fallback=None), |
||
| 189 | cafile=self._config.get('tls', 'cafile', fallback=None), |
||
| 190 | ) |
||
| 191 | |||
| 192 | parser_socket = self._subparsers.add_parser( |
||
| 193 | 'socket', help='Use UNIX Domain socket to connect to service', |
||
| 194 | parents=[self._root_parser]) |
||
| 195 | |||
| 196 | socketpath_group = parser_socket.add_mutually_exclusive_group() |
||
| 197 | socketpath_group.add_argument( |
||
| 198 | '--sockpath', nargs='?', default=None, |
||
| 199 | help='Deprecated, use --socketpath instead') |
||
| 200 | socketpath_group.add_argument( |
||
| 201 | '--socketpath', nargs='?', |
||
| 202 | help='Path to UNIX Domain socket (default: %(default)s)') |
||
| 203 | |||
| 204 | parser_socket.set_defaults( |
||
| 205 | socketpath=self._config.get( |
||
| 206 | 'unixsocket', 'socketpath', fallback=DEFAULT_UNIX_SOCKET_PATH), |
||
| 207 | ) |
||
| 247 |