Revision aa29e95f lib/query.py

b/lib/query.py
235 235
  return result
236 236

  
237 237

  
238
def QueryFields(fielddefs, selected):
239
  """Returns list of available fields.
240

  
241
  @type fielddefs: dict
242
  @param fielddefs: Field definitions
243
  @type selected: list of strings
244
  @param selected: List of selected fields
245
  @return: List of L{objects.QueryFieldDefinition}
246

  
247
  """
248
  if selected is None:
249
    # Client requests all fields, sort by name
250
    fdefs = utils.NiceSort(GetAllFields(fielddefs.values()),
251
                           key=operator.attrgetter("name"))
252
  else:
253
    # Keep order as requested by client
254
    fdefs = Query(fielddefs, selected).GetFields()
255

  
256
  return objects.QueryFieldsResponse(fields=fdefs).ToDict()
257

  
258

  
238 259
def _MakeField(name, title, kind):
239 260
  """Wrapper for creating L{objects.QueryFieldDefinition} instances.
240 261

  

Also available in: Unified diff