16 from yams import BASE_TYPES |
16 from yams import BASE_TYPES |
17 |
17 |
18 from cubicweb import RequestSessionMixIn, Binary, UnknownEid |
18 from cubicweb import RequestSessionMixIn, Binary, UnknownEid |
19 from cubicweb.dbapi import ConnectionProperties |
19 from cubicweb.dbapi import ConnectionProperties |
20 from cubicweb.utils import make_uid |
20 from cubicweb.utils import make_uid |
21 from cubicweb.server.rqlrewrite import RQLRewriter |
21 from cubicweb.rqlrewrite import RQLRewriter |
22 |
22 |
23 ETYPE_PYOBJ_MAP[Binary] = 'Bytes' |
23 ETYPE_PYOBJ_MAP[Binary] = 'Bytes' |
24 |
24 |
25 def is_final(rqlst, variable, args): |
25 def is_final(rqlst, variable, args): |
26 # try to find if this is a final var or not |
26 # try to find if this is a final var or not |
208 def set_language(self, language): |
208 def set_language(self, language): |
209 """i18n configuration for translation""" |
209 """i18n configuration for translation""" |
210 vreg = self.vreg |
210 vreg = self.vreg |
211 language = language or self.user.property_value('ui.language') |
211 language = language or self.user.property_value('ui.language') |
212 try: |
212 try: |
213 self._ = self.__ = vreg.config.translations[language] |
213 gettext, pgettext = vreg.config.translations[language] |
|
214 self._ = self.__ = gettext |
|
215 self.pgettext = pgettext |
214 except KeyError: |
216 except KeyError: |
215 language = vreg.property_value('ui.language') |
217 language = vreg.property_value('ui.language') |
216 try: |
218 try: |
217 self._ = self.__ = vreg.config.translations[language] |
219 gettext, pgettext = vreg.config.translations[language] |
|
220 self._ = self.__ = gettext |
|
221 self.pgettext = pgettext |
218 except KeyError: |
222 except KeyError: |
219 self._ = self.__ = unicode |
223 self._ = self.__ = unicode |
|
224 self.pgettext = lambda x,y: y |
220 self.lang = language |
225 self.lang = language |
221 |
226 |
222 def change_property(self, prop, value): |
227 def change_property(self, prop, value): |
223 assert prop == 'lang' # this is the only one changeable property for now |
228 assert prop == 'lang' # this is the only one changeable property for now |
224 self.set_language(value) |
229 self.set_language(value) |
541 @property |
546 @property |
542 def rql_rewriter(self): |
547 def rql_rewriter(self): |
543 try: |
548 try: |
544 return self._threaddata._rewriter |
549 return self._threaddata._rewriter |
545 except AttributeError: |
550 except AttributeError: |
546 self._threaddata._rewriter = RQLRewriter(self.repo.querier, self) |
551 self._threaddata._rewriter = RQLRewriter(self) |
547 return self._threaddata._rewriter |
552 return self._threaddata._rewriter |
548 |
553 |
549 def build_description(self, rqlst, args, result): |
554 def build_description(self, rqlst, args, result): |
550 """build a description for a given result""" |
555 """build a description for a given result""" |
551 if len(rqlst.children) == 1 and len(rqlst.children[0].solutions) == 1: |
556 if len(rqlst.children) == 1 and len(rqlst.children[0].solutions) == 1: |