<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def varinq(self, variable):
 """ Returns a dictionary that shows the basic variable information. This information includes | ['Variable'] | the name of the variable | | ['Num'] | the variable number | | ['Var_Type'] | the variable type: zVariable or rVariable | | ['Data_Type'] | the variable's CDF data type | | ['Num_Elements']| the number of elements of the variable | | ['Num_Dims'] | the dimensionality of the variable record | | ['Dim_Sizes'] | the shape of the variable record | | ['Sparse'] | the variable's record sparseness | | ['Last_Rec'] | the maximum written record number (0-based) | | ['Dim_Vary'] | the dimensional variance(s) | | ['Rec_Vary'] | the record variance | | ['Pad'] | the padded value if set | | ['Compress'] | the GZIP compression level, 0 to 9. 0 if not compressed | | ['Block_Factor']| the blocking factor if the variable is compressed | Parameters variable : """

        vdr_info = self.varget(variable=variable, inq=True)
        if vdr_info is None:
            raise KeyError("Variable {} not found.".format(variable))

        var = {}
        var['Variable'] = vdr_info['name']
        var['Num'] = vdr_info['variable_number']
        var['Var_Type'] = CDF._variable_token(vdr_info['section_type'])
        var['Data_Type'] = vdr_info['data_type']
        var['Data_Type_Description'] = CDF._datatype_token(vdr_info['data_type'])
        var['Num_Elements'] = vdr_info['num_elements']
        var['Num_Dims'] = vdr_info['num_dims']
        var['Dim_Sizes'] = vdr_info['dim_sizes']
        var['Sparse'] = CDF._sparse_token(vdr_info['sparse'])
        var['Last_Rec'] = vdr_info['max_records']
        var['Rec_Vary'] = vdr_info['record_vary']
        var['Dim_Vary'] = vdr_info['dim_vary']
        if ('pad' in vdr_info):
            var['Pad'] = vdr_info['pad']
        var['Compress'] = vdr_info['compression_level']
        if ('blocking_factor' in vdr_info):
            var['Block_Factor'] = vdr_info['blocking_factor']

        return var