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