Code Duplication    Length = 73-76 lines in 2 locations

gvm/xml.py 2 locations

@@ 168-240 (lines=73) @@
165
166
        return cmd.to_string()
167
168
    def create_credential_command(self, name, kwargs):
169
        """Generates xml string for create credential on gvmd."""
170
        cmd = XmlCommand('create_credential')
171
        cmd.add_element('name', name)
172
173
        comment = kwargs.get('comment', '')
174
        if comment:
175
            cmd.add_element('comment', comment)
176
177
        copy = kwargs.get('copy', '')
178
        if copy:
179
            cmd.add_element('copy', copy)
180
181
        allow_insecure = kwargs.get('allow_insecure', '')
182
        if allow_insecure:
183
            cmd.add_element('allow_insecure', allow_insecure)
184
185
        certificate = kwargs.get('certificate', '')
186
        if certificate:
187
            cmd.add_element('certificate', certificate)
188
189
        key = kwargs.get('key', '')
190
        if key:
191
            phrase = key['phrase']
192
            private = key['private']
193
            if not phrase:
194
                raise ValueError('create_credential requires a phrase element')
195
            if not private:
196
                raise ValueError('create_credential requires a '
197
                                 'private element')
198
199
            _xmlkey = cmd.add_element('key')
200
            _xmlkey.add_element('phrase', phrase)
201
            _xmlkey.add_element('private', private)
202
203
        login = kwargs.get('login', '')
204
        if login:
205
            cmd.add_element('login', login)
206
207
        password = kwargs.get('password', '')
208
        if password:
209
            cmd.add_element('password', password)
210
211
        auth_algorithm = kwargs.get('auth_algorithm', '')
212
        if auth_algorithm:
213
            if auth_algorithm not in ('md5', 'sha1'):
214
                raise ValueError('create_credential requires auth_algorithm '
215
                                 'to be either md5 or sha1')
216
            cmd.add_element('auth_algorithm', auth_algorithm)
217
218
        community = kwargs.get('community', '')
219
        if community:
220
            cmd.add_element('community', community)
221
222
        privacy = kwargs.get('privacy', '')
223
        if privacy:
224
            algorithm = privacy.algorithm
225
            if algorithm not in ('aes', 'des'):
226
                raise ValueError('create_credential requires algorithm '
227
                                 'to be either aes or des')
228
            p_password = privacy.password
229
            _xmlprivacy = cmd.add_element('privacy')
230
            _xmlprivacy.add_element('algorithm', algorithm)
231
            _xmlprivacy.add_element('password', p_password)
232
233
        cred_type = kwargs.get('type', '')
234
        if cred_type:
235
            if cred_type not in ('cc', 'snmp', 'up', 'usk'):
236
                raise ValueError('create_credential requires type '
237
                                 'to be either cc, snmp, up or usk')
238
            cmd.add_element('type', cred_type)
239
240
        return cmd.to_string()
241
242
    def create_group_command(self, name, kwargs):
243
        """Generates xml string for create group on gvmd."""
@@ 783-858 (lines=76) @@
780
781
        return cmd.to_string()
782
783
    def modify_credential_command(self, credential_id, kwargs):
784
        """Generates xml string for modify credential on gvmd."""
785
        if not credential_id:
786
            raise ValueError('modify_credential requires '
787
                             'a credential_id attribute')
788
789
        cmd = XmlCommand('modify_credential')
790
        cmd.set_attribute('credential_id', credential_id)
791
792
        comment = kwargs.get('comment', '')
793
        if comment:
794
            cmd.add_element('comment', comment)
795
796
        name = kwargs.get('name', '')
797
        if name:
798
            cmd.add_element('name', name)
799
800
        allow_insecure = kwargs.get('allow_insecure', '')
801
        if allow_insecure:
802
            cmd.add_element('allow_insecure', allow_insecure)
803
804
        certificate = kwargs.get('certificate', '')
805
        if certificate:
806
            cmd.add_element('certificate', certificate)
807
808
        key = kwargs.get('key', '')
809
        if key:
810
            phrase = key['phrase']
811
            private = key['private']
812
            if not phrase:
813
                raise ValueError('modify_credential requires a phrase element')
814
            if not private:
815
                raise ValueError('modify_credential requires '
816
                                 'a private element')
817
            _xmlkey = cmd.add_element('key')
818
            _xmlkey.add_element('phrase', phrase)
819
            _xmlkey.add_element('private', private)
820
821
        login = kwargs.get('login', '')
822
        if login:
823
            cmd.add_element('login', login)
824
825
        password = kwargs.get('password', '')
826
        if password:
827
            cmd.add_element('password', password)
828
829
        auth_algorithm = kwargs.get('auth_algorithm', '')
830
        if auth_algorithm:
831
            if auth_algorithm not in ('md5', 'sha1'):
832
                raise ValueError('modify_credential requires auth_algorithm '
833
                                 'to be either md5 or sha1')
834
            cmd.add_element('auth_algorithm', auth_algorithm)
835
836
        community = kwargs.get('community', '')
837
        if community:
838
            cmd.add_element('community', community)
839
840
        privacy = kwargs.get('privacy', '')
841
        if privacy:
842
            algorithm = privacy.algorithm
843
            if algorithm not in ('aes', 'des'):
844
                raise ValueError('modify_credential requires algorithm '
845
                                 'to be either aes or des')
846
            p_password = privacy.password
847
            _xmlprivacy = cmd.add_element('privacy')
848
            _xmlprivacy.add_element('algorithm', algorithm)
849
            _xmlprivacy.add_element('password', p_password)
850
851
        cred_type = kwargs.get('type', '')
852
        if cred_type:
853
            if cred_type not in ('cc', 'snmp', 'up', 'usk'):
854
                raise ValueError('modify_credential requires type '
855
                                 'to be either cc, snmp, up or usk')
856
            cmd.add_element('type', cred_type)
857
858
        return cmd.to_string()
859
860
    def modify_filter_command(self, filter_id, kwargs):
861
        """Generates xml string for modify filter on gvmd."""