Source code for openalea.data.list.lists
# -*- 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 List(Node):
"""
Python List
"""
def __call__(self, inputs):
""" inputs is the list of input values """
import copy
try:
return (list(inputs[0]), )
except:
return ([copy.copy(inputs[0])], )
[docs]
class Slice(Node):
"""Slice a Python list"""
def __call__(self, inputs):
list, start, end, stride = inputs
if stride == 0 : stride = 1
return (list[start:end:stride],)
[docs]
def list_select(items, index):
""" __getitem__ """
try:
return items[index]
except:
return None