equal
deleted
inserted
replaced
11 |
11 |
12 from logilab.common import interface |
12 from logilab.common import interface |
13 from logilab.common.compat import all |
13 from logilab.common.compat import all |
14 from logilab.common.decorators import cached |
14 from logilab.common.decorators import cached |
15 from logilab.common.deprecation import obsolete |
15 from logilab.common.deprecation import obsolete |
16 from logilab.mtconverter import TransformData, TransformError, html_escape |
16 from logilab.mtconverter import TransformData, TransformError, xml_escape |
17 |
17 |
18 from rql.utils import rqlvar_maker |
18 from rql.utils import rqlvar_maker |
19 |
19 |
20 from cubicweb import Unauthorized |
20 from cubicweb import Unauthorized |
21 from cubicweb.rset import ResultSet |
21 from cubicweb.rset import ResultSet |
461 return self.mtc_transform(value.getvalue(), attrformat, format, |
461 return self.mtc_transform(value.getvalue(), attrformat, format, |
462 encoding) |
462 encoding) |
463 return u'' |
463 return u'' |
464 value = printable_value(self.req, attrtype, value, props, displaytime) |
464 value = printable_value(self.req, attrtype, value, props, displaytime) |
465 if format == 'text/html': |
465 if format == 'text/html': |
466 value = html_escape(value) |
466 value = xml_escape(value) |
467 return value |
467 return value |
468 |
468 |
469 def mtc_transform(self, data, format, target_format, encoding, |
469 def mtc_transform(self, data, format, target_format, encoding, |
470 _engine=ENGINE): |
470 _engine=ENGINE): |
471 trdata = TransformData(data, format, encoding, appobject=self) |
471 trdata = TransformData(data, format, encoding, appobject=self) |
664 except IndexError: |
664 except IndexError: |
665 # probably a multisource error |
665 # probably a multisource error |
666 self.critical("can't get value for attribute %s of entity with eid %s", |
666 self.critical("can't get value for attribute %s of entity with eid %s", |
667 name, self.eid) |
667 name, self.eid) |
668 if self.e_schema.destination(name) == 'String': |
668 if self.e_schema.destination(name) == 'String': |
|
669 # XXX (syt) imo emtpy string is better |
669 self[name] = value = self.req._('unaccessible') |
670 self[name] = value = self.req._('unaccessible') |
670 else: |
671 else: |
671 self[name] = value = None |
672 self[name] = value = None |
672 return value |
673 return value |
673 |
674 |