Пример #1
0
 def cast_literal(self, node):
     if is_lang_node(node):
         if node:
             return node.get(self._langkey) or node.values()[0]
         else:
             return None
     else:
         return super(LocalizedNodeLens, self).cast_literal(node)
Пример #2
0
 def cast_literal(self, node):
     if is_lang_node(node):
         if node:
             return node.get(self._langkey) or node.values()[0]
         else:
             return None
     else:
         return super(LocalizedNodeLens, self).cast_literal(node)
Пример #3
0
 def _cast_value(self, v, via_key):
     if is_lang_node(v):
         return v.get(self._langkey) or v.values()[0] if v else None
     elif is_raw_node(v):
         return self._new_lens(v, via_key)
     elif isinstance(v, list):
         l = []
         for o in v:
             if is_raw_node(o):
                 # casts and calls _index_node(o), which will merge
                 # any stored with o
                 o = self._new_lens(o, via_key)
                 indexed = self._get_indexed_node(o)
                 if indexed:
                     o = indexed
             l.append(o)
         return l
     else:
         return v
Пример #4
0
 def _cast_value(self, v, via_key):
     if is_lang_node(v):
         return v.get(self._langkey) or v.values()[0] if v else None
     elif is_raw_node(v):
         return self._new_lens(v, via_key)
     elif isinstance(v, list):
         l = []
         for o in v:
             if is_raw_node(o):
                 # casts and calls _index_node(o), which will merge
                 # any stored with o
                 o = self._new_lens(o, via_key)
                 indexed = self._get_indexed_node(o)
                 if indexed:
                     o = indexed
             l.append(o)
         return l
     else:
         return v