Code Duplication    Length = 90-91 lines in 2 locations

gvm/protocols/gmpv208/gmpv208.py 2 locations

@@ 3130-3220 (lines=91) @@
3127
        cmd.add_element("copy", note_id)
3128
        return self._send_xml_command(cmd)
3129
3130
    def create_override(
3131
        self,
3132
        text: str,
3133
        nvt_oid: str,
3134
        *,
3135
        days_active: Optional[int] = None,
3136
        hosts: Optional[List[str]] = None,
3137
        port: Optional[int] = None,
3138
        result_id: Optional[str] = None,
3139
        severity: Optional[Severity] = None,
3140
        new_severity: Optional[Severity] = None,
3141
        task_id: Optional[str] = None,
3142
        threat: Optional[SeverityLevel] = None,
3143
        new_threat: Optional[SeverityLevel] = None,
3144
    ) -> Any:
3145
        """Create a new override
3146
3147
        Arguments:
3148
            text: Text of the new override
3149
            nvt_id: OID of the nvt to which override applies
3150
            days_active: Days override will be active. -1 on always, 0 off
3151
            hosts: A list of host addresses
3152
            port: Port to which the override applies
3153
            result_id: UUID of a result to which override applies
3154
            severity: Severity to which override applies
3155
            new_severity: New severity for result
3156
            task_id: UUID of task to which override applies
3157
            threat: Severity level to which override applies. Will be converted
3158
                to severity.
3159
            new_threat: New severity level for results. Will be converted to
3160
                new_severity.
3161
3162
        Returns:
3163
            The response. See :py:meth:`send_command` for details.
3164
        """
3165
        if not text:
3166
            raise RequiredArgument(
3167
                function=self.create_override.__name__, argument='text'
3168
            )
3169
3170
        if not nvt_oid:
3171
            raise RequiredArgument(
3172
                function=self.create_override.__name__, argument='nvt_oid'
3173
            )
3174
3175
        cmd = XmlCommand("create_override")
3176
        cmd.add_element("text", text)
3177
        cmd.add_element("nvt", attrs={"oid": nvt_oid})
3178
3179
        if days_active is not None:
3180
            cmd.add_element("active", str(days_active))
3181
3182
        if hosts:
3183
            cmd.add_element("hosts", to_comma_list(hosts))
3184
3185
        if port:
3186
            cmd.add_element("port", str(port))
3187
3188
        if result_id:
3189
            cmd.add_element("result", attrs={"id": result_id})
3190
3191
        if severity:
3192
            cmd.add_element("severity", str(severity))
3193
3194
        if new_severity:
3195
            cmd.add_element("new_severity", str(new_severity))
3196
3197
        if task_id:
3198
            cmd.add_element("task", attrs={"id": task_id})
3199
3200
        if threat is not None:
3201
            if not isinstance(threat, SeverityLevel):
3202
                raise InvalidArgumentType(
3203
                    function=self.create_override.__name__,
3204
                    argument="threat",
3205
                    arg_type=SeverityLevel.__name__,
3206
                )
3207
3208
            cmd.add_element("threat", threat.value)
3209
3210
        if new_threat is not None:
3211
            if not isinstance(new_threat, SeverityLevel):
3212
                raise InvalidArgumentType(
3213
                    function=self.create_override.__name__,
3214
                    argument="new_threat",
3215
                    arg_type=SeverityLevel.__name__,
3216
                )
3217
3218
            cmd.add_element("new_threat", new_threat.value)
3219
3220
        return self._send_xml_command(cmd)
3221
3222
    def clone_override(self, override_id: str) -> Any:
3223
        """Clone an existing override
@@ 5361-5450 (lines=90) @@
5358
5359
        return self._send_xml_command(cmd)
5360
5361
    def modify_override(
5362
        self,
5363
        override_id: str,
5364
        text: str,
5365
        *,
5366
        days_active: Optional[int] = None,
5367
        hosts: Optional[List[str]] = None,
5368
        port: Optional[int] = None,
5369
        result_id: Optional[str] = None,
5370
        severity: Optional[Severity] = None,
5371
        new_severity: Optional[Severity] = None,
5372
        task_id: Optional[str] = None,
5373
        threat: Optional[SeverityLevel] = None,
5374
        new_threat: Optional[SeverityLevel] = None,
5375
    ) -> Any:
5376
        """Modifies an existing override.
5377
5378
        Arguments:
5379
            override_id: UUID of override to modify.
5380
            text: The text of the override.
5381
            days_active: Days override will be active. -1 on always,
5382
                0 off.
5383
            hosts: A list of host addresses
5384
            port: Port to which override applies.
5385
            result_id: Result to which override applies.
5386
            severity: Severity to which override applies.
5387
            new_severity: New severity score for result.
5388
            task_id: Task to which override applies.
5389
            threat: Threat level to which override applies.
5390
                Will be converted to severity.
5391
            new_threat: New threat level for results. Will be converted to
5392
                new_severity.
5393
5394
        Returns:
5395
            The response. See :py:meth:`send_command` for details.
5396
        """
5397
        if not override_id:
5398
            raise RequiredArgument(
5399
                function=self.modify_override.__name__, argument='override_id'
5400
            )
5401
        if not text:
5402
            raise RequiredArgument(
5403
                function=self.modify_override.__name__, argument='text'
5404
            )
5405
5406
        cmd = XmlCommand("modify_override")
5407
        cmd.set_attribute("override_id", override_id)
5408
        cmd.add_element("text", text)
5409
5410
        if days_active is not None:
5411
            cmd.add_element("active", str(days_active))
5412
5413
        if hosts:
5414
            cmd.add_element("hosts", to_comma_list(hosts))
5415
5416
        if port:
5417
            cmd.add_element("port", str(port))
5418
5419
        if result_id:
5420
            cmd.add_element("result", attrs={"id": result_id})
5421
5422
        if severity:
5423
            cmd.add_element("severity", str(severity))
5424
5425
        if new_severity:
5426
            cmd.add_element("new_severity", str(new_severity))
5427
5428
        if task_id:
5429
            cmd.add_element("task", attrs={"id": task_id})
5430
5431
        if threat is not None:
5432
            if not isinstance(threat, SeverityLevel):
5433
                raise InvalidArgumentType(
5434
                    function=self.modify_override.__name__,
5435
                    argument='threat',
5436
                    arg_type=SeverityLevel.__name__,
5437
                )
5438
            cmd.add_element("threat", threat.value)
5439
5440
        if new_threat is not None:
5441
            if not isinstance(new_threat, SeverityLevel):
5442
                raise InvalidArgumentType(
5443
                    function=self.modify_override.__name__,
5444
                    argument='new_threat',
5445
                    arg_type=SeverityLevel.__name__,
5446
                )
5447
5448
            cmd.add_element("new_threat", new_threat.value)
5449
5450
        return self._send_xml_command(cmd)
5451
5452
    def modify_report_format(
5453
        self,