Code Duplication    Length = 90-91 lines in 2 locations

gvm/protocols/gmpv208/gmpv208.py 2 locations

@@ 3439-3529 (lines=91) @@
3436
        cmd.add_element("copy", note_id)
3437
        return self._send_xml_command(cmd)
3438
3439
    def create_override(
3440
        self,
3441
        text: str,
3442
        nvt_oid: str,
3443
        *,
3444
        days_active: Optional[int] = None,
3445
        hosts: Optional[List[str]] = None,
3446
        port: Optional[int] = None,
3447
        result_id: Optional[str] = None,
3448
        severity: Optional[Severity] = None,
3449
        new_severity: Optional[Severity] = None,
3450
        task_id: Optional[str] = None,
3451
        threat: Optional[SeverityLevel] = None,
3452
        new_threat: Optional[SeverityLevel] = None,
3453
    ) -> Any:
3454
        """Create a new override
3455
3456
        Arguments:
3457
            text: Text of the new override
3458
            nvt_id: OID of the nvt to which override applies
3459
            days_active: Days override will be active. -1 on always, 0 off
3460
            hosts: A list of host addresses
3461
            port: Port to which the override applies
3462
            result_id: UUID of a result to which override applies
3463
            severity: Severity to which override applies
3464
            new_severity: New severity for result
3465
            task_id: UUID of task to which override applies
3466
            threat: Severity level to which override applies. Will be converted
3467
                to severity.
3468
            new_threat: New severity level for results. Will be converted to
3469
                new_severity.
3470
3471
        Returns:
3472
            The response. See :py:meth:`send_command` for details.
3473
        """
3474
        if not text:
3475
            raise RequiredArgument(
3476
                function=self.create_override.__name__, argument='text'
3477
            )
3478
3479
        if not nvt_oid:
3480
            raise RequiredArgument(
3481
                function=self.create_override.__name__, argument='nvt_oid'
3482
            )
3483
3484
        cmd = XmlCommand("create_override")
3485
        cmd.add_element("text", text)
3486
        cmd.add_element("nvt", attrs={"oid": nvt_oid})
3487
3488
        if days_active is not None:
3489
            cmd.add_element("active", str(days_active))
3490
3491
        if hosts:
3492
            cmd.add_element("hosts", to_comma_list(hosts))
3493
3494
        if port:
3495
            cmd.add_element("port", str(port))
3496
3497
        if result_id:
3498
            cmd.add_element("result", attrs={"id": result_id})
3499
3500
        if severity:
3501
            cmd.add_element("severity", str(severity))
3502
3503
        if new_severity:
3504
            cmd.add_element("new_severity", str(new_severity))
3505
3506
        if task_id:
3507
            cmd.add_element("task", attrs={"id": task_id})
3508
3509
        if threat is not None:
3510
            if not isinstance(threat, SeverityLevel):
3511
                raise InvalidArgumentType(
3512
                    function=self.create_override.__name__,
3513
                    argument="threat",
3514
                    arg_type=SeverityLevel.__name__,
3515
                )
3516
3517
            cmd.add_element("threat", threat.value)
3518
3519
        if new_threat is not None:
3520
            if not isinstance(new_threat, SeverityLevel):
3521
                raise InvalidArgumentType(
3522
                    function=self.create_override.__name__,
3523
                    argument="new_threat",
3524
                    arg_type=SeverityLevel.__name__,
3525
                )
3526
3527
            cmd.add_element("new_threat", new_threat.value)
3528
3529
        return self._send_xml_command(cmd)
3530
3531
    def clone_override(self, override_id: str) -> Any:
3532
        """Clone an existing override
@@ 6320-6409 (lines=90) @@
6317
6318
        return self._send_xml_command(cmd)
6319
6320
    def modify_override(
6321
        self,
6322
        override_id: str,
6323
        text: str,
6324
        *,
6325
        days_active: Optional[int] = None,
6326
        hosts: Optional[List[str]] = None,
6327
        port: Optional[int] = None,
6328
        result_id: Optional[str] = None,
6329
        severity: Optional[Severity] = None,
6330
        new_severity: Optional[Severity] = None,
6331
        task_id: Optional[str] = None,
6332
        threat: Optional[SeverityLevel] = None,
6333
        new_threat: Optional[SeverityLevel] = None,
6334
    ) -> Any:
6335
        """Modifies an existing override.
6336
6337
        Arguments:
6338
            override_id: UUID of override to modify.
6339
            text: The text of the override.
6340
            days_active: Days override will be active. -1 on always,
6341
                0 off.
6342
            hosts: A list of host addresses
6343
            port: Port to which override applies.
6344
            result_id: Result to which override applies.
6345
            severity: Severity to which override applies.
6346
            new_severity: New severity score for result.
6347
            task_id: Task to which override applies.
6348
            threat: Threat level to which override applies.
6349
                Will be converted to severity.
6350
            new_threat: New threat level for results. Will be converted to
6351
                new_severity.
6352
6353
        Returns:
6354
            The response. See :py:meth:`send_command` for details.
6355
        """
6356
        if not override_id:
6357
            raise RequiredArgument(
6358
                function=self.modify_override.__name__, argument='override_id'
6359
            )
6360
        if not text:
6361
            raise RequiredArgument(
6362
                function=self.modify_override.__name__, argument='text'
6363
            )
6364
6365
        cmd = XmlCommand("modify_override")
6366
        cmd.set_attribute("override_id", override_id)
6367
        cmd.add_element("text", text)
6368
6369
        if days_active is not None:
6370
            cmd.add_element("active", str(days_active))
6371
6372
        if hosts:
6373
            cmd.add_element("hosts", to_comma_list(hosts))
6374
6375
        if port:
6376
            cmd.add_element("port", str(port))
6377
6378
        if result_id:
6379
            cmd.add_element("result", attrs={"id": result_id})
6380
6381
        if severity:
6382
            cmd.add_element("severity", str(severity))
6383
6384
        if new_severity:
6385
            cmd.add_element("new_severity", str(new_severity))
6386
6387
        if task_id:
6388
            cmd.add_element("task", attrs={"id": task_id})
6389
6390
        if threat is not None:
6391
            if not isinstance(threat, SeverityLevel):
6392
                raise InvalidArgumentType(
6393
                    function=self.modify_override.__name__,
6394
                    argument='threat',
6395
                    arg_type=SeverityLevel.__name__,
6396
                )
6397
            cmd.add_element("threat", threat.value)
6398
6399
        if new_threat is not None:
6400
            if not isinstance(new_threat, SeverityLevel):
6401
                raise InvalidArgumentType(
6402
                    function=self.modify_override.__name__,
6403
                    argument='new_threat',
6404
                    arg_type=SeverityLevel.__name__,
6405
                )
6406
6407
            cmd.add_element("new_threat", new_threat.value)
6408
6409
        return self._send_xml_command(cmd)
6410
6411
    def modify_port_list(
6412
        self,