Source code for openalea.data.dict.dicts

# -*- python -*-
#
#       OpenAlea.StdLib
#
#       Copyright 2006 - 2008 INRIA - CIRAD - INRA  
#
#       Distributed under the Cecill-C License.
#       See accompanying file LICENSE.txt or copy at
#           http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html
# 
#       OpenAlea WebSite : http://openalea.gforge.inria.fr
#
################################################################################
""" Data Nodes """

__license__ = "Cecill-C"
__revision__ = " $Id$ "

from openalea.core import Node


[docs] class Dict(Node): """ Python Dictionary """ def __call__(self, inputs): """ inputs is the list of input values """ return (dict(inputs[0]), )
[docs] class EditDict(Node): """ Python Dictionary """ def __call__(self, inputs): """ inputs is the list of input values """ d0 = dict(inputs[0]) if inputs[1]: d1 = dict(inputs[1]) d0.update(d1) self.set_input(1, d0) return (dict(self.get_input(1)), )
[docs] class Pair(Node): """ Python 2-uple generator """ def __call__(self, inputs): return ( (inputs[0], inputs[1]), )
[docs] class Tuple3(Node): """ Python 2-uple generator """ def __call__(self, inputs): return ( (inputs[0], inputs[1], inputs[2]), )
[docs] def list_select(items, index): """ __getitem__ """ try: return items[index] except: return None