Code Duplication    Length = 90-91 lines in 2 locations

gvm/protocols/gmpv208/gmpv208.py 2 locations

@@ 3484-3574 (lines=91) @@
3481
        cmd.add_element("copy", note_id)
3482
        return self._send_xml_command(cmd)
3483
3484
    def create_override(
3485
        self,
3486
        text: str,
3487
        nvt_oid: str,
3488
        *,
3489
        days_active: Optional[int] = None,
3490
        hosts: Optional[List[str]] = None,
3491
        port: Optional[int] = None,
3492
        result_id: Optional[str] = None,
3493
        severity: Optional[Severity] = None,
3494
        new_severity: Optional[Severity] = None,
3495
        task_id: Optional[str] = None,
3496
        threat: Optional[SeverityLevel] = None,
3497
        new_threat: Optional[SeverityLevel] = None,
3498
    ) -> Any:
3499
        """Create a new override
3500
3501
        Arguments:
3502
            text: Text of the new override
3503
            nvt_id: OID of the nvt to which override applies
3504
            days_active: Days override will be active. -1 on always, 0 off
3505
            hosts: A list of host addresses
3506
            port: Port to which the override applies
3507
            result_id: UUID of a result to which override applies
3508
            severity: Severity to which override applies
3509
            new_severity: New severity for result
3510
            task_id: UUID of task to which override applies
3511
            threat: Severity level to which override applies. Will be converted
3512
                to severity.
3513
            new_threat: New severity level for results. Will be converted to
3514
                new_severity.
3515
3516
        Returns:
3517
            The response. See :py:meth:`send_command` for details.
3518
        """
3519
        if not text:
3520
            raise RequiredArgument(
3521
                function=self.create_override.__name__, argument='text'
3522
            )
3523
3524
        if not nvt_oid:
3525
            raise RequiredArgument(
3526
                function=self.create_override.__name__, argument='nvt_oid'
3527
            )
3528
3529
        cmd = XmlCommand("create_override")
3530
        cmd.add_element("text", text)
3531
        cmd.add_element("nvt", attrs={"oid": nvt_oid})
3532
3533
        if days_active is not None:
3534
            cmd.add_element("active", str(days_active))
3535
3536
        if hosts:
3537
            cmd.add_element("hosts", _to_comma_list(hosts))
3538
3539
        if port:
3540
            cmd.add_element("port", str(port))
3541
3542
        if result_id:
3543
            cmd.add_element("result", attrs={"id": result_id})
3544
3545
        if severity:
3546
            cmd.add_element("severity", str(severity))
3547
3548
        if new_severity:
3549
            cmd.add_element("new_severity", str(new_severity))
3550
3551
        if task_id:
3552
            cmd.add_element("task", attrs={"id": task_id})
3553
3554
        if threat is not None:
3555
            if not isinstance(threat, SeverityLevel):
3556
                raise InvalidArgumentType(
3557
                    function=self.create_override.__name__,
3558
                    argument="threat",
3559
                    arg_type=SeverityLevel.__name__,
3560
                )
3561
3562
            cmd.add_element("threat", threat.value)
3563
3564
        if new_threat is not None:
3565
            if not isinstance(new_threat, SeverityLevel):
3566
                raise InvalidArgumentType(
3567
                    function=self.create_override.__name__,
3568
                    argument="new_threat",
3569
                    arg_type=SeverityLevel.__name__,
3570
                )
3571
3572
            cmd.add_element("new_threat", new_threat.value)
3573
3574
        return self._send_xml_command(cmd)
3575
3576
    def clone_override(self, override_id: str) -> Any:
3577
        """Clone an existing override
@@ 6365-6454 (lines=90) @@
6362
6363
        return self._send_xml_command(cmd)
6364
6365
    def modify_override(
6366
        self,
6367
        override_id: str,
6368
        text: str,
6369
        *,
6370
        days_active: Optional[int] = None,
6371
        hosts: Optional[List[str]] = None,
6372
        port: Optional[int] = None,
6373
        result_id: Optional[str] = None,
6374
        severity: Optional[Severity] = None,
6375
        new_severity: Optional[Severity] = None,
6376
        task_id: Optional[str] = None,
6377
        threat: Optional[SeverityLevel] = None,
6378
        new_threat: Optional[SeverityLevel] = None,
6379
    ) -> Any:
6380
        """Modifies an existing override.
6381
6382
        Arguments:
6383
            override_id: UUID of override to modify.
6384
            text: The text of the override.
6385
            days_active: Days override will be active. -1 on always,
6386
                0 off.
6387
            hosts: A list of host addresses
6388
            port: Port to which override applies.
6389
            result_id: Result to which override applies.
6390
            severity: Severity to which override applies.
6391
            new_severity: New severity score for result.
6392
            task_id: Task to which override applies.
6393
            threat: Threat level to which override applies.
6394
                Will be converted to severity.
6395
            new_threat: New threat level for results. Will be converted to
6396
                new_severity.
6397
6398
        Returns:
6399
            The response. See :py:meth:`send_command` for details.
6400
        """
6401
        if not override_id:
6402
            raise RequiredArgument(
6403
                function=self.modify_override.__name__, argument='override_id'
6404
            )
6405
        if not text:
6406
            raise RequiredArgument(
6407
                function=self.modify_override.__name__, argument='text'
6408
            )
6409
6410
        cmd = XmlCommand("modify_override")
6411
        cmd.set_attribute("override_id", override_id)
6412
        cmd.add_element("text", text)
6413
6414
        if days_active is not None:
6415
            cmd.add_element("active", str(days_active))
6416
6417
        if hosts:
6418
            cmd.add_element("hosts", _to_comma_list(hosts))
6419
6420
        if port:
6421
            cmd.add_element("port", str(port))
6422
6423
        if result_id:
6424
            cmd.add_element("result", attrs={"id": result_id})
6425
6426
        if severity:
6427
            cmd.add_element("severity", str(severity))
6428
6429
        if new_severity:
6430
            cmd.add_element("new_severity", str(new_severity))
6431
6432
        if task_id:
6433
            cmd.add_element("task", attrs={"id": task_id})
6434
6435
        if threat is not None:
6436
            if not isinstance(threat, SeverityLevel):
6437
                raise InvalidArgumentType(
6438
                    function=self.modify_override.__name__,
6439
                    argument='threat',
6440
                    arg_type=SeverityLevel.__name__,
6441
                )
6442
            cmd.add_element("threat", threat.value)
6443
6444
        if new_threat is not None:
6445
            if not isinstance(new_threat, SeverityLevel):
6446
                raise InvalidArgumentType(
6447
                    function=self.modify_override.__name__,
6448
                    argument='new_threat',
6449
                    arg_type=SeverityLevel.__name__,
6450
                )
6451
6452
            cmd.add_element("new_threat", new_threat.value)
6453
6454
        return self._send_xml_command(cmd)
6455
6456
    def modify_port_list(
6457
        self,