human
Solve the following python programming problem given the following code:
def _qosgrp_match(self, drive_type, qos_values) : 
    def _compare_names(str1, str2) : 
        return (str1.lower () == str2.lower ()) 
def _compare_sizes_approxim(cap_capacity, size) : 
        cap_capacity = BYTES_TO_GB (int (cap_capacity)) 
        size = int (size) 
        size_perc = ((size * FLAGS.drive_type_approx_capacity_percent) / 100) 
        return ((cap_capacity >= (size - size_perc)) and (cap_capacity <= (size + size_perc))) 
compare_list = [{ 
        'cap1' : 'DriveType', 
        'cap2' : 'type', 
        'cmp_func' : _compare_names, 
}, { 
        'cap1' : 'DriveCapacity', 
        'cap2' : 'size', 
        'cmp_func' : _compare_sizes_approxim, 
}] 
    for cap in compare_list : 
        if ((cap ['cap1'] in qos_values.keys ()) and (cap ['cap2'] in drive_type.keys ()) and (cap ['cmp_func'] is not None) and cap ['cmp_func'] (compare_list [cap ['cap1']], drive_type [cap ['cap2']])) : 
            pass 
else : 
            return False 
return True 

    
    

    Fix the buggy line: if ((cap ['cap1'] in qos_values.keys ()) and (cap ['cap2'] in drive_type.keys ()) and (cap ['cmp_func'] is not None) and cap ['cmp_func'] (compare_list [cap ['cap1']], drive_type [cap ['cap2']])) :
assistant
#Here is Python program to fix the buggy line: if ((cap ['cap1'] in qos_values.

if ((cap ['cap1'] in qos_values.keys ()) and (cap ['cap2'] in drive_type.keys ()) and (cap ['cmp_func'] is not None) and cap ['cmp_func'] (qos_values [cap ['cap1']], drive_type [cap ['cap2']])) :