Code Duplication    Length = 72-72 lines in 2 locations

gvm/protocols/gmpv208/entities/scanners.py 1 location

@@ 106-177 (lines=72) @@
103
        cmd.add_element("copy", scanner_id)
104
        return self._send_xml_command(cmd)
105
106
    def create_scanner(
107
        self,
108
        name: str,
109
        host: str,
110
        port: int,
111
        scanner_type: ScannerType,
112
        credential_id: str,
113
        *,
114
        ca_pub: Optional[str] = None,
115
        comment: Optional[str] = None,
116
    ) -> Any:
117
        """Create a new scanner
118
119
        Arguments:
120
            name: Name of the scanner
121
            host: The host of the scanner
122
            port: The port of the scanner
123
            scanner_type: Type of the scanner.
124
            credential_id: UUID of client certificate credential for the
125
                scanner
126
            ca_pub: Certificate of CA to verify scanner certificate
127
            comment: Comment for the scanner
128
        Returns:
129
            The response. See :py:meth:`send_command` for details.
130
        """
131
        if not name:
132
            raise RequiredArgument(
133
                function=self.create_scanner.__name__, argument='name'
134
            )
135
136
        if not host:
137
            raise RequiredArgument(
138
                function=self.create_scanner.__name__, argument='host'
139
            )
140
141
        if not port:
142
            raise RequiredArgument(
143
                function=self.create_scanner.__name__, argument='port'
144
            )
145
146
        if not scanner_type:
147
            raise RequiredArgument(
148
                function=self.create_scanner.__name__, argument='scanner_type'
149
            )
150
151
        if not credential_id:
152
            raise RequiredArgument(
153
                function=self.create_scanner.__name__, argument='credential_id'
154
            )
155
156
        if not isinstance(scanner_type, ScannerType):
157
            raise InvalidArgumentType(
158
                function=self.create_scanner.__name__,
159
                argument='scanner_type',
160
                arg_type=ScannerType.__name__,
161
            )
162
163
        cmd = XmlCommand("create_scanner")
164
        cmd.add_element("name", name)
165
        cmd.add_element("host", host)
166
        cmd.add_element("port", str(port))
167
        cmd.add_element("type", scanner_type.value)
168
169
        if ca_pub:
170
            cmd.add_element("ca_pub", ca_pub)
171
172
        cmd.add_element("credential", attrs={"id": str(credential_id)})
173
174
        if comment:
175
            cmd.add_element("comment", comment)
176
177
        return self._send_xml_command(cmd)
178
179
    def delete_scanner(
180
        self, scanner_id: str, *, ultimate: Optional[bool] = False

gvm/protocols/gmpv214/entities/scanners.py 1 location

@@ 84-155 (lines=72) @@
81
class ScannersMixin(Gmp208ScannersMixin):
82
    # Override bc. of ScannerType (?)
83
84
    def create_scanner(
85
        self,
86
        name: str,
87
        host: str,
88
        port: int,
89
        scanner_type: ScannerType,
90
        credential_id: str,
91
        *,
92
        ca_pub: Optional[str] = None,
93
        comment: Optional[str] = None,
94
    ) -> Any:
95
        """Create a new scanner
96
97
        Arguments:
98
            name: Name of the scanner
99
            host: The host of the scanner
100
            port: The port of the scanner
101
            scanner_type: Type of the scanner.
102
            credential_id: UUID of client certificate credential for the
103
                scanner
104
            ca_pub: Certificate of CA to verify scanner certificate
105
            comment: Comment for the scanner
106
        Returns:
107
            The response. See :py:meth:`send_command` for details.
108
        """
109
        if not name:
110
            raise RequiredArgument(
111
                function=self.create_scanner.__name__, argument='name'
112
            )
113
114
        if not host:
115
            raise RequiredArgument(
116
                function=self.create_scanner.__name__, argument='host'
117
            )
118
119
        if not port:
120
            raise RequiredArgument(
121
                function=self.create_scanner.__name__, argument='port'
122
            )
123
124
        if not scanner_type:
125
            raise RequiredArgument(
126
                function=self.create_scanner.__name__, argument='scanner_type'
127
            )
128
129
        if not credential_id:
130
            raise RequiredArgument(
131
                function=self.create_scanner.__name__, argument='credential_id'
132
            )
133
134
        if not isinstance(scanner_type, ScannerType):
135
            raise InvalidArgumentType(
136
                function=self.create_scanner.__name__,
137
                argument='scanner_type',
138
                arg_type=ScannerType.__name__,
139
            )
140
141
        cmd = XmlCommand("create_scanner")
142
        cmd.add_element("name", name)
143
        cmd.add_element("host", host)
144
        cmd.add_element("port", str(port))
145
        cmd.add_element("type", scanner_type.value)
146
147
        if ca_pub:
148
            cmd.add_element("ca_pub", ca_pub)
149
150
        cmd.add_element("credential", attrs={"id": str(credential_id)})
151
152
        if comment:
153
            cmd.add_element("comment", comment)
154
155
        return self._send_xml_command(cmd)
156
157
    def modify_scanner(
158
        self,