Introduce parse_fields function

This commit is contained in:
Florent 2014-06-18 15:35:19 +02:00
commit 38a8fd00b7

View file

@ -340,10 +340,7 @@ class ReplApplication(Cmd, ConsoleApplication):
if not fields and fields != []: if not fields and fields != []:
fields = self.selected_fields fields = self.selected_fields
if '$direct' in fields: fields = self.parse_fields(fields)
fields = []
elif '$full' in fields:
fields = None
if fields and self.formatter.MANDATORY_FIELDS is not None: if fields and self.formatter.MANDATORY_FIELDS is not None:
missing_fields = set(self.formatter.MANDATORY_FIELDS) - set(fields) missing_fields = set(self.formatter.MANDATORY_FIELDS) - set(fields)
@ -1246,12 +1243,15 @@ class ReplApplication(Cmd, ConsoleApplication):
alias = '%s' % len(self.objects) alias = '%s' % len(self.objects)
self.format(obj, alias=alias) self.format(obj, alias=alias)
def format(self, result, alias=None): def parse_fields(self, fields):
fields = self.selected_fields
if '$direct' in fields: if '$direct' in fields:
fields = [] return []
elif '$full' in fields: if '$full' in fields:
fields = None return None
return fields
def format(self, result, alias=None):
fields = self.parse_fields(self.selected_fields)
try: try:
self.formatter.format(obj=result, selected_fields=fields, alias=alias) self.formatter.format(obj=result, selected_fields=fields, alias=alias)
except FieldNotFound as e: except FieldNotFound as e: