formatters accept no backend name
This commit is contained in:
parent
dbaaa8ea0a
commit
41eea192f4
2 changed files with 10 additions and 6 deletions
|
|
@ -203,9 +203,10 @@ class ConsoleApplication(BaseApplication):
|
||||||
def set_header(self, string):
|
def set_header(self, string):
|
||||||
self.formatter.set_header(string)
|
self.formatter.set_header(string)
|
||||||
|
|
||||||
def format(self, result, backend_name):
|
def format(self, result, backend_name=None):
|
||||||
try:
|
try:
|
||||||
self.formatter.format(result, backend_name, selected_fields=self.selected_fields, condition=self.condition)
|
self.formatter.format(obj=result, backend_name=backend_name,
|
||||||
|
selected_fields=self.selected_fields, condition=self.condition)
|
||||||
except ResultsConditionException, e:
|
except ResultsConditionException, e:
|
||||||
logging.error(e)
|
logging.error(e)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ class IFormatter(object):
|
||||||
def flush(self):
|
def flush(self):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
def format(self, obj, backend_name, selected_fields=None, condition=None):
|
def format(self, obj, backend_name=None, selected_fields=None, condition=None):
|
||||||
"""
|
"""
|
||||||
Format an object to be human-readable.
|
Format an object to be human-readable.
|
||||||
An object has fields which can be selected, and the objects
|
An object has fields which can be selected, and the objects
|
||||||
|
|
@ -46,7 +46,10 @@ class IFormatter(object):
|
||||||
@param condition [Condition] condition to objects to display
|
@param condition [Condition] condition to objects to display
|
||||||
@return a string of the formatted object
|
@return a string of the formatted object
|
||||||
"""
|
"""
|
||||||
item = self.to_dict(obj, backend_name, condition, selected_fields)
|
if isinstance(obj, dict):
|
||||||
|
item = obj
|
||||||
|
else:
|
||||||
|
item = self.to_dict(obj, backend_name, condition, selected_fields)
|
||||||
if item is None:
|
if item is None:
|
||||||
return None
|
return None
|
||||||
formatted = self.format_dict(item=item)
|
formatted = self.format_dict(item=item)
|
||||||
|
|
@ -76,7 +79,7 @@ class IFormatter(object):
|
||||||
def set_header(self, string):
|
def set_header(self, string):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
def to_dict(self, obj, backend_name, condition=None, selected_fields=None):
|
def to_dict(self, obj, backend_name=None, condition=None, selected_fields=None):
|
||||||
def iter_select_and_decorate(d):
|
def iter_select_and_decorate(d):
|
||||||
if hasattr(obj, '__id__'):
|
if hasattr(obj, '__id__'):
|
||||||
id_attr = getattr(obj, '__id__')
|
id_attr = getattr(obj, '__id__')
|
||||||
|
|
@ -88,7 +91,7 @@ class IFormatter(object):
|
||||||
for k, v in d:
|
for k, v in d:
|
||||||
if selected_fields is not None and k not in selected_fields:
|
if selected_fields is not None and k not in selected_fields:
|
||||||
continue
|
continue
|
||||||
if k in id_fields:
|
if k in id_fields and backend_name is not None:
|
||||||
v = u'%s@%s' % (unicode(v), backend_name)
|
v = u'%s@%s' % (unicode(v), backend_name)
|
||||||
yield k, v
|
yield k, v
|
||||||
fields_iterator = obj.iter_fields() if hasattr(obj, 'iter_fields') else self.iter_fields(obj)
|
fields_iterator = obj.iter_fields() if hasattr(obj, 'iter_fields') else self.iter_fields(obj)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue