def expand_containers(self, items, containers, _url, chain=(), context=None): # seen_context = False _url = _url.rstrip("/") current = False for key, container in self._sort_containers(containers): assert IAlchemistContainer.providedBy(container) label = container.domain_model.__name__ descriptor = utils.get_descriptor(container.domain_model) if descriptor: label = getattr(descriptor, "container_name", None) or getattr(descriptor, "display_name", None) if context is not None: current = container.__name__ == context.__name__ selected = not len(chain) and current if current: # seen_context = True nodes = self.expand(chain) else: nodes = () key_url = "%s/%s" % (_url, key) items.append( { "id": self.get_nav_entry_id(key_url), "label": translate( label, target_language=get_request_language(request=self.request), domain="bungeni" ), "url": key_url, "current": current, "selected": selected, "kind": "container", "nodes": nodes, } )
def translate_objects(self, nodes, lang=None): """Translate container items if context domain is translatable """ if not mfaces.ITranslatable.implementedBy(self.domain_model): return nodes # !+ lang should always be valid here... make not optional, assert? if lang is None: lang = translation.get_request_language(request=self.request) return [ translation.translate_obj(node, lang) for node in nodes ]
def translate_objects(self, nodes, lang=None): """Translate container items if context domain is translatable """ if not mfaces.ITranslatable.implementedBy(self.domain_model): return nodes # !+ lang should always be valid here... make not optional, assert? if lang is None: lang = translation.get_request_language(request=self.request) return [translation.translate_obj(node, lang) for node in nodes]
def translate_objects(self, nodes, lang=None): """ Translate container items if translatable """ if lang is None: lang = translation.get_request_language(request=self.request) for index, node in enumerate(nodes): if ITranslatable.providedBy(node): nodes[index] = translation.translate_obj(node, lang) return nodes
def expand_containers(self, items, containers, _url, chain=(), context=None): #seen_context = False _url = _url.rstrip("/") current = False for key, container in containers: assert IAlchemistContainer.providedBy(container) label = container.domain_model.__name__ descriptor = utils.get_descriptor(container.domain_model) order = 999 if descriptor: order = descriptor.order label = getattr(descriptor, "container_name", None) or \ getattr(descriptor, "display_name", None) if context is not None: current = container.__name__ == context.__name__ selected = not len(chain) and current if current: #seen_context = True nodes = self.expand(chain) else: nodes = () key_url = "%s/%s" % (_url, key) items.append({ "id": self.get_nav_entry_id(key_url), "order": order, "label": translate( label, target_language=get_request_language(request=self.request), domain="bungeni"), "url": key_url, "current": current, "selected": selected, "kind": "container", "nodes": nodes, }) items.sort(key=lambda item: (item['order'], item['label']))
def translate_objects(self, nodes, lang=None): """ (nodes:[ITranslatable]) -> [nodes] """ if lang is None: lang = translation.get_request_language() t_nodes = [] for node in nodes: try: t_nodes.append(translation.translate_obj(node, lang)) except (AssertionError,): # node is not ITranslatable debug.log_exc_info(sys.exc_info(), log_handler=log.warn) t_nodes.append(node) return t_nodes
def translate(self, context, name): lang = get_request_language() if not lang: return getattr(context, name) if interfaces.ITranslatable.providedBy(context): if context.language != lang: translation = get_translation_for(context, lang) translation = filter(lambda tr:tr.field_name==name, translation ) if translation: return translation[0].field_text return getattr(context, name)
def translate(self, context, name): """Gets translated field values """ lang = get_request_language() if not lang: return getattr(context, name) if interfaces.ITranslatable.providedBy(context): if context.language != lang: translation = get_translation_for(context, lang) translation = filter(lambda tr: tr.field_name == name, translation) if translation: return translation[0].field_text return getattr(context, name)
def translate_objects(self, nodes, lang=None): """ (nodes:[ITranslatable]) -> [nodes] """ if lang is None: lang = translation.get_request_language() t_nodes = [] for node in nodes: try: t_nodes.append(translation.translate_obj(node, lang)) except (AssertionError, ): # node is not ITranslatable debug.log_exc_info(sys.exc_info(), log_handler=log.warn) t_nodes.append(node) return t_nodes
def translate(self, context, name): """Gets translated field values """ lang = (get_request_language(default=None) or getattr(context, "language", None)) if not lang: return getattr(context, name, "") if interfaces.ITranslatable.providedBy(context): if context.language != lang: translation = get_translation_for(context, lang) translation = filter(lambda tr: tr.field_name == name, translation) if translation: if translation[0].field_text: return translation[0].field_text return getattr(context, name)
def translate_objects(self, nodes, lang=None): """ (nodes:[ITranslatable]) -> [nodes] """ if lang is None: lang = translation.get_request_language() t_nodes = [] for node in nodes: try: t_nodes.append(translation.translate_obj(node, lang)) except (AssertionError,): # node is not ITranslatable debug.log_exc_info(sys.exc_info(), log_handler=log.warn) # if a node is not translatable then we assume that NONE of # the nodes are translatable, so we simply break out, # returning the untranslated nodes as is return nodes return t_nodes
def translate_objects(self, nodes, lang=None): """ (nodes:[ITranslatable]) -> [nodes] """ if lang is None: lang = translation.get_request_language() t_nodes = [] for node in nodes: try: t_nodes.append(translation.translate_obj(node, lang)) except (AssertionError, ): # node is not ITranslatable debug.log_exc_info(sys.exc_info(), log_handler=log.warn) # if a node is not translatable then we assume that NONE of # the nodes are translatable, so we simply break out, # returning the untranslated nodes as is return nodes return t_nodes
def __call__(self): # prepare required parameters start, limit = self.get_offsets() lang = translation.get_request_language(request=self.request) context = proxy.removeSecurityProxy(self.context) # there may not be a cache defined for this context type try: cache_key = self.get_cache_key(context, lang, start, limit, self.sort_dir) cache = JSLCaches[context.__name__].cache except KeyError: log.warn(" ********* [%s] No such JSLCache !" % (context.__name__)) # no cache, proceed... return self.json_batch(start, limit, lang) # OK, we have a cache and a cache_key if not cache.has(cache_key): log.debug(" [%s] CACHE SETTING key: %s" % ( context.__name__, cache_key,)) cache.set(cache_key, self.json_batch(start, limit, lang)) return cache.get(cache_key)
def getLanguage(self): return get_request_language()
def __call__(self): # prepare required parameters start, limit = self.get_offsets() # ? start=0&limit=25 lang = translation.get_request_language(request=self.request) return self.json_batch(start, limit, lang)
def publishTraverse(self, request, name): self.request_language = get_request_language() return getattr(self, RESOURCE_MAPPING.get(name))
def getLanguage(self): try: request = get_request() return get_request_language() except zope.security.interfaces.NoInteraction: return None
def publishTraverse(self, request, name): request.response.setHeader("Content-type", RESOURCE_HEADERS.get(name, "text/javascript") ) self.request_language = get_request_language() return getattr(self, RESOURCE_MAPPING.get(name))
def publishTraverse(self, request, name): request.response.setHeader( "Content-type", RESOURCE_HEADERS.get(name, "text/javascript")) self.request_language = get_request_language() return getattr(self, RESOURCE_MAPPING.get(name))