Code Duplication    Length = 73-76 lines in 2 locations

gmp/xml.py 2 locations

@@ 925-1000 (lines=76) @@
922
923
        return cmd.to_string()
924
925
    def modify_credential_command(self, credential_id, kwargs):
926
        """Generates xml string for modify credential on gvmd."""
927
        if not credential_id:
928
            raise ValueError('modify_credential requires '
929
                             'a credential_id attribute')
930
931
        cmd = XmlCommand('modify_credential')
932
        cmd.set_attribute('credential_id', credential_id)
933
934
        comment = kwargs.get('comment', '')
935
        if comment:
936
            cmd.add_element('comment', comment)
937
938
        name = kwargs.get('name', '')
939
        if name:
940
            cmd.add_element('name', name)
941
942
        allow_insecure = kwargs.get('allow_insecure', '')
943
        if allow_insecure:
944
            cmd.add_element('allow_insecure', allow_insecure)
945
946
        certificate = kwargs.get('certificate', '')
947
        if certificate:
948
            cmd.add_element('certificate', certificate)
949
950
        key = kwargs.get('key', '')
951
        if key:
952
            phrase = key['phrase']
953
            private = key['private']
954
            if not phrase:
955
                raise ValueError('modify_credential requires a phrase element')
956
            if not private:
957
                raise ValueError('modify_credential requires '
958
                                 'a private element')
959
            _xmlkey = cmd.add_element('key')
960
            _xmlkey.add_element('phrase', phrase)
961
            _xmlkey.add_element('private', private)
962
963
        login = kwargs.get('login', '')
964
        if login:
965
            cmd.add_element('login', login)
966
967
        password = kwargs.get('password', '')
968
        if password:
969
            cmd.add_element('password', password)
970
971
        auth_algorithm = kwargs.get('auth_algorithm', '')
972
        if auth_algorithm:
973
            if auth_algorithm not in ('md5', 'sha1'):
974
                raise ValueError('modify_credential requires auth_algorithm '
975
                                 'to be either md5 or sha1')
976
            cmd.add_element('auth_algorithm', auth_algorithm)
977
978
        community = kwargs.get('community', '')
979
        if community:
980
            cmd.add_element('community', community)
981
982
        privacy = kwargs.get('privacy', '')
983
        if privacy:
984
            algorithm = privacy.algorithm
985
            if algorithm not in ('aes', 'des'):
986
                raise ValueError('modify_credential requires algorithm '
987
                                 'to be either aes or des')
988
            p_password = privacy.password
989
            _xmlprivacy = cmd.add_element('privacy')
990
            _xmlprivacy.add_element('algorithm', algorithm)
991
            _xmlprivacy.add_element('password', p_password)
992
993
        cred_type = kwargs.get('type', '')
994
        if cred_type:
995
            if cred_type not in ('cc', 'snmp', 'up', 'usk'):
996
                raise ValueError('modify_credential requires type '
997
                                 'to be either cc, snmp, up or usk')
998
            cmd.add_element('type', cred_type)
999
1000
        return cmd.to_string()
1001
1002
    def modify_filter_command(self, filter_id, kwargs):
1003
        """Generates xml string for modify filter on gvmd."""
@@ 183-255 (lines=73) @@
180
181
        return cmd.to_string()
182
183
    def create_credential_command(self, name, kwargs):
184
        """Generates xml string for create credential on gvmd."""
185
        cmd = XmlCommand('create_credential')
186
        cmd.add_element('name', name)
187
188
        comment = kwargs.get('comment', '')
189
        if comment:
190
            cmd.add_element('comment', comment)
191
192
        copy = kwargs.get('copy', '')
193
        if copy:
194
            cmd.add_element('copy', copy)
195
196
        allow_insecure = kwargs.get('allow_insecure', '')
197
        if allow_insecure:
198
            cmd.add_element('allow_insecure', allow_insecure)
199
200
        certificate = kwargs.get('certificate', '')
201
        if certificate:
202
            cmd.add_element('certificate', certificate)
203
204
        key = kwargs.get('key', '')
205
        if key:
206
            phrase = key['phrase']
207
            private = key['private']
208
            if not phrase:
209
                raise ValueError('create_credential requires a phrase element')
210
            if not private:
211
                raise ValueError('create_credential requires a '
212
                                 'private element')
213
214
            _xmlkey = cmd.add_element('key')
215
            _xmlkey.add_element('phrase', phrase)
216
            _xmlkey.add_element('private', private)
217
218
        login = kwargs.get('login', '')
219
        if login:
220
            cmd.add_element('login', login)
221
222
        password = kwargs.get('password', '')
223
        if password:
224
            cmd.add_element('password', password)
225
226
        auth_algorithm = kwargs.get('auth_algorithm', '')
227
        if auth_algorithm:
228
            if auth_algorithm not in ('md5', 'sha1'):
229
                raise ValueError('create_credential requires auth_algorithm '
230
                                 'to be either md5 or sha1')
231
            cmd.add_element('auth_algorithm', auth_algorithm)
232
233
        community = kwargs.get('community', '')
234
        if community:
235
            cmd.add_element('community', community)
236
237
        privacy = kwargs.get('privacy', '')
238
        if privacy:
239
            algorithm = privacy.algorithm
240
            if algorithm not in ('aes', 'des'):
241
                raise ValueError('create_credential requires algorithm '
242
                                 'to be either aes or des')
243
            p_password = privacy.password
244
            _xmlprivacy = cmd.add_element('privacy')
245
            _xmlprivacy.add_element('algorithm', algorithm)
246
            _xmlprivacy.add_element('password', p_password)
247
248
        cred_type = kwargs.get('type', '')
249
        if cred_type:
250
            if cred_type not in ('cc', 'snmp', 'up', 'usk'):
251
                raise ValueError('create_credential requires type '
252
                                 'to be either cc, snmp, up or usk')
253
            cmd.add_element('type', cred_type)
254
255
        return cmd.to_string()
256
257
    def create_filter_command(self, name, make_unique, kwargs):
258
        """Generates xml string for create filter on gvmd."""