Code Duplication    Length = 90-91 lines in 4 locations

gvm/protocols/gmpv208/gmpv208.py 2 locations

@@ 3532-3622 (lines=91) @@
3529
        cmd.add_element("copy", note_id)
3530
        return self._send_xml_command(cmd)
3531
3532
    def create_override(
3533
        self,
3534
        text: str,
3535
        nvt_oid: str,
3536
        *,
3537
        days_active: Optional[int] = None,
3538
        hosts: Optional[List[str]] = None,
3539
        port: Optional[int] = None,
3540
        result_id: Optional[str] = None,
3541
        severity: Optional[Severity] = None,
3542
        new_severity: Optional[Severity] = None,
3543
        task_id: Optional[str] = None,
3544
        threat: Optional[SeverityLevel] = None,
3545
        new_threat: Optional[SeverityLevel] = None,
3546
    ) -> Any:
3547
        """Create a new override
3548
3549
        Arguments:
3550
            text: Text of the new override
3551
            nvt_id: OID of the nvt to which override applies
3552
            days_active: Days override will be active. -1 on always, 0 off
3553
            hosts: A list of host addresses
3554
            port: Port to which the override applies
3555
            result_id: UUID of a result to which override applies
3556
            severity: Severity to which override applies
3557
            new_severity: New severity for result
3558
            task_id: UUID of task to which override applies
3559
            threat: Severity level to which override applies. Will be converted
3560
                to severity.
3561
            new_threat: New severity level for results. Will be converted to
3562
                new_severity.
3563
3564
        Returns:
3565
            The response. See :py:meth:`send_command` for details.
3566
        """
3567
        if not text:
3568
            raise RequiredArgument(
3569
                function=self.create_override.__name__, argument='text'
3570
            )
3571
3572
        if not nvt_oid:
3573
            raise RequiredArgument(
3574
                function=self.create_override.__name__, argument='nvt_oid'
3575
            )
3576
3577
        cmd = XmlCommand("create_override")
3578
        cmd.add_element("text", text)
3579
        cmd.add_element("nvt", attrs={"oid": nvt_oid})
3580
3581
        if days_active is not None:
3582
            cmd.add_element("active", str(days_active))
3583
3584
        if hosts:
3585
            cmd.add_element("hosts", _to_comma_list(hosts))
3586
3587
        if port:
3588
            cmd.add_element("port", str(port))
3589
3590
        if result_id:
3591
            cmd.add_element("result", attrs={"id": result_id})
3592
3593
        if severity:
3594
            cmd.add_element("severity", str(severity))
3595
3596
        if new_severity:
3597
            cmd.add_element("new_severity", str(new_severity))
3598
3599
        if task_id:
3600
            cmd.add_element("task", attrs={"id": task_id})
3601
3602
        if threat is not None:
3603
            if not isinstance(threat, SeverityLevel):
3604
                raise InvalidArgumentType(
3605
                    function=self.create_override.__name__,
3606
                    argument="threat",
3607
                    arg_type=SeverityLevel.__name__,
3608
                )
3609
3610
            cmd.add_element("threat", threat.value)
3611
3612
        if new_threat is not None:
3613
            if not isinstance(new_threat, SeverityLevel):
3614
                raise InvalidArgumentType(
3615
                    function=self.create_override.__name__,
3616
                    argument="new_threat",
3617
                    arg_type=SeverityLevel.__name__,
3618
                )
3619
3620
            cmd.add_element("new_threat", new_threat.value)
3621
3622
        return self._send_xml_command(cmd)
3623
3624
    def clone_override(self, override_id: str) -> Any:
3625
        """Clone an existing override
@@ 6456-6545 (lines=90) @@
6453
6454
        return self._send_xml_command(cmd)
6455
6456
    def modify_override(
6457
        self,
6458
        override_id: str,
6459
        text: str,
6460
        *,
6461
        days_active: Optional[int] = None,
6462
        hosts: Optional[List[str]] = None,
6463
        port: Optional[int] = None,
6464
        result_id: Optional[str] = None,
6465
        severity: Optional[Severity] = None,
6466
        new_severity: Optional[Severity] = None,
6467
        task_id: Optional[str] = None,
6468
        threat: Optional[SeverityLevel] = None,
6469
        new_threat: Optional[SeverityLevel] = None,
6470
    ) -> Any:
6471
        """Modifies an existing override.
6472
6473
        Arguments:
6474
            override_id: UUID of override to modify.
6475
            text: The text of the override.
6476
            days_active: Days override will be active. -1 on always,
6477
                0 off.
6478
            hosts: A list of host addresses
6479
            port: Port to which override applies.
6480
            result_id: Result to which override applies.
6481
            severity: Severity to which override applies.
6482
            new_severity: New severity score for result.
6483
            task_id: Task to which override applies.
6484
            threat: Threat level to which override applies.
6485
                Will be converted to severity.
6486
            new_threat: New threat level for results. Will be converted to
6487
                new_severity.
6488
6489
        Returns:
6490
            The response. See :py:meth:`send_command` for details.
6491
        """
6492
        if not override_id:
6493
            raise RequiredArgument(
6494
                function=self.modify_override.__name__, argument='override_id'
6495
            )
6496
        if not text:
6497
            raise RequiredArgument(
6498
                function=self.modify_override.__name__, argument='text'
6499
            )
6500
6501
        cmd = XmlCommand("modify_override")
6502
        cmd.set_attribute("override_id", override_id)
6503
        cmd.add_element("text", text)
6504
6505
        if days_active is not None:
6506
            cmd.add_element("active", str(days_active))
6507
6508
        if hosts:
6509
            cmd.add_element("hosts", _to_comma_list(hosts))
6510
6511
        if port:
6512
            cmd.add_element("port", str(port))
6513
6514
        if result_id:
6515
            cmd.add_element("result", attrs={"id": result_id})
6516
6517
        if severity:
6518
            cmd.add_element("severity", str(severity))
6519
6520
        if new_severity:
6521
            cmd.add_element("new_severity", str(new_severity))
6522
6523
        if task_id:
6524
            cmd.add_element("task", attrs={"id": task_id})
6525
6526
        if threat is not None:
6527
            if not isinstance(threat, SeverityLevel):
6528
                raise InvalidArgumentType(
6529
                    function=self.modify_override.__name__,
6530
                    argument='threat',
6531
                    arg_type=SeverityLevel.__name__,
6532
                )
6533
            cmd.add_element("threat", threat.value)
6534
6535
        if new_threat is not None:
6536
            if not isinstance(new_threat, SeverityLevel):
6537
                raise InvalidArgumentType(
6538
                    function=self.modify_override.__name__,
6539
                    argument='new_threat',
6540
                    arg_type=SeverityLevel.__name__,
6541
                )
6542
6543
            cmd.add_element("new_threat", new_threat.value)
6544
6545
        return self._send_xml_command(cmd)
6546
6547
    def modify_port_list(
6548
        self,

gvm/protocols/gmpv7/gmpv7.py 2 locations

@@ 983-1073 (lines=91) @@
980
        cmd.add_element("copy", note_id)
981
        return self._send_xml_command(cmd)
982
983
    def create_override(
984
        self,
985
        text: str,
986
        nvt_oid: str,
987
        *,
988
        days_active: Optional[int] = None,
989
        hosts: Optional[List[str]] = None,
990
        port: Optional[int] = None,
991
        result_id: Optional[str] = None,
992
        severity: Optional[Severity] = None,
993
        new_severity: Optional[Severity] = None,
994
        task_id: Optional[str] = None,
995
        threat: Optional[SeverityLevel] = None,
996
        new_threat: Optional[SeverityLevel] = None,
997
    ) -> Any:
998
        """Create a new override
999
1000
        Arguments:
1001
            text: Text of the new override
1002
            nvt_id: OID of the nvt to which override applies
1003
            days_active: Days override will be active. -1 on always, 0 off
1004
            hosts: A list of host addresses
1005
            port: Port to which the override applies
1006
            result_id: UUID of a result to which override applies
1007
            severity: Severity to which override applies
1008
            new_severity: New severity for result
1009
            task_id: UUID of task to which override applies
1010
            threat: Severity level to which override applies. Will be converted
1011
                to severity.
1012
            new_threat: New severity level for results. Will be converted to
1013
                new_severity.
1014
1015
        Returns:
1016
            The response. See :py:meth:`send_command` for details.
1017
        """
1018
        if not text:
1019
            raise RequiredArgument(
1020
                function=self.create_override.__name__, argument='text'
1021
            )
1022
1023
        if not nvt_oid:
1024
            raise RequiredArgument(
1025
                function=self.create_override.__name__, argument='nvt_oid'
1026
            )
1027
1028
        cmd = XmlCommand("create_override")
1029
        cmd.add_element("text", text)
1030
        cmd.add_element("nvt", attrs={"oid": nvt_oid})
1031
1032
        if days_active is not None:
1033
            cmd.add_element("active", str(days_active))
1034
1035
        if hosts:
1036
            cmd.add_element("hosts", _to_comma_list(hosts))
1037
1038
        if port:
1039
            cmd.add_element("port", str(port))
1040
1041
        if result_id:
1042
            cmd.add_element("result", attrs={"id": result_id})
1043
1044
        if severity:
1045
            cmd.add_element("severity", str(severity))
1046
1047
        if new_severity:
1048
            cmd.add_element("new_severity", str(new_severity))
1049
1050
        if task_id:
1051
            cmd.add_element("task", attrs={"id": task_id})
1052
1053
        if threat is not None:
1054
            if not isinstance(threat, SeverityLevel):
1055
                raise InvalidArgumentType(
1056
                    function=self.create_override.__name__,
1057
                    argument="threat",
1058
                    arg_type=SeverityLevel.__name__,
1059
                )
1060
1061
            cmd.add_element("threat", threat.value)
1062
1063
        if new_threat is not None:
1064
            if not isinstance(new_threat, SeverityLevel):
1065
                raise InvalidArgumentType(
1066
                    function=self.create_override.__name__,
1067
                    argument="new_threat",
1068
                    arg_type=SeverityLevel.__name__,
1069
                )
1070
1071
            cmd.add_element("new_threat", new_threat.value)
1072
1073
        return self._send_xml_command(cmd)
1074
1075
    def clone_override(self, override_id: str) -> Any:
1076
        """Clone an existing override
@@ 5175-5264 (lines=90) @@
5172
5173
        return self._send_xml_command(cmd)
5174
5175
    def modify_override(
5176
        self,
5177
        override_id: str,
5178
        text: str,
5179
        *,
5180
        days_active: Optional[int] = None,
5181
        hosts: Optional[List[str]] = None,
5182
        port: Optional[int] = None,
5183
        result_id: Optional[str] = None,
5184
        severity: Optional[Severity] = None,
5185
        new_severity: Optional[Severity] = None,
5186
        task_id: Optional[str] = None,
5187
        threat: Optional[SeverityLevel] = None,
5188
        new_threat: Optional[SeverityLevel] = None,
5189
    ) -> Any:
5190
        """Modifies an existing override.
5191
5192
        Arguments:
5193
            override_id: UUID of override to modify.
5194
            text: The text of the override.
5195
            days_active: Days override will be active. -1 on always,
5196
                0 off.
5197
            hosts: A list of host addresses
5198
            port: Port to which override applies.
5199
            result_id: Result to which override applies.
5200
            severity: Severity to which override applies.
5201
            new_severity: New severity score for result.
5202
            task_id: Task to which override applies.
5203
            threat: Threat level to which override applies.
5204
                Will be converted to severity.
5205
            new_threat: New threat level for results. Will be converted to
5206
                new_severity.
5207
5208
        Returns:
5209
            The response. See :py:meth:`send_command` for details.
5210
        """
5211
        if not override_id:
5212
            raise RequiredArgument(
5213
                function=self.modify_override.__name__, argument='override_id'
5214
            )
5215
        if not text:
5216
            raise RequiredArgument(
5217
                function=self.modify_override.__name__, argument='text'
5218
            )
5219
5220
        cmd = XmlCommand("modify_override")
5221
        cmd.set_attribute("override_id", override_id)
5222
        cmd.add_element("text", text)
5223
5224
        if days_active is not None:
5225
            cmd.add_element("active", str(days_active))
5226
5227
        if hosts:
5228
            cmd.add_element("hosts", _to_comma_list(hosts))
5229
5230
        if port:
5231
            cmd.add_element("port", str(port))
5232
5233
        if result_id:
5234
            cmd.add_element("result", attrs={"id": result_id})
5235
5236
        if severity:
5237
            cmd.add_element("severity", str(severity))
5238
5239
        if new_severity:
5240
            cmd.add_element("new_severity", str(new_severity))
5241
5242
        if task_id:
5243
            cmd.add_element("task", attrs={"id": task_id})
5244
5245
        if threat is not None:
5246
            if not isinstance(threat, SeverityLevel):
5247
                raise InvalidArgumentType(
5248
                    function=self.modify_override.__name__,
5249
                    argument='threat',
5250
                    arg_type=SeverityLevel.__name__,
5251
                )
5252
            cmd.add_element("threat", threat.value)
5253
5254
        if new_threat is not None:
5255
            if not isinstance(new_threat, SeverityLevel):
5256
                raise InvalidArgumentType(
5257
                    function=self.modify_override.__name__,
5258
                    argument='new_threat',
5259
                    arg_type=SeverityLevel.__name__,
5260
                )
5261
5262
            cmd.add_element("new_threat", new_threat.value)
5263
5264
        return self._send_xml_command(cmd)
5265
5266
    def modify_permission(
5267
        self,