Code Duplication    Length = 90-91 lines in 2 locations

gvm/protocols/gmpv208/gmpv208.py 2 locations

@@ 3344-3434 (lines=91) @@
3341
        cmd.add_element("copy", note_id)
3342
        return self._send_xml_command(cmd)
3343
3344
    def create_override(
3345
        self,
3346
        text: str,
3347
        nvt_oid: str,
3348
        *,
3349
        days_active: Optional[int] = None,
3350
        hosts: Optional[List[str]] = None,
3351
        port: Optional[int] = None,
3352
        result_id: Optional[str] = None,
3353
        severity: Optional[Severity] = None,
3354
        new_severity: Optional[Severity] = None,
3355
        task_id: Optional[str] = None,
3356
        threat: Optional[SeverityLevel] = None,
3357
        new_threat: Optional[SeverityLevel] = None,
3358
    ) -> Any:
3359
        """Create a new override
3360
3361
        Arguments:
3362
            text: Text of the new override
3363
            nvt_id: OID of the nvt to which override applies
3364
            days_active: Days override will be active. -1 on always, 0 off
3365
            hosts: A list of host addresses
3366
            port: Port to which the override applies
3367
            result_id: UUID of a result to which override applies
3368
            severity: Severity to which override applies
3369
            new_severity: New severity for result
3370
            task_id: UUID of task to which override applies
3371
            threat: Severity level to which override applies. Will be converted
3372
                to severity.
3373
            new_threat: New severity level for results. Will be converted to
3374
                new_severity.
3375
3376
        Returns:
3377
            The response. See :py:meth:`send_command` for details.
3378
        """
3379
        if not text:
3380
            raise RequiredArgument(
3381
                function=self.create_override.__name__, argument='text'
3382
            )
3383
3384
        if not nvt_oid:
3385
            raise RequiredArgument(
3386
                function=self.create_override.__name__, argument='nvt_oid'
3387
            )
3388
3389
        cmd = XmlCommand("create_override")
3390
        cmd.add_element("text", text)
3391
        cmd.add_element("nvt", attrs={"oid": nvt_oid})
3392
3393
        if days_active is not None:
3394
            cmd.add_element("active", str(days_active))
3395
3396
        if hosts:
3397
            cmd.add_element("hosts", to_comma_list(hosts))
3398
3399
        if port:
3400
            cmd.add_element("port", str(port))
3401
3402
        if result_id:
3403
            cmd.add_element("result", attrs={"id": result_id})
3404
3405
        if severity:
3406
            cmd.add_element("severity", str(severity))
3407
3408
        if new_severity:
3409
            cmd.add_element("new_severity", str(new_severity))
3410
3411
        if task_id:
3412
            cmd.add_element("task", attrs={"id": task_id})
3413
3414
        if threat is not None:
3415
            if not isinstance(threat, SeverityLevel):
3416
                raise InvalidArgumentType(
3417
                    function=self.create_override.__name__,
3418
                    argument="threat",
3419
                    arg_type=SeverityLevel.__name__,
3420
                )
3421
3422
            cmd.add_element("threat", threat.value)
3423
3424
        if new_threat is not None:
3425
            if not isinstance(new_threat, SeverityLevel):
3426
                raise InvalidArgumentType(
3427
                    function=self.create_override.__name__,
3428
                    argument="new_threat",
3429
                    arg_type=SeverityLevel.__name__,
3430
                )
3431
3432
            cmd.add_element("new_threat", new_threat.value)
3433
3434
        return self._send_xml_command(cmd)
3435
3436
    def clone_override(self, override_id: str) -> Any:
3437
        """Clone an existing override
@@ 6044-6133 (lines=90) @@
6041
6042
        return self._send_xml_command(cmd)
6043
6044
    def modify_override(
6045
        self,
6046
        override_id: str,
6047
        text: str,
6048
        *,
6049
        days_active: Optional[int] = None,
6050
        hosts: Optional[List[str]] = None,
6051
        port: Optional[int] = None,
6052
        result_id: Optional[str] = None,
6053
        severity: Optional[Severity] = None,
6054
        new_severity: Optional[Severity] = None,
6055
        task_id: Optional[str] = None,
6056
        threat: Optional[SeverityLevel] = None,
6057
        new_threat: Optional[SeverityLevel] = None,
6058
    ) -> Any:
6059
        """Modifies an existing override.
6060
6061
        Arguments:
6062
            override_id: UUID of override to modify.
6063
            text: The text of the override.
6064
            days_active: Days override will be active. -1 on always,
6065
                0 off.
6066
            hosts: A list of host addresses
6067
            port: Port to which override applies.
6068
            result_id: Result to which override applies.
6069
            severity: Severity to which override applies.
6070
            new_severity: New severity score for result.
6071
            task_id: Task to which override applies.
6072
            threat: Threat level to which override applies.
6073
                Will be converted to severity.
6074
            new_threat: New threat level for results. Will be converted to
6075
                new_severity.
6076
6077
        Returns:
6078
            The response. See :py:meth:`send_command` for details.
6079
        """
6080
        if not override_id:
6081
            raise RequiredArgument(
6082
                function=self.modify_override.__name__, argument='override_id'
6083
            )
6084
        if not text:
6085
            raise RequiredArgument(
6086
                function=self.modify_override.__name__, argument='text'
6087
            )
6088
6089
        cmd = XmlCommand("modify_override")
6090
        cmd.set_attribute("override_id", override_id)
6091
        cmd.add_element("text", text)
6092
6093
        if days_active is not None:
6094
            cmd.add_element("active", str(days_active))
6095
6096
        if hosts:
6097
            cmd.add_element("hosts", to_comma_list(hosts))
6098
6099
        if port:
6100
            cmd.add_element("port", str(port))
6101
6102
        if result_id:
6103
            cmd.add_element("result", attrs={"id": result_id})
6104
6105
        if severity:
6106
            cmd.add_element("severity", str(severity))
6107
6108
        if new_severity:
6109
            cmd.add_element("new_severity", str(new_severity))
6110
6111
        if task_id:
6112
            cmd.add_element("task", attrs={"id": task_id})
6113
6114
        if threat is not None:
6115
            if not isinstance(threat, SeverityLevel):
6116
                raise InvalidArgumentType(
6117
                    function=self.modify_override.__name__,
6118
                    argument='threat',
6119
                    arg_type=SeverityLevel.__name__,
6120
                )
6121
            cmd.add_element("threat", threat.value)
6122
6123
        if new_threat is not None:
6124
            if not isinstance(new_threat, SeverityLevel):
6125
                raise InvalidArgumentType(
6126
                    function=self.modify_override.__name__,
6127
                    argument='new_threat',
6128
                    arg_type=SeverityLevel.__name__,
6129
                )
6130
6131
            cmd.add_element("new_threat", new_threat.value)
6132
6133
        return self._send_xml_command(cmd)
6134
6135
    def modify_port_list(
6136
        self,