<html><head><meta name="qrichtext" content="1"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-family: Calibri, sans-serif; "><div style="font-size: 14px; ">Hello all,</div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; ">So I have been working with annotation.py, and there seems to be a pretty bad logic error, and I am not quite sure how to deal with it.</div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; ">This section of code is assigning the name of the variable it value, but this doesn't take into account field names that have spaces in them.</div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; "><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo">&nbsp; &nbsp;<span style="color: #b933a1">for</span> index <span style="color: #b933a1">in</span> xrange(numberOfFields):</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo">&nbsp;&nbsp; &nbsp; &nbsp; fieldName = input.GetFieldData().GetAbstractArray(index).GetName()</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo">&nbsp;&nbsp; &nbsp; &nbsp; <span style="color: #b933a1">exec</span>(<span style="color: #d02d21">"%s = input.FieldData['%s']"</span> % (fieldName, fieldName))</p></div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; ">For example, in my custom Enlil model reader, &nbsp;there are several fieldData items which names include spaces. &nbsp;One is "Physical Time", which produces the following error:</div><div style="font-size: 14px; "><br></div><div>
<p style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><!--StartFragment--><span style="font-family: Courier; color: rgb(128, 0, 0); font-size: 12px;">Traceback (most recent call last):</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span style="font-family: Courier; color: rgb(128, 0, 0); font-size: 12px;">  File "&lt;string&gt;", line 5, in &lt;module&gt;</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span style="font-family: Courier; color: rgb(128, 0, 0); font-size: 12px;">  File "/Volumes/Data/Development/paraview_git/build/lib/site-packages/paraview/annotation.py", line 45, in ComputeAnnotation</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span style="font-family: Courier; color: rgb(128, 0, 0); font-size: 12px;">    exec("%s = input.FieldData['%s']" % (fieldName, fieldName))</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span style="font-family: Courier; color: rgb(128, 0, 0); font-size: 12px;">  File "&lt;string&gt;", line 1</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span style="font-family: Courier; color: rgb(128, 0, 0); font-size: 12px;">    Physical Time = input.FieldData['Physical Time']</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span style="font-family: Courier; color: rgb(128, 0, 0); font-size: 12px;">                ^</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span style="font-family: Courier; color: rgb(128, 0, 0); font-size: 12px;">SyntaxError: invalid syntax</span><!--EndFragment--></p></div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; ">As it is obviously not possible to assign Physical Time a value.</div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; ">As was noted in last email, it was necessary to change "GetArray" to "GetAbstractArray" in order for this to work with strings.</div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; ">Now, the question is, are there recommended best practices for naming field data items? &nbsp;Are spaces not recommended? &nbsp;Or does the filter need to be able to deal with this case?</div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; ">Thanks,</div><div style="font-size: 14px; ">Josh</div><div style="font-size: 14px; "><br></div><div style="font-size: 14px; "><div><div><div><img src="cid:C7A30C8E-90D5-4596-991B-DF23E382F518" type="image/png"></div></div><div>Joshua J. Murphy</div><div>Computer Scientist</div><div>Laboratory for Atmospheric and Space Physics</div><div>University of Colorado, Boulder</div><div><br></div></div></div><div style="font-size: 14px; "><br></div><span id="OLK_SRC_BODY_SECTION" style="font-size: 14px; "><div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt"><span style="font-weight:bold">From: </span> Sebastien Jourdain &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt;<br><span style="font-weight:bold">Date: </span> Friday, October 19, 2012 11:55 AM<br><span style="font-weight:bold">To: </span> Joshua Murphy &lt;<a href="mailto:Joshua.Murphy@lasp.colorado.edu">Joshua.Murphy@lasp.colorado.edu</a>&gt;<br><span style="font-weight:bold">Cc: </span> "<a href="mailto:paraview-developers@paraview.org">paraview-developers@paraview.org</a>" &lt;<a href="mailto:paraview-developers@paraview.org">paraview-developers@paraview.org</a>&gt;<br><span style="font-weight:bold">Subject: </span> Re: [Paraview-developers] AnnotateGlobalData filter does not work with string arrays<br></div><div><br></div><div><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div>
ParaView/src/Wrapping/Python/paraview/annotation.py
<div><br></div><div>Let me know if that works in all the case and I could push the fix on the main repo...<br><br><div class="gmail_quote">On Fri, Oct 19, 2012 at 1:39 PM, Joshua Murphy <span dir="ltr">
&lt;<a href="mailto:Joshua.Murphy@lasp.colorado.edu" target="_blank">Joshua.Murphy@lasp.colorado.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="font-size:14px;font-family:Calibri,sans-serif">Hello,</div><div style="font-size:14px;font-family:Calibri,sans-serif"><br></div><div style="font-size:14px;font-family:Calibri,sans-serif">I am trying to use the AnnotateGlobalData filter with string data in my reader's field data, but the filter is calling the wrong functions to retrieve the string data.</div><div style="font-size:14px;font-family:Calibri,sans-serif"><br></div><div style="font-size:14px;font-family:Calibri,sans-serif">The error being generated is:</div><div style="font-size:14px;font-family:Calibri,sans-serif"><br></div><div><p style="margin-right:0px;text-indent:0px;font-size:14px;margin-left:0px;margin-bottom:0px;font-family:Calibri,sans-serif;margin-top:0px"><span style="font-family:'Courier';font-size:13pt;color:#800000">Traceback (most recent call last):</span></p><p style="margin-right:0px;text-indent:0px;font-size:14px;margin-left:0px;margin-bottom:0px;font-family:Calibri,sans-serif;margin-top:0px"><span style="font-family:'Courier';font-size:13pt;color:#800000">File "&lt;string&gt;", line 5, in &lt;module&gt;</span></p><p style="margin-right:0px;text-indent:0px;font-size:14px;margin-left:0px;margin-bottom:0px;font-family:Calibri,sans-serif;margin-top:0px"><span style="font-family:'Courier';font-size:13pt;color:#800000">File "/Users/jomu9721/Data/Development/paraview_git/build/lib/site-packages/paraview/annotation.py", line 44, in ComputeAnnotation</span></p><p style="margin-right:0px;text-indent:0px;font-size:14px;margin-left:0px;margin-bottom:0px;font-family:Calibri,sans-serif;margin-top:0px"><span style="font-family:'Courier';font-size:13pt;color:#800000">fieldName = input.GetFieldData().GetArray(index).GetName()</span></p><p style="margin-right:0px;text-indent:0px;font-size:14px;margin-left:0px;margin-bottom:0px;font-family:Calibri,sans-serif;margin-top:0px"><span style="font-family:'Courier';font-size:13pt;color:#800000">AttributeError: 'NoneType' object has no attribute 'GetName'</span></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;font-family:Courier;font-size:13pt;color:rgb(128,0,0)"><br></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><font face="Calibri,sans-serif"><span style="white-space:normal">Trough a query to the general paraview mailing list, I was able to ascertain that proper call would be:</span></font></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><font face="Calibri,sans-serif"><span style="white-space:normal"><br></span></font></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="color:rgb(128,0,0);font-family:Courier;font-size:17px">fieldName = input.GetFieldData().GetAbstractArray(index).GetName()</span></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="color:rgb(128,0,0);font-family:Courier;font-size:17px"><br></span></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><font face="Calibri,sans-serif"><span style="white-space:normal">Is there an easy way I can fix this? Can someone point me to where in the source tree this filter is defined?</span></font></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><font face="Calibri,sans-serif"><span style="white-space:normal"><br></span></font></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><font face="Calibri,sans-serif"><span style="white-space:normal">Thanks,</span></font></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><font face="Calibri,sans-serif"><span style="white-space:normal">Josh</span></font></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><font face="Calibri,sans-serif"><span style="white-space:normal"><br></span></font></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><font face="Calibri,sans-serif"><span style="white-space:normal"></span></font></p><div><div><div><font face="Calibri,sans-serif"><img src="cid:D6616F45-18FE-4B95-9378-CE5F535EDC54" type="image/png"></font></div></div><div><font face="Calibri,sans-serif">Joshua J. Murphy</font></div><div><font face="Calibri,sans-serif">Computer Scientist</font></div><div><font face="Calibri,sans-serif">Laboratory for Atmospheric and Space Physics</font></div><div><font face="Calibri,sans-serif">University of Colorado, Boulder</font></div><div><font face="Calibri,sans-serif"><br></font></div></div><p></p></div></div><br>_______________________________________________<br>
Paraview-developers mailing list<br><a href="mailto:Paraview-developers@paraview.org">Paraview-developers@paraview.org</a><br><a href="http://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">http://public.kitware.com/mailman/listinfo/paraview-developers</a><br><br></blockquote></div><br></div></div></div></span></body></html>