Code Duplication    Length = 90-91 lines in 2 locations

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
        seconds_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
            seconds_active: Seconds 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 seconds_active is not None:
1033
            cmd.add_element("active", str(seconds_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
@@ 5086-5175 (lines=90) @@
5083
5084
        return self._send_xml_command(cmd)
5085
5086
    def modify_override(
5087
        self,
5088
        override_id: str,
5089
        text: str,
5090
        *,
5091
        seconds_active: Optional[int] = None,
5092
        hosts: Optional[List[str]] = None,
5093
        port: Optional[int] = None,
5094
        result_id: Optional[str] = None,
5095
        severity: Optional[Severity] = None,
5096
        new_severity: Optional[Severity] = None,
5097
        task_id: Optional[str] = None,
5098
        threat: Optional[SeverityLevel] = None,
5099
        new_threat: Optional[SeverityLevel] = None
5100
    ) -> Any:
5101
        """Modifies an existing override.
5102
5103
        Arguments:
5104
            override_id: UUID of override to modify.
5105
            text: The text of the override.
5106
            seconds_active: Seconds override will be active. -1 on always,
5107
                0 off.
5108
            hosts: A list of host addresses
5109
            port: Port to which override applies.
5110
            result_id: Result to which override applies.
5111
            severity: Severity to which override applies.
5112
            new_severity: New severity score for result.
5113
            task_id: Task to which override applies.
5114
            threat: Threat level to which override applies.
5115
                Will be converted to severity.
5116
            new_threat: New threat level for results. Will be converted to
5117
                new_severity.
5118
5119
        Returns:
5120
            The response. See :py:meth:`send_command` for details.
5121
        """
5122
        if not override_id:
5123
            raise RequiredArgument(
5124
                function=self.modify_override.__name__, argument='override_id'
5125
            )
5126
        if not text:
5127
            raise RequiredArgument(
5128
                function=self.modify_override.__name__, argument='text'
5129
            )
5130
5131
        cmd = XmlCommand("modify_override")
5132
        cmd.set_attribute("override_id", override_id)
5133
        cmd.add_element("text", text)
5134
5135
        if seconds_active is not None:
5136
            cmd.add_element("active", str(seconds_active))
5137
5138
        if hosts:
5139
            cmd.add_element("hosts", _to_comma_list(hosts))
5140
5141
        if port:
5142
            cmd.add_element("port", str(port))
5143
5144
        if result_id:
5145
            cmd.add_element("result", attrs={"id": result_id})
5146
5147
        if severity:
5148
            cmd.add_element("severity", str(severity))
5149
5150
        if new_severity:
5151
            cmd.add_element("new_severity", str(new_severity))
5152
5153
        if task_id:
5154
            cmd.add_element("task", attrs={"id": task_id})
5155
5156
        if threat is not None:
5157
            if not isinstance(threat, SeverityLevel):
5158
                raise InvalidArgumentType(
5159
                    function=self.modify_override.__name__,
5160
                    argument='threat',
5161
                    arg_type=SeverityLevel.__name__,
5162
                )
5163
            cmd.add_element("threat", threat.value)
5164
5165
        if new_threat is not None:
5166
            if not isinstance(new_threat, SeverityLevel):
5167
                raise InvalidArgumentType(
5168
                    function=self.modify_override.__name__,
5169
                    argument='new_threat',
5170
                    arg_type=SeverityLevel.__name__,
5171
                )
5172
5173
            cmd.add_element("new_threat", new_threat.value)
5174
5175
        return self._send_xml_command(cmd)
5176
5177
    def modify_permission(
5178
        self,