Code Duplication    Length = 90-91 lines in 2 locations

gvm/protocols/gmpv208/gmpv208.py 2 locations

@@ 3216-3306 (lines=91) @@
3213
        cmd.add_element("copy", note_id)
3214
        return self._send_xml_command(cmd)
3215
3216
    def create_override(
3217
        self,
3218
        text: str,
3219
        nvt_oid: str,
3220
        *,
3221
        days_active: Optional[int] = None,
3222
        hosts: Optional[List[str]] = None,
3223
        port: Optional[int] = None,
3224
        result_id: Optional[str] = None,
3225
        severity: Optional[Severity] = None,
3226
        new_severity: Optional[Severity] = None,
3227
        task_id: Optional[str] = None,
3228
        threat: Optional[SeverityLevel] = None,
3229
        new_threat: Optional[SeverityLevel] = None,
3230
    ) -> Any:
3231
        """Create a new override
3232
3233
        Arguments:
3234
            text: Text of the new override
3235
            nvt_id: OID of the nvt to which override applies
3236
            days_active: Days override will be active. -1 on always, 0 off
3237
            hosts: A list of host addresses
3238
            port: Port to which the override applies
3239
            result_id: UUID of a result to which override applies
3240
            severity: Severity to which override applies
3241
            new_severity: New severity for result
3242
            task_id: UUID of task to which override applies
3243
            threat: Severity level to which override applies. Will be converted
3244
                to severity.
3245
            new_threat: New severity level for results. Will be converted to
3246
                new_severity.
3247
3248
        Returns:
3249
            The response. See :py:meth:`send_command` for details.
3250
        """
3251
        if not text:
3252
            raise RequiredArgument(
3253
                function=self.create_override.__name__, argument='text'
3254
            )
3255
3256
        if not nvt_oid:
3257
            raise RequiredArgument(
3258
                function=self.create_override.__name__, argument='nvt_oid'
3259
            )
3260
3261
        cmd = XmlCommand("create_override")
3262
        cmd.add_element("text", text)
3263
        cmd.add_element("nvt", attrs={"oid": nvt_oid})
3264
3265
        if days_active is not None:
3266
            cmd.add_element("active", str(days_active))
3267
3268
        if hosts:
3269
            cmd.add_element("hosts", to_comma_list(hosts))
3270
3271
        if port:
3272
            cmd.add_element("port", str(port))
3273
3274
        if result_id:
3275
            cmd.add_element("result", attrs={"id": result_id})
3276
3277
        if severity:
3278
            cmd.add_element("severity", str(severity))
3279
3280
        if new_severity:
3281
            cmd.add_element("new_severity", str(new_severity))
3282
3283
        if task_id:
3284
            cmd.add_element("task", attrs={"id": task_id})
3285
3286
        if threat is not None:
3287
            if not isinstance(threat, SeverityLevel):
3288
                raise InvalidArgumentType(
3289
                    function=self.create_override.__name__,
3290
                    argument="threat",
3291
                    arg_type=SeverityLevel.__name__,
3292
                )
3293
3294
            cmd.add_element("threat", threat.value)
3295
3296
        if new_threat is not None:
3297
            if not isinstance(new_threat, SeverityLevel):
3298
                raise InvalidArgumentType(
3299
                    function=self.create_override.__name__,
3300
                    argument="new_threat",
3301
                    arg_type=SeverityLevel.__name__,
3302
                )
3303
3304
            cmd.add_element("new_threat", new_threat.value)
3305
3306
        return self._send_xml_command(cmd)
3307
3308
    def clone_override(self, override_id: str) -> Any:
3309
        """Clone an existing override
@@ 5611-5700 (lines=90) @@
5608
5609
        return self._send_xml_command(cmd)
5610
5611
    def modify_override(
5612
        self,
5613
        override_id: str,
5614
        text: str,
5615
        *,
5616
        days_active: Optional[int] = None,
5617
        hosts: Optional[List[str]] = None,
5618
        port: Optional[int] = None,
5619
        result_id: Optional[str] = None,
5620
        severity: Optional[Severity] = None,
5621
        new_severity: Optional[Severity] = None,
5622
        task_id: Optional[str] = None,
5623
        threat: Optional[SeverityLevel] = None,
5624
        new_threat: Optional[SeverityLevel] = None,
5625
    ) -> Any:
5626
        """Modifies an existing override.
5627
5628
        Arguments:
5629
            override_id: UUID of override to modify.
5630
            text: The text of the override.
5631
            days_active: Days override will be active. -1 on always,
5632
                0 off.
5633
            hosts: A list of host addresses
5634
            port: Port to which override applies.
5635
            result_id: Result to which override applies.
5636
            severity: Severity to which override applies.
5637
            new_severity: New severity score for result.
5638
            task_id: Task to which override applies.
5639
            threat: Threat level to which override applies.
5640
                Will be converted to severity.
5641
            new_threat: New threat level for results. Will be converted to
5642
                new_severity.
5643
5644
        Returns:
5645
            The response. See :py:meth:`send_command` for details.
5646
        """
5647
        if not override_id:
5648
            raise RequiredArgument(
5649
                function=self.modify_override.__name__, argument='override_id'
5650
            )
5651
        if not text:
5652
            raise RequiredArgument(
5653
                function=self.modify_override.__name__, argument='text'
5654
            )
5655
5656
        cmd = XmlCommand("modify_override")
5657
        cmd.set_attribute("override_id", override_id)
5658
        cmd.add_element("text", text)
5659
5660
        if days_active is not None:
5661
            cmd.add_element("active", str(days_active))
5662
5663
        if hosts:
5664
            cmd.add_element("hosts", to_comma_list(hosts))
5665
5666
        if port:
5667
            cmd.add_element("port", str(port))
5668
5669
        if result_id:
5670
            cmd.add_element("result", attrs={"id": result_id})
5671
5672
        if severity:
5673
            cmd.add_element("severity", str(severity))
5674
5675
        if new_severity:
5676
            cmd.add_element("new_severity", str(new_severity))
5677
5678
        if task_id:
5679
            cmd.add_element("task", attrs={"id": task_id})
5680
5681
        if threat is not None:
5682
            if not isinstance(threat, SeverityLevel):
5683
                raise InvalidArgumentType(
5684
                    function=self.modify_override.__name__,
5685
                    argument='threat',
5686
                    arg_type=SeverityLevel.__name__,
5687
                )
5688
            cmd.add_element("threat", threat.value)
5689
5690
        if new_threat is not None:
5691
            if not isinstance(new_threat, SeverityLevel):
5692
                raise InvalidArgumentType(
5693
                    function=self.modify_override.__name__,
5694
                    argument='new_threat',
5695
                    arg_type=SeverityLevel.__name__,
5696
                )
5697
5698
            cmd.add_element("new_threat", new_threat.value)
5699
5700
        return self._send_xml_command(cmd)
5701
5702
    def modify_report_format(
5703
        self,