server/session.py
branchstable
changeset 3315 59220b704562
parent 3275 5247789df541
child 3293 69c0ba095536
child 3553 76b4a177a018
equal deleted inserted replaced
3298:caef98aa4a98 3315:59220b704562
    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: