Code Duplication    Length = 54-57 lines in 2 locations

gvm/protocols/gmpv7.py 2 locations

@@ 3897-3953 (lines=57) @@
3894
3895
        return self._send_xml_command(cmd)
3896
3897
    def modify_scanner(self, scanner_id, host, port, scanner_type, *,
3898
                       comment=None, name=None, ca_pub=None,
3899
                       credential_id=None):
3900
        """Modifies an existing scanner.
3901
3902
        Arguments:
3903
            scanner_id (str): UUID of scanner to modify.
3904
            host (str): Host of the scanner.
3905
            port (str): Port of the scanner.
3906
            scanner_type (str): Type of the scanner.
3907
                '1' for OSP, '2' for OpenVAS (classic) Scanner.
3908
            comment (str, optional): Comment on scanner.
3909
            name (str, optional): Name of scanner.
3910
            ca_pub (str, optional): Certificate of CA to verify scanner's
3911
                certificate.
3912
            credential_id (str, optional): UUID of the client certificate
3913
                credential for the Scanner.
3914
3915
        Returns:
3916
            The response. See :py:meth:`send_command` for details.
3917
        """
3918
        if not scanner_id:
3919
            raise RequiredArgument(
3920
                'modify_scanner requires a scanner_id argument')
3921
        if not host:
3922
            raise RequiredArgument('modify_scanner requires a host argument')
3923
        if not port:
3924
            raise RequiredArgument('modify_scanner requires a port argument')
3925
        if not scanner_type:
3926
            raise RequiredArgument('modify_scanner requires a scanner_type '
3927
                                   'argument')
3928
3929
        cmd = XmlCommand('modify_scanner')
3930
        cmd.set_attribute('scanner_id', scanner_id)
3931
        cmd.add_element('host', host)
3932
        cmd.add_element('port', port)
3933
3934
        if scanner_type not in SCANNER_TYPES:
3935
            raise InvalidArgument('modify_scanner requires a scanner_type '
3936
                                  'argument which must be either "1" for OSP '
3937
                                  'or "2" OpenVAS (Classic).')
3938
3939
        cmd.add_element('type', scanner_type)
3940
3941
        if comment:
3942
            cmd.add_element('comment', comment)
3943
3944
        if name:
3945
            cmd.add_element('name', name)
3946
3947
        if ca_pub:
3948
            cmd.add_element('ca_pub', ca_pub)
3949
3950
        if credential_id:
3951
            cmd.add_element('credential', attrs={'id': str(credential_id)})
3952
3953
        return self._send_xml_command(cmd)
3954
3955
    def modify_schedule(self, schedule_id, *, comment=None, name=None,
3956
                        first_time_minute=None, first_time_hour=None,
@@ 1058-1111 (lines=54) @@
1055
        cmd.add_element('copy', role_id)
1056
        return self._send_xml_command(cmd)
1057
1058
    def create_scanner(self, name, host, port, scanner_type, ca_pub,
1059
                       credential_id, *, comment=None):
1060
        """Create a new scanner
1061
1062
        Arguments:
1063
            name (str): Name of the scanner
1064
            host (str): The host of the scanner
1065
            port (str): The port of the scanner
1066
            scanner_type (str): Type of the scanner.
1067
                '1' for OSP, '2' for OpenVAS (classic) Scanner.
1068
            ca_pub (str): Certificate of CA to verify scanner certificate
1069
            credential_id (str): UUID of client certificate credential for the
1070
                scanner
1071
            comment (str, optional): Comment for the scanner
1072
1073
        Returns:
1074
            The response. See :py:meth:`send_command` for details.
1075
        """
1076
        if not name:
1077
            raise RequiredArgument('create_scanner requires a name argument')
1078
1079
        if not host:
1080
            raise RequiredArgument('create_scanner requires a host argument')
1081
1082
        if not port:
1083
            raise RequiredArgument('create_scanner requires a port argument')
1084
1085
        if not scanner_type:
1086
            raise RequiredArgument('create_scanner requires a scanner_type '
1087
                                   'argument')
1088
        if not ca_pub:
1089
            raise RequiredArgument('create_scanner requires a ca_pub argument')
1090
1091
        if not credential_id:
1092
            raise RequiredArgument('create_scanner requires a credential_id '
1093
                                   'argument')
1094
1095
        if scanner_type not in SCANNER_TYPES:
1096
            raise InvalidArgument('create_scanner requires a scanner_type '
1097
                                  'argument which must be either "1" for OSP '
1098
                                  'or "2" OpenVAS (Classic).')
1099
1100
        cmd = XmlCommand('create_scanner')
1101
        cmd.add_element('name', name)
1102
        cmd.add_element('host', host)
1103
        cmd.add_element('port', port)
1104
        cmd.add_element('type', scanner_type)
1105
        cmd.add_element('ca_pub', ca_pub)
1106
        cmd.add_element('credential', attrs={'id': str(credential_id)})
1107
1108
        if comment:
1109
            cmd.add_element('comment', comment)
1110
1111
        return self._send_xml_command(cmd)
1112
1113
    def clone_scanner(self, scanner_id):
1114
        """Clone an existing scanner