I know that I found the original dump tool really great tool to have around when working in paraview. Unfortunately it seems that recently it was broken, and I have seen a working copy posted again. So I quickly wrote up this script here that does the basics of what DumpTool did. Please use and improve it.
<br><br>#basic dump, Robert Maynard MIRARCO<br>from paraview.servermanager import *<br>import sys<br>import string<br><br>class Dump:<br>&nbsp; def __init__(self):<br>&nbsp;&nbsp;&nbsp; &#39;&#39;&#39;the proxies that we want to dump&#39;&#39;&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp; self.proxies&nbsp; = [&#39;sources&#39;,&#39;representations&#39;]<br>&nbsp; <br>&nbsp; def allToPython(self, fileName=None):&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if fileName:<br>&nbsp;&nbsp;&nbsp;&nbsp; stdoutOrig = sys.stdout<br>&nbsp;&nbsp;&nbsp;&nbsp; file = open( fileName, &#39;w&#39;)<br>
&nbsp;&nbsp;&nbsp;&nbsp; sys.stdout = file<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; self.__header()<br>&nbsp;&nbsp;&nbsp; for proxyGroup in self.proxies:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for proxy in (self.__getProperties(proxyGroup)):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print ProxyStorage( proxy[0], proxy[1], proxyGroup, proxy[2] )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp; self.__footer()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if fileName:<br>&nbsp;&nbsp;&nbsp;&nbsp; sys.stdout = stdoutOrig<br>&nbsp;&nbsp;&nbsp;&nbsp; file.close()<br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; #private methods&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; def __header(self):<br>&nbsp;&nbsp;&nbsp; print &#39;#!/usr/bin/env python&#39;
<br>&nbsp;&nbsp;&nbsp; print &#39;from paraview.servermanager import *&#39;<br>&nbsp;&nbsp;&nbsp; print &#39;view = servermanager.GetRenderView()&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; def __footer(self):<br>&nbsp;&nbsp;&nbsp; print &#39;view.StillRender()&#39;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp; def __getProperties(self, proxyName):&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp; #get all the data needed in a view here<br>&nbsp;&nbsp;&nbsp; proxy = self.__getProxiesInGroup(proxyName)<br>&nbsp;&nbsp;&nbsp; totalProperties = list()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if (proxyName == self.proxies[1]):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sourceNames = self.__buildSourceNames(proxy)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for sname,name in zip(sourceNames,proxy): <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlName = proxy[name].GetXMLName()&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; totalProperties.append( (sname, xmlName, self.__getPropertyValues(proxy,name) ) )&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for name in proxy:&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlName = proxy[name].GetXMLName()&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; totalProperties.append( (name, xmlName, self.__getPropertyValues(proxy,name) ) )&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; return totalProperties<br>&nbsp;&nbsp;&nbsp; <br>&nbsp; def __getPropertyValues(self,proxy, name):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp; properties = list()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; for property in proxy[name]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = property.Proxy.GetPropertyName(property.SMProperty)&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value = 
property.GetData()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; properties.append( (name,value) )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; except AttributeError:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pass<br>&nbsp;&nbsp;&nbsp; return properties<br>&nbsp;&nbsp;&nbsp; <br>&nbsp; def __getProxiesInGroup(self,name):
<br>&nbsp;&nbsp;&nbsp; pxm = servermanager.ProxyManager()<br>&nbsp;&nbsp;&nbsp; proxy = pxm.GetProxiesInGroup(name) <br>&nbsp;&nbsp;&nbsp; return proxy&nbsp; <br><br>&nbsp; def __buildSourceNames(self, proxy):<br>&nbsp;&nbsp;&nbsp; #builds all the source names for each display, by using the 
<br>&nbsp;&nbsp;&nbsp; #dump tool proxyLabel method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; sourceNames = list()<br>&nbsp;&nbsp;&nbsp; for key in proxy.keys():<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inputValue = proxy[key].Input&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sourceNames.append(self.__proxyLabel(inputValue[0]))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp; return sourceNames<br>&nbsp;&nbsp;&nbsp; <br>&nbsp; def __proxyLabel( self, outputPort ):<br>&nbsp;&nbsp;&nbsp; &quot;&quot;&quot;Returns the given proxy&#39;s PV displayed name. Much thanks to the DumpTool author&quot;&quot;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; pxm = 
servermanager.ProxyManager()<br>&nbsp;&nbsp;&nbsp; proxy = outputPort.Proxy<br>&nbsp;&nbsp;&nbsp; proxyGroup = pxm.GetProxiesInGroup(self.proxies[0])<br>&nbsp;&nbsp;&nbsp; for name in proxyGroup:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (proxyGroup[name] == proxy):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return name<br>&nbsp;&nbsp;&nbsp; return None
<br><br>class ProxyStorage:<br>&nbsp; def __init__(self, name, xmlName,&nbsp; proxy, propertyRaw):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://self.name">self.name</a> = name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.xmlName = xmlName<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.proxyGroup = proxy&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.property = PropertyStorage(propertyRaw)<br>&nbsp;&nbsp;&nbsp; <br>&nbsp; def __repr__(self):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;&quot;&quot;Returns a user-friendly representation string.&quot;&quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from cStringIO import StringIO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = <a href="http://self.name">self.name</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; propNames = <a href="http://self.property.name">self.property.name</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; propValues = self.property.value&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file_str = StringIO()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (propNames[0] == &#39;Input&#39;):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = self.name+&#39;Representation&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file_str.write(name+&#39; = servermanager.CreateRepresentation(&#39;+self.name+&#39;, view, registrationGroup=\&#39;&#39;+self.proxyGroup+&#39;\&#39;)\n&#39; )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; propNames.pop(0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; propValues.pop(0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file_str.write(name+&#39; = servermanager.sources.&#39;+ self.xmlName +&#39;(registrationGroup=\&#39;&#39;+ self.proxyGroup +&#39;\&#39;, registrationName=\&#39;&#39; + name + &#39;\&#39;)\n&#39; )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for n,v in zip(propNames,propValues):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file_str.write(name+&#39;.&#39;+str(n)+&#39; = &#39;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try: <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v = str(v)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; except TypeError:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v = map(str,v)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v = string.join(v,&#39;,&#39;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; except TypeError:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pass&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file_str.write(v)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file_str.write(v)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file_str.write(&#39;\n&#39;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return file_str.getvalue()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>class PropertyStorage:<br>&nbsp;&nbsp;&nbsp; def __init__(self, items):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://self.name">
self.name</a> = list()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.value = list()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.__parse(items)<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; def __parse(self,items):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for parts in items:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; propName = parts[0]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value = parts[1]
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if isinstance(value, OutputPort):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value = value.Proxy <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (value != &#39;&#39;):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.name.append(propName)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.value.append(value)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>