Code Duplication    Length = 73-76 lines in 2 locations

gmp/xml.py 2 locations

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