Code Duplication    Length = 54-57 lines in 2 locations

gvm/protocols/gmpv7.py 2 locations

@@ 3917-3973 (lines=57) @@
3914
3915
        return self._send_xml_command(cmd)
3916
3917
    def modify_scanner(self, scanner_id, host, port, scanner_type, *,
3918
                       comment=None, name=None, ca_pub=None,
3919
                       credential_id=None):
3920
        """Modifies an existing scanner.
3921
3922
        Arguments:
3923
            scanner_id (str): UUID of scanner to modify.
3924
            host (str): Host of the scanner.
3925
            port (str): Port of the scanner.
3926
            scanner_type (str): Type of the scanner.
3927
                '1' for OSP, '2' for OpenVAS (classic) Scanner.
3928
            comment (str, optional): Comment on scanner.
3929
            name (str, optional): Name of scanner.
3930
            ca_pub (str, optional): Certificate of CA to verify scanner's
3931
                certificate.
3932
            credential_id (str, optional): UUID of the client certificate
3933
                credential for the Scanner.
3934
3935
        Returns:
3936
            The response. See :py:meth:`send_command` for details.
3937
        """
3938
        if not scanner_id:
3939
            raise RequiredArgument(
3940
                'modify_scanner requires a scanner_id argument')
3941
        if not host:
3942
            raise RequiredArgument('modify_scanner requires a host argument')
3943
        if not port:
3944
            raise RequiredArgument('modify_scanner requires a port argument')
3945
        if not scanner_type:
3946
            raise RequiredArgument('modify_scanner requires a scanner_type '
3947
                                   'argument')
3948
3949
        cmd = XmlCommand('modify_scanner')
3950
        cmd.set_attribute('scanner_id', scanner_id)
3951
        cmd.add_element('host', host)
3952
        cmd.add_element('port', port)
3953
3954
        if scanner_type not in SCANNER_TYPES:
3955
            raise InvalidArgument('modify_scanner requires a scanner_type '
3956
                                  'argument which must be either "1" for OSP '
3957
                                  'or "2" OpenVAS (Classic).')
3958
3959
        cmd.add_element('type', scanner_type)
3960
3961
        if comment:
3962
            cmd.add_element('comment', comment)
3963
3964
        if name:
3965
            cmd.add_element('name', name)
3966
3967
        if ca_pub:
3968
            cmd.add_element('ca_pub', ca_pub)
3969
3970
        if credential_id:
3971
            cmd.add_element('credential', attrs={'id': str(credential_id)})
3972
3973
        return self._send_xml_command(cmd)
3974
3975
    def modify_schedule(self, schedule_id, *, comment=None, name=None,
3976
                        first_time_minute=None, first_time_hour=None,
@@ 1075-1128 (lines=54) @@
1072
        cmd.add_element('copy', role_id)
1073
        return self._send_xml_command(cmd)
1074
1075
    def create_scanner(self, name, host, port, scanner_type, ca_pub,
1076
                       credential_id, *, comment=None):
1077
        """Create a new scanner
1078
1079
        Arguments:
1080
            name (str): Name of the scanner
1081
            host (str): The host of the scanner
1082
            port (str): The port of the scanner
1083
            scanner_type (str): Type of the scanner.
1084
                '1' for OSP, '2' for OpenVAS (classic) Scanner.
1085
            ca_pub (str): Certificate of CA to verify scanner certificate
1086
            credential_id (str): UUID of client certificate credential for the
1087
                scanner
1088
            comment (str, optional): Comment for the scanner
1089
1090
        Returns:
1091
            The response. See :py:meth:`send_command` for details.
1092
        """
1093
        if not name:
1094
            raise RequiredArgument('create_scanner requires a name argument')
1095
1096
        if not host:
1097
            raise RequiredArgument('create_scanner requires a host argument')
1098
1099
        if not port:
1100
            raise RequiredArgument('create_scanner requires a port argument')
1101
1102
        if not scanner_type:
1103
            raise RequiredArgument('create_scanner requires a scanner_type '
1104
                                   'argument')
1105
        if not ca_pub:
1106
            raise RequiredArgument('create_scanner requires a ca_pub argument')
1107
1108
        if not credential_id:
1109
            raise RequiredArgument('create_scanner requires a credential_id '
1110
                                   'argument')
1111
1112
        if scanner_type not in SCANNER_TYPES:
1113
            raise InvalidArgument('create_scanner requires a scanner_type '
1114
                                  'argument which must be either "1" for OSP '
1115
                                  'or "2" OpenVAS (Classic).')
1116
1117
        cmd = XmlCommand('create_scanner')
1118
        cmd.add_element('name', name)
1119
        cmd.add_element('host', host)
1120
        cmd.add_element('port', port)
1121
        cmd.add_element('type', scanner_type)
1122
        cmd.add_element('ca_pub', ca_pub)
1123
        cmd.add_element('credential', attrs={'id': str(credential_id)})
1124
1125
        if comment:
1126
            cmd.add_element('comment', comment)
1127
1128
        return self._send_xml_command(cmd)
1129
1130
    def clone_scanner(self, scanner_id):
1131
        """Clone an existing scanner