<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: layer.longName is not returning the layer's long name in ArcGIS API for Python Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820925#M2800</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since I can't move this question myself, I am sharing with &lt;A href="https://community.esri.com/community/developers/gis-developers/python?sr=search&amp;amp;searchId=bde87ee5-cba1-4627-8a68-c813f0a50a40&amp;amp;searchIndex=0"&gt;https://community.esri.com/community/developers/gis-developers/python?sr=search&amp;amp;searchId=bde87ee5-cba1-4627-8a68-c813f0a50a40&amp;amp;searchIndex=0&lt;/A&gt;‌ since this is an ArcPy question and not an ArcGIS API for Python question.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 06 Feb 2018 18:46:59 GMT</pubDate>
    <dc:creator>JoshuaBixby</dc:creator>
    <dc:date>2018-02-06T18:46:59Z</dc:date>
    <item>
      <title>layer.longName is not returning the layer's long name</title>
      <link>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820924#M2799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am working on a tool validator and am having an issue where the layer.longName is only returning layer.name. In the code snippet below, the first set of appends to my list should be adding the longName of each layer that is already in a multivalue field. However, when I check what values are being added to my list it is only the short names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have attached images that show the output and the values of retList after each step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #597cc2;"&gt;def &lt;/SPAN&gt;&lt;SPAN style="color: #d9af6c;"&gt;updateParameters&lt;/SPAN&gt;(&lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;):
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #7a7a7a;"&gt;"""Modify the values and properties of parameters before internal
&lt;/SPAN&gt;&lt;SPAN style="color: #7a7a7a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; validation is performed.&amp;nbsp; This method is called whenever a parameter
&lt;/SPAN&gt;&lt;SPAN style="color: #7a7a7a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; has been changed."""
&lt;/SPAN&gt;&lt;SPAN style="color: #7a7a7a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #597cc2;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;0&lt;/SPAN&gt;].value:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchString = &lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;0&lt;/SPAN&gt;].value
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = arcpy.mapping.MapDocument(&lt;SPAN style="color: #a5c261;"&gt;"CURRENT"&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retList = []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;1&lt;/SPAN&gt;].values:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;for &lt;/SPAN&gt;value &lt;SPAN style="color: #597cc2;"&gt;in &lt;/SPAN&gt;&lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;1&lt;/SPAN&gt;].values:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #8888c6;"&gt;type&lt;/SPAN&gt;(value) &lt;SPAN style="color: #597cc2;"&gt;is &lt;/SPAN&gt;&lt;SPAN style="color: #8888c6;"&gt;type&lt;/SPAN&gt;(arcpy.mapping.ListLayers(mxd&lt;SPAN style="color: #5c7ab8;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #a5c261;"&gt;"*"&lt;/SPAN&gt;)[&lt;SPAN style="color: #267dff;"&gt;0&lt;/SPAN&gt;]):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retList.append(value.longName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; win32api.MessageBox(&lt;SPAN style="color: #267dff;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #5c7ab8;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #a5c261;"&gt;"retList: " &lt;/SPAN&gt;+ &lt;SPAN style="color: #8888c6;"&gt;str&lt;/SPAN&gt;(retList))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;for &lt;/SPAN&gt;df &lt;SPAN style="color: #597cc2;"&gt;in &lt;/SPAN&gt;arcpy.mapping.ListDataFrames(mxd):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;for &lt;/SPAN&gt;lyr &lt;SPAN style="color: #597cc2;"&gt;in &lt;/SPAN&gt;arcpy.mapping.ListLayers(mxd&lt;SPAN style="color: #5c7ab8;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #a5c261;"&gt;"*" &lt;/SPAN&gt;+ searchString + &lt;SPAN style="color: #a5c261;"&gt;"*"&lt;/SPAN&gt;&lt;SPAN style="color: #5c7ab8;"&gt;, &lt;/SPAN&gt;df):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;if &lt;/SPAN&gt;lyr.longName &lt;SPAN style="color: #597cc2;"&gt;not in &lt;/SPAN&gt;retList:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retList.append(lyr.longName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; win32api.MessageBox(&lt;SPAN style="color: #267dff;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #5c7ab8;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #a5c261;"&gt;"setting values to: " &lt;/SPAN&gt;+ &lt;SPAN style="color: #8888c6;"&gt;str&lt;/SPAN&gt;(retList))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;1&lt;/SPAN&gt;].values = retList
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;return&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 09:44:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820924#M2799</guid>
      <dc:creator>GlenAdams2</dc:creator>
      <dc:date>2021-12-12T09:44:22Z</dc:date>
    </item>
    <item>
      <title>Re: layer.longName is not returning the layer's long name</title>
      <link>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820925#M2800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since I can't move this question myself, I am sharing with &lt;A href="https://community.esri.com/community/developers/gis-developers/python?sr=search&amp;amp;searchId=bde87ee5-cba1-4627-8a68-c813f0a50a40&amp;amp;searchIndex=0"&gt;https://community.esri.com/community/developers/gis-developers/python?sr=search&amp;amp;searchId=bde87ee5-cba1-4627-8a68-c813f0a50a40&amp;amp;searchIndex=0&lt;/A&gt;‌ since this is an ArcPy question and not an ArcGIS API for Python question.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Feb 2018 18:46:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820925#M2800</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2018-02-06T18:46:59Z</dc:date>
    </item>
    <item>
      <title>Re: layer.longName is not returning the layer's long name</title>
      <link>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820926#M2801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Given you are running a tool and only shared part of the code, can you either share more code or replicate the problem outside of the tool and share that code?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Feb 2018 19:00:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820926#M2801</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2018-02-06T19:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: layer.longName is not returning the layer's long name</title>
      <link>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820927#M2802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, I should have explained this better, this is in a tool validator class and this part is the only part that I have changed. The code that is producing the issue is independent of any other part of the underlying script/tool. It can only be reproduced in this manner because the issue comes from multivalue parameters in ArcGIS tool validators.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have a multivalue parameter and get params.value on it you get a value table object, but if you do params.values you get a list. I am guessing (but not able to be sure) that this issue comes from ArcMap/ArcPy converting the value table to a list incorrectly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My multivalue parameter is a Layer type (see below), but when I get params.values without type checking each value to make sure I am receiving a layer object, ArcMap throws in the geoprocessing objects and other random things. Even when I do get a layer object, as I showed here, each layer object that is returned seems to have only the name of the layer set to the longName attribute. I wish there was more documentation about this sort of thing, dealing with multivalue inputs in ArcPy has been terrible so far.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="395937" alt="" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/395937_Parameters.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EDIT: In case anyone else sees this and has the same problem, here is a workaround using the ValueTable object returned from params.value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #597cc2;"&gt;def &lt;/SPAN&gt;&lt;SPAN style="color: #d9af6c;"&gt;updateParameters&lt;/SPAN&gt;(&lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;):
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #7a7a7a;"&gt;"""Modify the values and properties of parameters before internal
&lt;/SPAN&gt;&lt;SPAN style="color: #7a7a7a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; validation is performed.&amp;nbsp; This method is called whenever a parameter
&lt;/SPAN&gt;&lt;SPAN style="color: #7a7a7a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; has been changed."""
&lt;/SPAN&gt;&lt;SPAN style="color: #7a7a7a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #597cc2;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;0&lt;/SPAN&gt;].value:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchString = &lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;0&lt;/SPAN&gt;].value
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = arcpy.mapping.MapDocument(&lt;SPAN style="color: #a5c261;"&gt;"CURRENT"&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retList = []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;1&lt;/SPAN&gt;].value:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values = &lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;1&lt;/SPAN&gt;].value.exportToString().split(&lt;SPAN style="color: #a5c261;"&gt;";"&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;for &lt;/SPAN&gt;value &lt;SPAN style="color: #597cc2;"&gt;in &lt;/SPAN&gt;values:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retList.append(value.replace(&lt;SPAN style="color: #a5c261;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #5c7ab8;"&gt;\'&lt;/SPAN&gt;&lt;SPAN style="color: #a5c261;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #5c7ab8;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #a5c261;"&gt;""&lt;/SPAN&gt;).strip())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;for &lt;/SPAN&gt;df &lt;SPAN style="color: #597cc2;"&gt;in &lt;/SPAN&gt;arcpy.mapping.ListDataFrames(mxd):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;for &lt;/SPAN&gt;lyr &lt;SPAN style="color: #597cc2;"&gt;in &lt;/SPAN&gt;arcpy.mapping.ListLayers(mxd&lt;SPAN style="color: #5c7ab8;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #a5c261;"&gt;"*" &lt;/SPAN&gt;+ searchString + &lt;SPAN style="color: #a5c261;"&gt;"*"&lt;/SPAN&gt;&lt;SPAN style="color: #5c7ab8;"&gt;, &lt;/SPAN&gt;df):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;if &lt;/SPAN&gt;lyr.longName &lt;SPAN style="color: #597cc2;"&gt;not in &lt;/SPAN&gt;retList:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retList.append(lyr.longName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #94558d;"&gt;self&lt;/SPAN&gt;.params[&lt;SPAN style="color: #267dff;"&gt;1&lt;/SPAN&gt;].values = retList
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #597cc2;"&gt;return&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 09:44:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-python-questions/layer-longname-is-not-returning-the-layer-s-long/m-p/820927#M2802</guid>
      <dc:creator>GlenAdams2</dc:creator>
      <dc:date>2021-12-12T09:44:25Z</dc:date>
    </item>
  </channel>
</rss>

