<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi, Pat.<br>
    <br>
    Here is an example that recreates the problem.&nbsp; Using this as a CSV
    file:<br>
    <br>
    AAA,BBB,CCC,DDD<br>
    0.0,1.0,2.0,3.0<br>
    0.0,2.0,4.0,8.0<br>
    0.0,3.5,2.5,1.5<br>
    <br>
    and this (modified python trace) as a script run from the python
    shell in paraview:<br>
    ----------------------------------------------------------------<br>
    try: paraview.simple<br>
    except: from paraview.simple import *<br>
    paraview.simple._DisableFirstRenderCameraReset()<br>
    <br>
    test_csv = CSVReader( FileName=['test.csv'] )<br>
    <br>
    AnimationScene1 = GetAnimationScene()<br>
    RenderView1 = GetRenderView()<br>
    Delete(RenderView1)<br>
    SpreadSheetView1 = CreateRenderView()<br>
    SpreadSheetView1.ViewTime = 0.0<br>
    <br>
    AnimationScene1.ViewModules = SpreadSheetView1<br>
    <br>
    PlotData1 = PlotData()<br>
    <br>
    XYChartView1 = CreateXYPlotView()<br>
    XYChartView1.ViewTime = 0.0<br>
    <br>
    DataRepresentation2 = Show()<br>
    DataRepresentation2.XArrayName = 'AAA'<br>
    DataRepresentation2.AttributeType = 'Row Data'<br>
    DataRepresentation2.SeriesVisibility = ['vtkOriginalIndices', '0']<br>
    <br>
    AnimationScene1.ViewModules = [ SpreadSheetView1, XYChartView1 ]<br>
    <br>
    Render()<br>
    <br>
    p = DataRepresentation2.SMProxy.GetProperty("SeriesNamesInfo")<br>
    series_names = [p.GetElement(i) for i in
    xrange(p.GetNumberOfElements())]<br>
    print "series_names:", series_names<br>
    ----------------------------------------------------------------<br>
    <br>
    I get back <br>
    <br>
    &nbsp; series_names: []<br>
    <br>
    Thanks for any suggestions.<br>
    <br>
    Greg<br>
    <br>
    <br>
    On 10/06/2011 12:46 PM, Greg Schussman wrote:
    <blockquote cite="mid:4E8E0585.1080104@slac.stanford.edu"
      type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      Hi, Pat.<br>
      <br>
      On further checking, there's still some sort of problem.<br>
      <br>
      When I use your example below, it works in ParaView's Python
      Shell, if the PlotData filter was created via the ParaView gui.&nbsp;&nbsp;
      However, if it was created in the macro (using the text from a
      python trace of how it was created via the gui), then your example
      produces an empty list.&nbsp;&nbsp; The PlotData filter created in the macro
      does show up on the screen and look correct; but the series names
      aren't accessible.<br>
      <br>
      Does this provide any useful clues?<br>
      <br>
      Thanks.<br>
      <br>
      Greg<br>
      <br>
      On 10/06/2011 11:49 AM, pat marion wrote:
      <blockquote
cite="mid:CAMetC=RUYJwVDcYKgzUHQvtGT+zJG2Kj_zRVQDqE_GFOazY24w@mail.gmail.com"
        type="cite">Hi Greg,<br>
        <br>
        I think I found a bug, or else I don't quite understand what is
        happening.&nbsp; It seems that under certain circumstances the python
        layer fails to wrap all the properties of a proxy.&nbsp; I look into
        this, but for now you can work around the issue by accessing the
        c++ api:<br>
        <br>
        <style type="text/css">
p, li { white-space: pre-wrap; }
</style>
        <p style="margin: 0px; text-indent: 0px;"><span
            style="font-family: 'Courier'; font-size: 13pt; color:
            rgb(0, 0, 0);">&gt;&gt;&gt; p =<br>
            rep.SMProxy.GetProperty("SeriesNamesInfo")</span></p>
        <p style="margin: 0px; text-indent: 0px;"><span
            style="font-family: 'Courier'; font-size: 13pt; color:
            rgb(0, 0, 0);">&gt;&gt;&gt; series_names = [p.GetElement(i)
            for i in<br>
            xrange(p.GetNumberOfElements())]</span></p>
        <br>
        <br>
        Pat<br>
        <br>
        <div class="gmail_quote">On Thu, Oct 6, 2011 at 2:34 PM, Greg
          Schussman <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:schussman@slac.stanford.edu">schussman@slac.stanford.edu</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
            0.8ex; border-left: 1px solid rgb(204, 204, 204);
            padding-left: 1ex;">
            <div bgcolor="#ffffff" text="#000000"> Hi, Pat.<br>
              <br>
              I tried plotting directly from the CSVReader, and then it
              all works.&nbsp;&nbsp; But when my programmable filter is in
              between, there's a problem.&nbsp; When I apply the plot filter&nbsp;
              (via ParaView's GUI) to my programmable filter, the plot
              works fine in the gui, but the
              GetProperty("SeriesNameInfo") returns None.&nbsp;&nbsp; However, if
              I skip the programmable filter, and plot the CSV reader
              directly, then GetProperty("SeriesNameInfo") does what you
              say it should.<br>
              <br>
              Anyway, I think I can skip my programmable filter for now,
              and get this working dircetly.<br>
              <br>
              Thanks so much for what you've provided.
              <div class="im"><br>
                <br>
                Greg<br>
                <br>
                <br>
                On 10/06/2011 11:10 AM, pat marion wrote: </div>
              <div>
                <div class="h5">
                  <blockquote type="cite">Are you sure that the chart
                    view is the active view when you call
                    GetDisplayProperties(p)?&nbsp;&nbsp; If the render view is
                    active, you'll get the wrong representation.&nbsp; I
                    verified that this works for Wavelet --&gt; Plot
                    Data filter using PV 3.10.1.<br>
                    <br>
                    Pat<br>
                    <br>
                    <div class="gmail_quote">On Thu, Oct 6, 2011 at 2:03
                      PM, Greg Schussman <span dir="ltr">&lt;<a
                          moz-do-not-send="true"
                          href="mailto:schussman@slac.stanford.edu"
                          target="_blank">schussman@slac.stanford.edu</a>&gt;</span>
                      wrote:<br>
                      <blockquote class="gmail_quote" style="margin: 0pt
                        0pt 0pt 0.8ex; border-left: 1px solid rgb(204,
                        204, 204); padding-left: 1ex;">
                        <div bgcolor="#ffffff" text="#000000">
                          <div> On 10/06/2011 07:33 AM, pat marion
                            wrote:
                            <blockquote type="cite">series_names = [name
                              for name in
                              d.GetProperty("SeriesNamesInfo")]</blockquote>
                          </div>
                          <font size="+1"><font face="Droid Serif"><br>
                              Hi, Pat.<br>
                              <br>
                              Thanks for the helpful pointers. <br>
                              <br>
                              After setting everything up in ParaView
                              (3.10.1, 64-bit), I'm not getting
                              results.&nbsp; Here is what I did from the
                              ParaView Python Shell:<br>
                              <br>
                            </font></font>
                          <div>
                            <p style="margin: 0px; text-indent: 0px;"><span
                                style="font-family: 'Courier';
                                font-size: 10pt; color: rgb(0, 0, 0);">&gt;&gt;&gt;
                                p<br>
                                =<br>
                                <br>
                                FindSource("PlotData1")</span></p>
                          </div>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(0, 0, 0);">&gt;&gt;&gt;
                              rep<br>
                              =<br>
                              <br>
                              GetDisplayProperties(p)</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(0, 0, 0);">&gt;&gt;&gt;<br>
                              <br>
                              rep.GetProperty("SeriesNamesInfo")</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(0, 150, 0);">None</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(0, 0, 0);">&gt;&gt;&gt; </span></p>
                          <font size="+1"><font face="Droid Serif"><br>
                              While, at the same time, the Object
                              Inspector shows 27 series, each with the
                              correct name.<br>
                              <br>
                              Does something need to be updated or
                              refreshed first?&nbsp; I notice in the pvblot
                              script, there is a <br>
                              <br>
                              &nbsp; rep.Update()<br>
                              <br>
                              but when I try that in ParaView's python
                              shell (after getting the representation
                              the way I showed above), it tells me:<br>
                              &nbsp; </font></font>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(0, 0, 0);">&gt;&gt;&gt;<br>
                              rep.Update()</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(255, 0, 0);">Traceback<br>
                              (most recent call last):</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(255, 0, 0);"> File<br>
                              "&lt;console&gt;", line 1, in<br>
                              <br>
                              &lt;module&gt;</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(255, 0, 0);"> File<br>
                              <br>
"/usr/lib64/paraview/site-packages/paraview/servermanager.py",<br>
                              <br>
                              line 370, in __getattr__</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(255, 0, 0);"> return<br>
                              getattr(self.SMProxy, name)</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(255, 0, 0);">AttributeError:<br>
                              Update</span></p>
                          <p style="margin: 0px; text-indent: 0px;"><span
                              style="font-family: 'Courier'; font-size:
                              10pt; color: rgb(0, 0, 0);">&gt;&gt;&gt; </span></p>
                          <br>
                          <font size="+1"><font face="Droid Serif">Thanks!<br>
                              <font color="#888888"> <br>
                                Greg<br>
                                <br>
                                <br>
                              </font></font></font> </div>
                      </blockquote>
                    </div>
                    <br>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>