Code Duplication    Length = 54-57 lines in 2 locations

gvm/protocols/gmpv7.py 2 locations

@@ 4247-4303 (lines=57) @@
4244
4245
        return self._send_xml_command(cmd)
4246
4247
    def modify_scanner(self, scanner_id, host, port, scanner_type, *,
4248
                       comment=None, name=None, ca_pub=None,
4249
                       credential_id=None):
4250
        """Modifies an existing scanner.
4251
4252
        Arguments:
4253
            scanner_id (str): UUID of scanner to modify.
4254
            host (str): Host of the scanner.
4255
            port (str): Port of the scanner.
4256
            scanner_type (str): Type of the scanner.
4257
                '1' for OSP, '2' for OpenVAS (classic) Scanner.
4258
            comment (str, optional): Comment on scanner.
4259
            name (str, optional): Name of scanner.
4260
            ca_pub (str, optional): Certificate of CA to verify scanner's
4261
                certificate.
4262
            credential_id (str, optional): UUID of the client certificate
4263
                credential for the Scanner.
4264
4265
        Returns:
4266
            The response. See :py:meth:`send_command` for details.
4267
        """
4268
        if not scanner_id:
4269
            raise RequiredArgument(
4270
                'modify_scanner requires a scanner_id argument')
4271
        if not host:
4272
            raise RequiredArgument('modify_scanner requires a host argument')
4273
        if not port:
4274
            raise RequiredArgument('modify_scanner requires a port argument')
4275
        if not scanner_type:
4276
            raise RequiredArgument('modify_scanner requires a scanner_type '
4277
                                   'argument')
4278
4279
        cmd = XmlCommand('modify_scanner')
4280
        cmd.set_attribute('scanner_id', scanner_id)
4281
        cmd.add_element('host', host)
4282
        cmd.add_element('port', port)
4283
4284
        if scanner_type not in SCANNER_TYPES:
4285
            raise InvalidArgument('modify_scanner requires a scanner_type '
4286
                                  'argument which must be either "1" for OSP '
4287
                                  'or "2" OpenVAS (Classic).')
4288
4289
        cmd.add_element('type', scanner_type)
4290
4291
        if comment:
4292
            cmd.add_element('comment', comment)
4293
4294
        if name:
4295
            cmd.add_element('name', name)
4296
4297
        if ca_pub:
4298
            cmd.add_element('ca_pub', ca_pub)
4299
4300
        if credential_id:
4301
            cmd.add_element('credential', attrs={'id': str(credential_id)})
4302
4303
        return self._send_xml_command(cmd)
4304
4305
    def modify_schedule(self, schedule_id, *, comment=None, name=None,
4306
                        first_time_minute=None, first_time_hour=None,
@@ 1203-1256 (lines=54) @@
1200
        cmd.add_element('copy', role_id)
1201
        return self._send_xml_command(cmd)
1202
1203
    def create_scanner(self, name, host, port, scanner_type, ca_pub,
1204
                       credential_id, *, comment=None):
1205
        """Create a new scanner
1206
1207
        Arguments:
1208
            name (str): Name of the scanner
1209
            host (str): The host of the scanner
1210
            port (str): The port of the scanner
1211
            scanner_type (str): Type of the scanner.
1212
                '1' for OSP, '2' for OpenVAS (classic) Scanner.
1213
            ca_pub (str): Certificate of CA to verify scanner certificate
1214
            credential_id (str): UUID of client certificate credential for the
1215
                scanner
1216
            comment (str, optional): Comment for the scanner
1217
1218
        Returns:
1219
            The response. See :py:meth:`send_command` for details.
1220
        """
1221
        if not name:
1222
            raise RequiredArgument('create_scanner requires a name argument')
1223
1224
        if not host:
1225
            raise RequiredArgument('create_scanner requires a host argument')
1226
1227
        if not port:
1228
            raise RequiredArgument('create_scanner requires a port argument')
1229
1230
        if not scanner_type:
1231
            raise RequiredArgument('create_scanner requires a scanner_type '
1232
                                   'argument')
1233
        if not ca_pub:
1234
            raise RequiredArgument('create_scanner requires a ca_pub argument')
1235
1236
        if not credential_id:
1237
            raise RequiredArgument('create_scanner requires a credential_id '
1238
                                   'argument')
1239
1240
        if scanner_type not in SCANNER_TYPES:
1241
            raise InvalidArgument('create_scanner requires a scanner_type '
1242
                                  'argument which must be either "1" for OSP '
1243
                                  'or "2" OpenVAS (Classic).')
1244
1245
        cmd = XmlCommand('create_scanner')
1246
        cmd.add_element('name', name)
1247
        cmd.add_element('host', host)
1248
        cmd.add_element('port', port)
1249
        cmd.add_element('type', scanner_type)
1250
        cmd.add_element('ca_pub', ca_pub)
1251
        cmd.add_element('credential', attrs={'id': str(credential_id)})
1252
1253
        if comment:
1254
            cmd.add_element('comment', comment)
1255
1256
        return self._send_xml_command(cmd)
1257
1258
    def clone_scanner(self, scanner_id):
1259
        """Clone an existing scanner