def _recurse_config_to_dict(t_data):
 if (not isinstance(t_data, type(None))):
  if isinstance(t_data, list):
   t_list = []
   for i in t_data:
    t_list.append(_recurse_config_to_dict(i))
   return t_list
  elif isinstance(t_data, dict):
   t_dict = {}
   for (k, v) in t_data.iteritems():
    t_dict[k] = _recurse_config_to_dict(v)
   return t_dict
  elif hasattr(t_data, '__dict__'):
   return _recurse_config_to_dict(t_data.__dict__)
  else:
   return _serializer(t_data)

def _recurse_config_to_dict ( t_data ) : if ( not isinstance ( t_data , type ( None ) ) ) : if isinstance ( t_data , list ) : t_list = [ ] for i in t_data : t_list . append ( _recurse_config_to_dict ( i ) ) return t_list elif isinstance ( t_data , dict ) : t_dict = { } for ( k , v ) in t_data . iteritems ( ) : t_dict [ k ] = _recurse_config_to_dict ( v ) return t_dict elif hasattr ( t_data , '__dict__' ) : return _recurse_config_to_dict ( t_data . __dict__ ) else : return _serializer ( t_data )
helper function to recurse through a vim object and attempt to return all child objects .