Estoy intentando poder añadir una lista de años (o periodos de retorno) a una herramienta de python que quiero crear. En la función getParametersInfo, actualmente estoy configurando un parámetro como "GPString"
y quiere que sea una lista multivalores. Este es mi código actual:
import arcpy
class Toolbox(object):
def __init__(self):
self.label = "Toolbox"
self.alias = ""
# List of tool classes associated with this toolbox
self.tools = [TestParameters]
class TestParameters(object):
def __init__(self):
self.label = "TestParameters"
self.description = ""
self.canRunInBackground = False
def getParameterInfo(self):
param0 = arcpy.Parameter(
displayName ='Do Nothing Here:',
name ='in_features',
datatype ="GPFeatureLayer",
parameterType ='Required',
direction ='Input')
param1 = arcpy.Parameter(
displayName ='Enter Return Periods as Years',
name ='tbl_features',
datatype = "GPString", #"GPValueTable", #"GPTableView", #"DETable", #
parameterType ='Required',
direction ='Input',
multiValue=True)
param1.filter.type = "ValueList"
param1.filter.list = []
params = [param0,param1]
return params
def isLicensed(self):
return True
def updateParameters(self, params):
param1.filter.list = []
return
def updateMessages(self, params):
return
def execute(self, params, messages):
arcpy.AddMessage("Testing Tool, nothing here yet")
arcpy.AddMessage(params[1].valueAsText)
return
Sin embargo, cuando saco la herramienta en ArcCatalog y abro el prompt de la herramienta me sale una caja vacía. Me lo esperaba, pero el botón "Añadir valor" no me permite añadir ningún valor. Me gustaría añadir valores de años como "2"
, "5"
, "10"
, "100"
, "500"
...y etc...
¿Me estoy perdiendo algo que debería ir dentro de la función updateParameters? ¿O hay alguna forma de habilitar el botón "Add Value"? Sería bueno no tener que codificar los valores de los años, ya que otros pueden utilizar este script más tarde y pueden tener diferentes años que necesitan para la entrada. Por eso dejé la función param1.filter.list = []
como una lista en blanco, ya que la documentación de ESRI para ella no cubre cómo introducir valores después de abrir la herramienta.
¿O hay algún otro tipo de parámetro que pueda hacer esto fácilmente? He probado los valores comentados en la línea de tipo de datos para param1
. Si alguno de ellos funciona, ¿cuál podría ayudarme a personalizarlo?