Code Duplication    Length = 91-92 lines in 2 locations

gvm/protocols/gmpv7.py 2 locations

@@ 5354-5445 (lines=92) @@
5351
5352
        return self._send_xml_command(cmd)
5353
5354
    def modify_override(
5355
        self,
5356
        override_id: str,
5357
        text: str,
5358
        *,
5359
        seconds_active: Optional[int] = None,
5360
        hosts: Optional[List[str]] = None,
5361
        port: Optional[int] = None,
5362
        result_id: Optional[str] = None,
5363
        severity: Optional[Severity] = None,
5364
        new_severity: Optional[Severity] = None,
5365
        task_id: Optional[str] = None,
5366
        threat: Optional[SeverityLevel] = None,
5367
        new_threat: Optional[SeverityLevel] = None
5368
    ) -> Any:
5369
        """Modifies an existing override.
5370
5371
        Arguments:
5372
            override_id: UUID of override to modify.
5373
            text: The text of the override.
5374
            seconds_active: Seconds override will be active. -1 on always,
5375
                0 off.
5376
            hosts: A list of host addresses
5377
            port: Port to which override applies.
5378
            result_id: Result to which override applies.
5379
            severity: Severity to which override applies.
5380
            new_severity: New severity score for result.
5381
            task_id: Task to which override applies.
5382
            threat: Threat level to which override applies.
5383
                Will be converted to severity.
5384
            new_threat: New threat level for results. Will be converted to
5385
                new_severity.
5386
5387
        Returns:
5388
            The response. See :py:meth:`send_command` for details.
5389
        """
5390
        if not override_id:
5391
            raise RequiredArgument(
5392
                "modify_override requires a override_id argument"
5393
            )
5394
        if not text:
5395
            raise RequiredArgument("modify_override requires a text argument")
5396
5397
        cmd = XmlCommand("modify_override")
5398
        cmd.set_attribute("override_id", override_id)
5399
        cmd.add_element("text", text)
5400
5401
        if not seconds_active is None:
5402
            cmd.add_element("active", str(seconds_active))
5403
5404
        if hosts:
5405
            cmd.add_element("hosts", _to_comma_list(hosts))
5406
5407
        if port:
5408
            cmd.add_element("port", str(port))
5409
5410
        if result_id:
5411
            cmd.add_element("result", attrs={"id": result_id})
5412
5413
        if severity:
5414
            cmd.add_element("severity", str(severity))
5415
5416
        if new_severity:
5417
            cmd.add_element("new_severity", str(new_severity))
5418
5419
        if task_id:
5420
            cmd.add_element("task", attrs={"id": task_id})
5421
5422
        if threat is not None:
5423
            if not isinstance(threat, SeverityLevel):
5424
                raise InvalidArgument(
5425
                    "modify_override threat argument {} is invalid. threat "
5426
                    "must be a SeverityLevel instance".format(threat),
5427
                    function="modify_override",
5428
                    argument="threat",
5429
                )
5430
            cmd.add_element("threat", threat.value)
5431
5432
        if new_threat is not None:
5433
            if not isinstance(new_threat, SeverityLevel):
5434
                raise InvalidArgument(
5435
                    "modify_override new_threat argument {} is invalid. "
5436
                    "new_threat must be a SeverityLevel instance".format(
5437
                        new_threat
5438
                    ),
5439
                    function="modify_override",
5440
                    argument="new_threat",
5441
                )
5442
5443
            cmd.add_element("new_threat", new_threat.value)
5444
5445
        return self._send_xml_command(cmd)
5446
5447
    def modify_permission(
5448
        self,
@@ 1564-1654 (lines=91) @@
1561
        cmd.add_element("copy", note_id)
1562
        return self._send_xml_command(cmd)
1563
1564
    def create_override(
1565
        self,
1566
        text: str,
1567
        nvt_oid: str,
1568
        *,
1569
        seconds_active: Optional[int] = None,
1570
        hosts: Optional[List[str]] = None,
1571
        port: Optional[int] = None,
1572
        result_id: Optional[str] = None,
1573
        severity: Optional[Severity] = None,
1574
        new_severity: Optional[Severity] = None,
1575
        task_id: Optional[str] = None,
1576
        threat: Optional[SeverityLevel] = None,
1577
        new_threat: Optional[SeverityLevel] = None
1578
    ) -> Any:
1579
        """Create a new override
1580
1581
        Arguments:
1582
            text: Text of the new override
1583
            nvt_id: OID of the nvt to which override applies
1584
            seconds_active: Seconds override will be active. -1 on always, 0 off
1585
            hosts: A list of host addresses
1586
            port: Port to which the override applies
1587
            result_id: UUID of a result to which override applies
1588
            severity: Severity to which override applies
1589
            new_severity: New severity for result
1590
            task_id: UUID of task to which override applies
1591
            threat: Severity level to which override applies. Will be converted
1592
                to severity.
1593
            new_threat: New severity level for results. Will be converted to
1594
                new_severity.
1595
1596
        Returns:
1597
            The response. See :py:meth:`send_command` for details.
1598
        """
1599
        if not text:
1600
            raise RequiredArgument("create_override requires a text argument")
1601
1602
        if not nvt_oid:
1603
            raise RequiredArgument(
1604
                "create_override requires a nvt_oid " "argument"
1605
            )
1606
1607
        cmd = XmlCommand("create_override")
1608
        cmd.add_element("text", text)
1609
        cmd.add_element("nvt", attrs={"oid": nvt_oid})
1610
1611
        if not seconds_active is None:
1612
            cmd.add_element("active", str(seconds_active))
1613
1614
        if hosts:
1615
            cmd.add_element("hosts", _to_comma_list(hosts))
1616
1617
        if port:
1618
            cmd.add_element("port", str(port))
1619
1620
        if result_id:
1621
            cmd.add_element("result", attrs={"id": result_id})
1622
1623
        if severity:
1624
            cmd.add_element("severity", str(severity))
1625
1626
        if new_severity:
1627
            cmd.add_element("new_severity", str(new_severity))
1628
1629
        if task_id:
1630
            cmd.add_element("task", attrs={"id": task_id})
1631
1632
        if threat is not None:
1633
            if not isinstance(threat, SeverityLevel):
1634
                raise InvalidArgument(
1635
                    "create_override threat argument {0} is invalid. threat "
1636
                    "must be a SeverityLevel instance".format(threat),
1637
                    function="create_override",
1638
                    argument="threat",
1639
                )
1640
1641
            cmd.add_element("threat", threat.value)
1642
1643
        if new_threat is not None:
1644
            if not isinstance(new_threat, SeverityLevel):
1645
                raise InvalidArgument(
1646
                    "create_override new_threat argument {0} is invalid. "
1647
                    "new_threat be a SeverityLevel instance".format(new_threat),
1648
                    function="create_override",
1649
                    argument="new_threat",
1650
                )
1651
1652
            cmd.add_element("new_threat", new_threat.value)
1653
1654
        return self._send_xml_command(cmd)
1655
1656
    def clone_override(self, override_id: str) -> Any:
1657
        """Clone an existing override