Code Duplication    Length = 73-76 lines in 2 locations

gmp/xml.py 2 locations

@@ 934-1009 (lines=76) @@
931
932
        return cmd.to_string()
933
934
    def modify_credential_command(self, credential_id, kwargs):
935
        """Generates xml string for modify credential on gvmd."""
936
        if not credential_id:
937
            raise ValueError('modify_credential requires '
938
                             'a credential_id attribute')
939
940
        cmd = XmlCommand('modify_credential')
941
        cmd.set_attribute('credential_id', credential_id)
942
943
        comment = kwargs.get('comment', '')
944
        if comment:
945
            cmd.add_element('comment', comment)
946
947
        name = kwargs.get('name', '')
948
        if name:
949
            cmd.add_element('name', name)
950
951
        allow_insecure = kwargs.get('allow_insecure', '')
952
        if allow_insecure:
953
            cmd.add_element('allow_insecure', allow_insecure)
954
955
        certificate = kwargs.get('certificate', '')
956
        if certificate:
957
            cmd.add_element('certificate', certificate)
958
959
        key = kwargs.get('key', '')
960
        if key:
961
            phrase = key['phrase']
962
            private = key['private']
963
            if not phrase:
964
                raise ValueError('modify_credential requires a phrase element')
965
            if not private:
966
                raise ValueError('modify_credential requires '
967
                                 'a private element')
968
            _xmlkey = cmd.add_element('key')
969
            _xmlkey.add_element('phrase', phrase)
970
            _xmlkey.add_element('private', private)
971
972
        login = kwargs.get('login', '')
973
        if login:
974
            cmd.add_element('login', login)
975
976
        password = kwargs.get('password', '')
977
        if password:
978
            cmd.add_element('password', password)
979
980
        auth_algorithm = kwargs.get('auth_algorithm', '')
981
        if auth_algorithm:
982
            if auth_algorithm not in ('md5', 'sha1'):
983
                raise ValueError('modify_credential requires auth_algorithm '
984
                                 'to be either md5 or sha1')
985
            cmd.add_element('auth_algorithm', auth_algorithm)
986
987
        community = kwargs.get('community', '')
988
        if community:
989
            cmd.add_element('community', community)
990
991
        privacy = kwargs.get('privacy', '')
992
        if privacy:
993
            algorithm = privacy.algorithm
994
            if algorithm not in ('aes', 'des'):
995
                raise ValueError('modify_credential requires algorithm '
996
                                 'to be either aes or des')
997
            p_password = privacy.password
998
            _xmlprivacy = cmd.add_element('privacy')
999
            _xmlprivacy.add_element('algorithm', algorithm)
1000
            _xmlprivacy.add_element('password', p_password)
1001
1002
        cred_type = kwargs.get('type', '')
1003
        if cred_type:
1004
            if cred_type not in ('cc', 'snmp', 'up', 'usk'):
1005
                raise ValueError('modify_credential requires type '
1006
                                 'to be either cc, snmp, up or usk')
1007
            cmd.add_element('type', cred_type)
1008
1009
        return cmd.to_string()
1010
1011
    def modify_filter_command(self, filter_id, kwargs):
1012
        """Generates xml string for modify filter on gvmd."""
@@ 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."""