Introduce parse_fields function
This commit is contained in:
parent
b105b8df19
commit
38a8fd00b7
1 changed files with 9 additions and 9 deletions
|
|
@ -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:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue