Index: prview/scripts/MANIFEST.IN
===================================================================
--- prview/scripts/MANIFEST.IN	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
+++ prview/scripts/MANIFEST.IN	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
@@ -0,0 +1,4 @@
+
+
+
+
Index: prview/scripts/build_prview.py
===================================================================
--- prview/scripts/build_prview.py	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
+++ prview/scripts/build_prview.py	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
@@ -0,0 +1,284 @@
+# 
+# Script to get source from SVN and build PrView
+#
+# Read the release notes to make ensure that the required software is installed.
+#
+# SVN must be installed:
+# http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
+#
+#
+# On Windows:
+#   - Make sure svn.exe in on the path. You might need to log out and log back in again after installing SVN.
+#   - Inno Setup must be installed
+#   - py2exe must be installed 
+#   - mingw must be installed
+#
+# In Mac:
+#   - py2app must be installed
+#   - macholib must be installed to use py2app
+#   - modulegraph must be installed to use py2app
+#
+# Usage:
+# python build_prview [command]
+# [command] can be any of the following:
+#   -h: lists the command line options
+#   -r: Builds a PrView using the released modules.
+#   -t: Builds PrView from the trunk.
+#   -i: Builds an installer from the release version.
+#   -n: Print out the dependencies for the release notes
+
+import os
+import sys
+import shutil
+import logging
+
+# Installation folder
+import time
+timestamp = int(time.time())
+CWD = os.getcwd()
+INSTALL_FOLDER = "install_%s" % str(timestamp)
+
+# On Windows, the python executable is not always on the path.
+# Use its most frequent location as the default.
+if sys.platform == 'win32':
+    PYTHON = "c:\python25\python"
+    LIB_FOLDER = "%s/%s" % (CWD, INSTALL_FOLDER)
+else:
+    PYTHON = 'python'
+
+logging.basicConfig(level=logging.INFO,
+                    format='%(asctime)s %(levelname)s %(message)s',
+                    filename='build_%s.log' % str(timestamp),
+                    filemode='w')
+
+SVN    = "svn"
+INNO   = "\"c:\Program Files\Inno Setup 5\ISCC\""
+
+# Release version 0.3.3
+DATALOADER = "0.2.7"
+GUICOMM    = "0.1.5"
+GUIFRAME   = "0.2.0"
+PRVIEW     = "0.3.3"
+PLOTTOOLS  = "0.1.9"
+UTIL       = "0.1.5"
+PR_INV = "0.2.5"
+
+# URLs for SVN repos
+DATALOADER_URL = "svn://danse.us/sans/releases/DataLoader-%s" % DATALOADER
+GUICOMM_URL = "svn://danse.us/sans/releases/guicomm-%s" % GUICOMM
+GUIFRAME_URL = "svn://danse.us/sans/releases/guiframe-%s" % GUIFRAME
+PLOTTOOLS_URL = "svn://danse.us/common/releases/plottools-%s/trunk" % PLOTTOOLS
+UTIL_URL = "svn://danse.us/common/releases/util-%s" % UTIL
+PRVIEW_URL = "svn://danse.us/sans/releases/prview-%s" % PRVIEW
+PR_INV_URL = "svn://danse.us/sans/releases/pr_inversion-%s" % PR_INV
+
+
+def check_system():
+    """
+        Checks that the system has the necessary modules.
+    """
+    try:
+        import wx
+    except:
+        logging.error("wxpython missing")
+    
+    try:
+        import matplotlib
+    except:
+        logging.error("matplotlib missing")
+        
+    try:
+        import numpy
+    except:
+        logging.error("numpy missing")
+        
+    try:
+        import scipy
+    except:
+        logging.error("scipy missing")
+        
+    if os.system("gcc -dumpversion")==1:
+        logging.error("missing mingw")
+
+def install_pkg(install_dir, setup_dir, url):
+    """
+        Check a package out and install it
+        
+        @param install_dir: directory to put the code in
+        @param setup_dir: relative location of the setup.py script
+        @param url: URL of the SVN repo
+    """
+    logging.info("Installing %s" % url)
+    try:
+        if not os.path.isdir(install_dir):
+            os.mkdir(install_dir)
+        os.chdir(install_dir)   
+        os.system("%s checkout -q %s" % (SVN, url))        
+        os.chdir(setup_dir)
+        if sys.platform == 'win32':
+            os.system("%s setup.py -q build -cmingw32" % PYTHON)
+            os.system("%s setup.py -q install --root \"%s\"" % (PYTHON, LIB_FOLDER))
+        else:
+            os.system("%s setup.py build" % PYTHON)
+            os.system("%s setup.py install --prefix ~/.local" % PYTHON)
+    except:
+        logging.error("Install failed for %s" % url)
+        logging.error(sys.exc_value)
+        raw_input("Press enter to continue\n")
+        sys.exit()
+    
+def checkout(release=False):
+    """
+        Check the PrView code out
+    """
+    wd = os.getcwd()
+    
+    os.chdir(wd)
+    if release:
+        install_pkg(".", "DataLoader-%s" % DATALOADER, DATALOADER_URL)
+    else:
+        install_pkg(".", "DataLoader", "svn://danse.us/sans/trunk/DataLoader")
+    
+    os.chdir(wd)
+    if release:
+        install_pkg(".", "guicomm-%s" % GUICOMM, GUICOMM_URL)
+    else:
+        install_pkg(".", "guicomm", "svn://danse.us/sans/trunk/guicomm")
+    
+    os.chdir(wd)
+    if release:
+        install_pkg(".", "guiframe-%s" % GUIFRAME, GUIFRAME_URL)
+    else:
+        install_pkg(".", "guiframe", "svn://danse.us/sans/trunk/guiframe")
+    
+    os.chdir(wd)
+    if release:
+        install_pkg("plottools-%s" % PLOTTOOLS, "trunk", PLOTTOOLS_URL)
+    else:
+        install_pkg("plottools", "trunk", "svn://danse.us/common/plottools/trunk")
+    
+    os.chdir(wd)
+    if release:
+        install_pkg(".", "util-%s" % UTIL, UTIL_URL)
+    else:
+        install_pkg(".", "util", "svn://danse.us/common/util")
+    
+    os.chdir(wd)
+    if release:
+        install_pkg(".", "pr_inversion-%s" % PR_INV, PR_INV_URL)
+    else:
+        install_pkg(".", "pr_inversion", "svn://danse.us/sans/trunk/pr_inversion")
+    
+    os.chdir(wd)
+    if release:
+        os.system("%s checkout -q %s" % (SVN, PRVIEW_URL))
+    else:
+        os.system("%s checkout -q svn://danse.us/sans/trunk/prview" % SVN)
+    
+def prepare(wipeout = False):
+    """
+        Prepare the build
+        
+        @param wipeout: If True, the DANSE modules in the standard site-packages will be
+        removed to avoid conflicts.
+    """
+    # Remove existing libraries
+    if wipeout == True:
+        logging.info("Deleting DANSES modules in site-packages")
+        from distutils.sysconfig import get_python_lib
+        libdir = get_python_lib()
+        old_dirs = [os.path.join(libdir, 'danse'),
+                    os.path.join(libdir, 'data_util'),
+                    os.path.join(libdir, 'DataLoader'),
+                    os.path.join(libdir, 'sans'),
+                    os.path.join(libdir, 'sans_extension'),
+                    ]
+        for d in old_dirs:
+            if os.path.isdir(d):
+                shutil.rmtree(d)
+        
+    # Create a fresh installation folder
+    if os.path.isdir(INSTALL_FOLDER):
+        shutil.rmtree(INSTALL_FOLDER)
+
+    os.mkdir(INSTALL_FOLDER)
+    
+    # Check that the dependencies are properly installed
+    check_system()    
+    
+    # Move to the installation folder
+    os.chdir(INSTALL_FOLDER)   
+
+def warning():
+    """
+        The build script will wipe out part of the site-packages.
+        Ask the user whether he wants to proceed.
+    """
+    print "WARNING!\n"
+    print "In order to build a clean version of PrView, this script"
+    print "deletes anything found under site-packages for the following"
+    print "modules:"
+    print "   - danse"
+    print "   - data_util"
+    print "   - DataLoader"
+    print "   - sans"
+    print "   - sans_extension\n"
+    answer = raw_input("Do you want to delete those modules [Y] or continue with a dirty installation [N]? [Y|N]")
+    return answer.upper()=="Y"
+        
+if __name__ == "__main__": 
+    print "Build script for PrView %s" % PRVIEW
+    
+    if len(sys.argv)==1:
+        # If there is no argument, build the installer
+        sys.argv.append("-i")
+    
+    if len(sys.argv)>1:
+        # Help
+        if sys.argv[1]=="-h":
+            print "Usage:"
+            print "    python build_prview [command]\n"
+            print "[command] can be any of the following:"
+            print "    -h: lists the command line options"
+            print "    -r: Builds a PrView using the released modules"
+            print "    -t: Builds PrView from the trunk"
+            print "    -i: Builds an installer from the release version [Windows only]"        
+            print "    -n: Print out the dependencies for the release notes"
+        elif sys.argv[1]=="-n":
+            # Print out release URLs
+            print DATALOADER_URL 
+            print GUICOMM_URL 
+            print GUIFRAME_URL 
+            print PLOTTOOLS_URL 
+            print UTIL_URL 
+            print PRVIEW_URL
+            print PR_INV_URL 
+        else:
+            logging.info("Build script for PrView %s" % PRVIEW)
+                    
+            # Prepare installation folder
+            prepare(warning())
+            
+            # Check the command line argument
+            if sys.argv[1]=="-t":
+                logging.info("Building trunk version")
+                checkout()
+            elif sys.argv[1]=="-r":
+                logging.info("Building release version")
+                checkout(True)
+            elif sys.argv[1]=="-i":
+                logging.info("Building release version")
+                checkout(True)
+                if sys.platform=='win32':
+                    logging.info("Building Windows installer from release version")
+                    os.chdir("prview-%s" % (PRVIEW))
+                    os.system("%s setup_exe.py py2exe --extrapath \"%s\python25\lib\site-packages\"" % (PYTHON, LIB_FOLDER))
+                    os.system("%s/Q installer.iss" % INNO)
+                    shutil.copy2(os.path.join("Output","setupSansView.exe"), 
+                                 os.path.join(CWD, "setupSansView_%s.exe" % str(timestamp)))
+                elif sys.platform=='darwin':
+                    logging.info("Building Mac application from release version")
+                    os.chdir("prview-%s" % (PRVIEW))
+                    os.system("%s setup_mac.py py2app" % PYTHON)                    
+                    
+    raw_input("Press enter to continue\n")
Index: prview/scripts/installer.iss
===================================================================
--- prview/scripts/installer.iss	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
+++ prview/scripts/installer.iss	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
@@ -0,0 +1,42 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+[Setup]
+AppName=PrView-0.3
+AppVerName=PrView 0.3
+AppPublisher=University of Tennessee
+AppPublisherURL=http://danse.chem.utk.edu/
+AppSupportURL=http://danse.chem.utk.edu/
+AppUpdatesURL=http://danse.chem.utk.edu/
+DefaultDirName={pf}\PrView-0.3
+DefaultGroupName=DANSE\PrView-0.3
+DisableProgramGroupPage=yes
+LicenseFile=license.txt
+OutputBaseFilename=setupPrView
+SetupIconFile=images\ball.ico
+Compression=lzma
+SolidCompression=yes
+PrivilegesRequired=none
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+Name: "french"; MessagesFile: "compiler:Languages\French.isl"
+Name: "german"; MessagesFile: "compiler:Languages\German.isl"
+
+[Tasks]
+Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
+
+[Files]
+Source: "dist\prView.exe"; DestDir: "{app}"; Flags: ignoreversion
+Source: "dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "images\*"; DestDir: "{app}\images"; Flags: ignoreversion recursesubdirs createallsubdirs
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Icons]
+Name: "{group}\PrView"; Filename: "{app}\prView.exe"; WorkingDir: "{app}"
+Name: "{group}\{cm:UninstallProgram,PrView}"; Filename: "{uninstallexe}"
+Name: "{commondesktop}\PrView"; Filename: "{app}\prView.exe"; Tasks: desktopicon; WorkingDir: "{app}"
+
+[Run]
+Filename: "{app}\prView.exe"; Description: "{cm:LaunchProgram,PrView}"; Flags: nowait postinstall skipifsilent
+
Index: prview/scripts/license.txt
===================================================================
--- prview/scripts/license.txt	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
+++ prview/scripts/license.txt	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
@@ -0,0 +1,13 @@
+This software was developed by the University of Tennessee as part of the
+Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
+project funded by the US National Science Foundation. 
+
+If you use DANSE applications to do scientific research that leads to publication, 
+we ask that you acknowledge the use of the software with the following sentence:
+
+"This work benefited from DANSE software developed under NSF award DMR-0520547." 
+
+See the DANSE project web site for license information:
+http://wiki.cacr.caltech.edu/danse/index.php/Main_Page
+
+copyright 2008, University of Tennessee for the DANSE project
Index: prview/scripts/setup_exe.py
===================================================================
--- prview/scripts/setup_exe.py	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
+++ prview/scripts/setup_exe.py	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
@@ -0,0 +1,143 @@
+#!/usr/bin/env python
+
+#
+# The setup to create a Windows executable.
+# Inno Setup can then be used with the installer.iss file 
+# in the top source directory to create an installer. 
+#
+# Setuptools clashes with py2exe 0.6.8 (and probably later too).
+# For that reason, most of the code needs to have direct imports
+# that are not going through pkg_resources. 
+#
+# Attention should be paid to dynamic imports. Data files can
+# be added to the distribution directory for that purpose.
+# See for example the 'images' directory below.
+
+import os
+import sys
+
+# When using the SansView build script, we need to be able to pass
+# an extra path to be added to the python path. The extra arguments
+# should be removed from the list so that the setup processing doesn't
+# fail.
+try:
+    if sys.argv.count('--extrapath'):
+        path_flag_idx = sys.argv.index('--extrapath')
+        extra_path = sys.argv[path_flag_idx+1]
+        sys.path.insert(0, extra_path)
+        del sys.argv[path_flag_idx+1]
+        sys.argv.remove('--extrapath')
+except:
+    print "Error processing extra python path needed to build SansView\n  %s" % sys.exc_value
+
+from distutils.core import setup
+from distutils.filelist import findall
+import matplotlib
+import py2exe
+
+manifest = """
+   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+   <assembly xmlns="urn:schemas-microsoft-com:asm.v1"
+   manifestVersion="1.0">
+   <assemblyIdentity
+       version="0.64.1.0"
+       processorArchitecture="x86"
+       name="Controls"
+       type="win32"
+   />
+   <description>PrView</description>
+   <dependency>
+       <dependentAssembly>
+           <assemblyIdentity
+               type="win32"
+               name="Microsoft.Windows.Common-Controls"
+               version="6.0.0.0"
+               processorArchitecture="X86"
+               publicKeyToken="6595b64144ccf1df"
+               language="*"
+           />
+       </dependentAssembly>
+   </dependency>
+   </assembly>
+  """
+
+    
+class Target:
+    def __init__(self, **kw):
+        self.__dict__.update(kw)
+        # for the versioninfo resources
+        self.version = "0.3"
+        self.company_name = "U Tennessee"
+        self.copyright = "copyright 2009"
+        self.name = "PrView"
+        
+#
+# Adapted from http://www.py2exe.org/index.cgi/MatPlotLib
+# to use the MatPlotLib.
+#
+matplotlibdatadir = matplotlib.get_data_path()
+matplotlibdata = findall(matplotlibdatadir)
+data_files = []
+
+for f in matplotlibdata:
+    dirname = os.path.join('mpl-data', f[len(matplotlibdatadir)+1:])
+    data_files.append((os.path.split(dirname)[0], [f]))
+
+# Copying the images directory to the distribution directory.
+for f in findall('images'):
+    if os.path.split(f)[0].count('.svn')==0:
+        data_files.append((os.path.split(f)[0], [f]))
+
+# Copying the sample data user data
+for f in findall('test'):
+    if os.path.split(f)[0].count('.svn')==0:
+        data_files.append((os.path.split(f)[0], [f]))
+        
+# Copying the sample data user data
+for f in findall('plugins'):
+    if os.path.split(f)[0].count('.svn')==0:
+        data_files.append((os.path.split(f)[0], [f]))
+    
+#
+# packages
+#
+packages = ['matplotlib', 'pytz']
+includes = []
+excludes = [] 
+
+dll_excludes = [
+    'libgdk_pixbuf-2.0-0.dll', 
+    'libgobject-2.0-0.dll',
+    'libgdk-win32-2.0-0.dll',
+    ]
+
+target_wx_client = Target(
+    description = 'P(r) inversion viewer',
+    script = 'PrView.py',
+    icon_resources = [(1, "images/ball.ico")],
+    other_resources = [(24,1,manifest)],
+    dest_base = "prView"
+    )
+
+
+
+setup(
+    windows=[target_wx_client],
+    console=[],
+    
+    options={
+        'py2exe': {
+            'dll_excludes': dll_excludes,
+            'packages' : packages,
+            'includes':includes,
+            'excludes':excludes,
+            "compressed": 1,
+            "optimize": 0,
+            "bundle_files":2,
+            },
+    },
+    data_files=data_files
+    
+)
+
+
Index: prview/scripts/setup_mac.py
===================================================================
--- prview/scripts/setup_mac.py	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
+++ prview/scripts/setup_mac.py	(revision 7458ceed90d9e40a00ff9760e4703c68deeac2e6)
@@ -0,0 +1,37 @@
+"""
+    Setup script to build a Mac app
+"""
+from setuptools import setup
+import DataLoader.readers 
+import os
+
+#Data reader data files
+
+RESOURCES_FILES = os.path.join(DataLoader.readers.get_data_path(),'defaults.xml')
+
+# Locate libxml2 library
+lib_locs = ['/usr/local/lib', '/usr/lib']
+libxml_path = None
+for item in lib_locs:
+    libxml_path_test = '%s/libxml2.2.dylib' % item
+    if os.path.isfile(libxml_path_test): 
+        libxml_path = libxml_path_test
+if libxml_path == None:
+    raise RuntimeError, "Could not find libxml2 on the system"
+
+APP = ['PrView.py']
+DATA_FILES = ['images', 'test', 'plugins']
+OPTIONS = {'argv_emulation': True,
+           'packages': ['lxml'],
+           'iconfile': 'images/ball.icns',
+           'frameworks':[libxml_path],
+           'resources': RESOURCES_FILES
+           }
+
+setup(
+    app=APP,
+    data_files=DATA_FILES,
+    include_package_data= True,
+    options={'py2app': OPTIONS},
+    setup_requires=['py2app'],
+)
Index: view/src/MANIFEST.IN
===================================================================
--- prview/src/MANIFEST.IN	(revision 4851fcbcfbc58217382fcfbec6bf67d8fc72b5c8)
+++ 	(revision )
@@ -1,4 +1,0 @@
-
-
-
-
Index: view/src/build_prview.py
===================================================================
--- prview/src/build_prview.py	(revision f3fa0f33f930a7d96b819bcd7552c0f4cfe23429)
+++ 	(revision )
@@ -1,284 +1,0 @@
-# 
-# Script to get source from SVN and build PrView
-#
-# Read the release notes to make ensure that the required software is installed.
-#
-# SVN must be installed:
-# http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
-#
-#
-# On Windows:
-#   - Make sure svn.exe in on the path. You might need to log out and log back in again after installing SVN.
-#   - Inno Setup must be installed
-#   - py2exe must be installed 
-#   - mingw must be installed
-#
-# In Mac:
-#   - py2app must be installed
-#   - macholib must be installed to use py2app
-#   - modulegraph must be installed to use py2app
-#
-# Usage:
-# python build_prview [command]
-# [command] can be any of the following:
-#   -h: lists the command line options
-#   -r: Builds a PrView using the released modules.
-#   -t: Builds PrView from the trunk.
-#   -i: Builds an installer from the release version.
-#   -n: Print out the dependencies for the release notes
-
-import os
-import sys
-import shutil
-import logging
-
-# Installation folder
-import time
-timestamp = int(time.time())
-CWD = os.getcwd()
-INSTALL_FOLDER = "install_%s" % str(timestamp)
-
-# On Windows, the python executable is not always on the path.
-# Use its most frequent location as the default.
-if sys.platform == 'win32':
-    PYTHON = "c:\python25\python"
-    LIB_FOLDER = "%s/%s" % (CWD, INSTALL_FOLDER)
-else:
-    PYTHON = 'python'
-
-logging.basicConfig(level=logging.INFO,
-                    format='%(asctime)s %(levelname)s %(message)s',
-                    filename='build_%s.log' % str(timestamp),
-                    filemode='w')
-
-SVN    = "svn"
-INNO   = "\"c:\Program Files\Inno Setup 5\ISCC\""
-
-# Release version 0.3.3
-DATALOADER = "0.2.7"
-GUICOMM    = "0.1.5"
-GUIFRAME   = "0.2.0"
-PRVIEW     = "0.3.3"
-PLOTTOOLS  = "0.1.9"
-UTIL       = "0.1.5"
-PR_INV = "0.2.5"
-
-# URLs for SVN repos
-DATALOADER_URL = "svn://danse.us/sans/releases/DataLoader-%s" % DATALOADER
-GUICOMM_URL = "svn://danse.us/sans/releases/guicomm-%s" % GUICOMM
-GUIFRAME_URL = "svn://danse.us/sans/releases/guiframe-%s" % GUIFRAME
-PLOTTOOLS_URL = "svn://danse.us/common/releases/plottools-%s/trunk" % PLOTTOOLS
-UTIL_URL = "svn://danse.us/common/releases/util-%s" % UTIL
-PRVIEW_URL = "svn://danse.us/sans/releases/prview-%s" % PRVIEW
-PR_INV_URL = "svn://danse.us/sans/releases/pr_inversion-%s" % PR_INV
-
-
-def check_system():
-    """
-        Checks that the system has the necessary modules.
-    """
-    try:
-        import wx
-    except:
-        logging.error("wxpython missing")
-    
-    try:
-        import matplotlib
-    except:
-        logging.error("matplotlib missing")
-        
-    try:
-        import numpy
-    except:
-        logging.error("numpy missing")
-        
-    try:
-        import scipy
-    except:
-        logging.error("scipy missing")
-        
-    if os.system("gcc -dumpversion")==1:
-        logging.error("missing mingw")
-
-def install_pkg(install_dir, setup_dir, url):
-    """
-        Check a package out and install it
-        
-        @param install_dir: directory to put the code in
-        @param setup_dir: relative location of the setup.py script
-        @param url: URL of the SVN repo
-    """
-    logging.info("Installing %s" % url)
-    try:
-        if not os.path.isdir(install_dir):
-            os.mkdir(install_dir)
-        os.chdir(install_dir)   
-        os.system("%s checkout -q %s" % (SVN, url))        
-        os.chdir(setup_dir)
-        if sys.platform == 'win32':
-            os.system("%s setup.py -q build -cmingw32" % PYTHON)
-            os.system("%s setup.py -q install --root \"%s\"" % (PYTHON, LIB_FOLDER))
-        else:
-            os.system("%s setup.py build" % PYTHON)
-            os.system("%s setup.py install --prefix ~/.local" % PYTHON)
-    except:
-        logging.error("Install failed for %s" % url)
-        logging.error(sys.exc_value)
-        raw_input("Press enter to continue\n")
-        sys.exit()
-    
-def checkout(release=False):
-    """
-        Check the PrView code out
-    """
-    wd = os.getcwd()
-    
-    os.chdir(wd)
-    if release:
-        install_pkg(".", "DataLoader-%s" % DATALOADER, DATALOADER_URL)
-    else:
-        install_pkg(".", "DataLoader", "svn://danse.us/sans/trunk/DataLoader")
-    
-    os.chdir(wd)
-    if release:
-        install_pkg(".", "guicomm-%s" % GUICOMM, GUICOMM_URL)
-    else:
-        install_pkg(".", "guicomm", "svn://danse.us/sans/trunk/guicomm")
-    
-    os.chdir(wd)
-    if release:
-        install_pkg(".", "guiframe-%s" % GUIFRAME, GUIFRAME_URL)
-    else:
-        install_pkg(".", "guiframe", "svn://danse.us/sans/trunk/guiframe")
-    
-    os.chdir(wd)
-    if release:
-        install_pkg("plottools-%s" % PLOTTOOLS, "trunk", PLOTTOOLS_URL)
-    else:
-        install_pkg("plottools", "trunk", "svn://danse.us/common/plottools/trunk")
-    
-    os.chdir(wd)
-    if release:
-        install_pkg(".", "util-%s" % UTIL, UTIL_URL)
-    else:
-        install_pkg(".", "util", "svn://danse.us/common/util")
-    
-    os.chdir(wd)
-    if release:
-        install_pkg(".", "pr_inversion-%s" % PR_INV, PR_INV_URL)
-    else:
-        install_pkg(".", "pr_inversion", "svn://danse.us/sans/trunk/pr_inversion")
-    
-    os.chdir(wd)
-    if release:
-        os.system("%s checkout -q %s" % (SVN, PRVIEW_URL))
-    else:
-        os.system("%s checkout -q svn://danse.us/sans/trunk/prview" % SVN)
-    
-def prepare(wipeout = False):
-    """
-        Prepare the build
-        
-        @param wipeout: If True, the DANSE modules in the standard site-packages will be
-        removed to avoid conflicts.
-    """
-    # Remove existing libraries
-    if wipeout == True:
-        logging.info("Deleting DANSES modules in site-packages")
-        from distutils.sysconfig import get_python_lib
-        libdir = get_python_lib()
-        old_dirs = [os.path.join(libdir, 'danse'),
-                    os.path.join(libdir, 'data_util'),
-                    os.path.join(libdir, 'DataLoader'),
-                    os.path.join(libdir, 'sans'),
-                    os.path.join(libdir, 'sans_extension'),
-                    ]
-        for d in old_dirs:
-            if os.path.isdir(d):
-                shutil.rmtree(d)
-        
-    # Create a fresh installation folder
-    if os.path.isdir(INSTALL_FOLDER):
-        shutil.rmtree(INSTALL_FOLDER)
-
-    os.mkdir(INSTALL_FOLDER)
-    
-    # Check that the dependencies are properly installed
-    check_system()    
-    
-    # Move to the installation folder
-    os.chdir(INSTALL_FOLDER)   
-
-def warning():
-    """
-        The build script will wipe out part of the site-packages.
-        Ask the user whether he wants to proceed.
-    """
-    print "WARNING!\n"
-    print "In order to build a clean version of PrView, this script"
-    print "deletes anything found under site-packages for the following"
-    print "modules:"
-    print "   - danse"
-    print "   - data_util"
-    print "   - DataLoader"
-    print "   - sans"
-    print "   - sans_extension\n"
-    answer = raw_input("Do you want to delete those modules [Y] or continue with a dirty installation [N]? [Y|N]")
-    return answer.upper()=="Y"
-        
-if __name__ == "__main__": 
-    print "Build script for PrView %s" % PRVIEW
-    
-    if len(sys.argv)==1:
-        # If there is no argument, build the installer
-        sys.argv.append("-i")
-    
-    if len(sys.argv)>1:
-        # Help
-        if sys.argv[1]=="-h":
-            print "Usage:"
-            print "    python build_prview [command]\n"
-            print "[command] can be any of the following:"
-            print "    -h: lists the command line options"
-            print "    -r: Builds a PrView using the released modules"
-            print "    -t: Builds PrView from the trunk"
-            print "    -i: Builds an installer from the release version [Windows only]"        
-            print "    -n: Print out the dependencies for the release notes"
-        elif sys.argv[1]=="-n":
-            # Print out release URLs
-            print DATALOADER_URL 
-            print GUICOMM_URL 
-            print GUIFRAME_URL 
-            print PLOTTOOLS_URL 
-            print UTIL_URL 
-            print PRVIEW_URL
-            print PR_INV_URL 
-        else:
-            logging.info("Build script for PrView %s" % PRVIEW)
-                    
-            # Prepare installation folder
-            prepare(warning())
-            
-            # Check the command line argument
-            if sys.argv[1]=="-t":
-                logging.info("Building trunk version")
-                checkout()
-            elif sys.argv[1]=="-r":
-                logging.info("Building release version")
-                checkout(True)
-            elif sys.argv[1]=="-i":
-                logging.info("Building release version")
-                checkout(True)
-                if sys.platform=='win32':
-                    logging.info("Building Windows installer from release version")
-                    os.chdir("prview-%s" % (PRVIEW))
-                    os.system("%s setup_exe.py py2exe --extrapath \"%s\python25\lib\site-packages\"" % (PYTHON, LIB_FOLDER))
-                    os.system("%s/Q installer.iss" % INNO)
-                    shutil.copy2(os.path.join("Output","setupSansView.exe"), 
-                                 os.path.join(CWD, "setupSansView_%s.exe" % str(timestamp)))
-                elif sys.platform=='darwin':
-                    logging.info("Building Mac application from release version")
-                    os.chdir("prview-%s" % (PRVIEW))
-                    os.system("%s setup_mac.py py2app" % PYTHON)                    
-                    
-    raw_input("Press enter to continue\n")
Index: view/src/installer.iss
===================================================================
--- prview/src/installer.iss	(revision e0ad5a68bb2d869b61e32c62c5cc597c8b0c93ba)
+++ 	(revision )
@@ -1,42 +1,0 @@
-; Script generated by the Inno Setup Script Wizard.
-; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-
-[Setup]
-AppName=PrView-0.3
-AppVerName=PrView 0.3
-AppPublisher=University of Tennessee
-AppPublisherURL=http://danse.chem.utk.edu/
-AppSupportURL=http://danse.chem.utk.edu/
-AppUpdatesURL=http://danse.chem.utk.edu/
-DefaultDirName={pf}\PrView-0.3
-DefaultGroupName=DANSE\PrView-0.3
-DisableProgramGroupPage=yes
-LicenseFile=license.txt
-OutputBaseFilename=setupPrView
-SetupIconFile=images\ball.ico
-Compression=lzma
-SolidCompression=yes
-PrivilegesRequired=none
-
-[Languages]
-Name: "english"; MessagesFile: "compiler:Default.isl"
-Name: "french"; MessagesFile: "compiler:Languages\French.isl"
-Name: "german"; MessagesFile: "compiler:Languages\German.isl"
-
-[Tasks]
-Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
-
-[Files]
-Source: "dist\prView.exe"; DestDir: "{app}"; Flags: ignoreversion
-Source: "dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "images\*"; DestDir: "{app}\images"; Flags: ignoreversion recursesubdirs createallsubdirs
-; NOTE: Don't use "Flags: ignoreversion" on any shared system files
-
-[Icons]
-Name: "{group}\PrView"; Filename: "{app}\prView.exe"; WorkingDir: "{app}"
-Name: "{group}\{cm:UninstallProgram,PrView}"; Filename: "{uninstallexe}"
-Name: "{commondesktop}\PrView"; Filename: "{app}\prView.exe"; Tasks: desktopicon; WorkingDir: "{app}"
-
-[Run]
-Filename: "{app}\prView.exe"; Description: "{cm:LaunchProgram,PrView}"; Flags: nowait postinstall skipifsilent
-
Index: view/src/license.txt
===================================================================
--- prview/src/license.txt	(revision 30c5d86a452d9e5fc50855cb711a80463cffff3c)
+++ 	(revision )
@@ -1,13 +1,0 @@
-This software was developed by the University of Tennessee as part of the
-Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-project funded by the US National Science Foundation. 
-
-If you use DANSE applications to do scientific research that leads to publication, 
-we ask that you acknowledge the use of the software with the following sentence:
-
-"This work benefited from DANSE software developed under NSF award DMR-0520547." 
-
-See the DANSE project web site for license information:
-http://wiki.cacr.caltech.edu/danse/index.php/Main_Page
-
-copyright 2008, University of Tennessee for the DANSE project
Index: view/src/setup_exe.py
===================================================================
--- prview/src/setup_exe.py	(revision 4851fcbcfbc58217382fcfbec6bf67d8fc72b5c8)
+++ 	(revision )
@@ -1,143 +1,0 @@
-#!/usr/bin/env python
-
-#
-# The setup to create a Windows executable.
-# Inno Setup can then be used with the installer.iss file 
-# in the top source directory to create an installer. 
-#
-# Setuptools clashes with py2exe 0.6.8 (and probably later too).
-# For that reason, most of the code needs to have direct imports
-# that are not going through pkg_resources. 
-#
-# Attention should be paid to dynamic imports. Data files can
-# be added to the distribution directory for that purpose.
-# See for example the 'images' directory below.
-
-import os
-import sys
-
-# When using the SansView build script, we need to be able to pass
-# an extra path to be added to the python path. The extra arguments
-# should be removed from the list so that the setup processing doesn't
-# fail.
-try:
-    if sys.argv.count('--extrapath'):
-        path_flag_idx = sys.argv.index('--extrapath')
-        extra_path = sys.argv[path_flag_idx+1]
-        sys.path.insert(0, extra_path)
-        del sys.argv[path_flag_idx+1]
-        sys.argv.remove('--extrapath')
-except:
-    print "Error processing extra python path needed to build SansView\n  %s" % sys.exc_value
-
-from distutils.core import setup
-from distutils.filelist import findall
-import matplotlib
-import py2exe
-
-manifest = """
-   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-   <assembly xmlns="urn:schemas-microsoft-com:asm.v1"
-   manifestVersion="1.0">
-   <assemblyIdentity
-       version="0.64.1.0"
-       processorArchitecture="x86"
-       name="Controls"
-       type="win32"
-   />
-   <description>PrView</description>
-   <dependency>
-       <dependentAssembly>
-           <assemblyIdentity
-               type="win32"
-               name="Microsoft.Windows.Common-Controls"
-               version="6.0.0.0"
-               processorArchitecture="X86"
-               publicKeyToken="6595b64144ccf1df"
-               language="*"
-           />
-       </dependentAssembly>
-   </dependency>
-   </assembly>
-  """
-
-    
-class Target:
-    def __init__(self, **kw):
-        self.__dict__.update(kw)
-        # for the versioninfo resources
-        self.version = "0.3"
-        self.company_name = "U Tennessee"
-        self.copyright = "copyright 2009"
-        self.name = "PrView"
-        
-#
-# Adapted from http://www.py2exe.org/index.cgi/MatPlotLib
-# to use the MatPlotLib.
-#
-matplotlibdatadir = matplotlib.get_data_path()
-matplotlibdata = findall(matplotlibdatadir)
-data_files = []
-
-for f in matplotlibdata:
-    dirname = os.path.join('mpl-data', f[len(matplotlibdatadir)+1:])
-    data_files.append((os.path.split(dirname)[0], [f]))
-
-# Copying the images directory to the distribution directory.
-for f in findall('images'):
-    if os.path.split(f)[0].count('.svn')==0:
-        data_files.append((os.path.split(f)[0], [f]))
-
-# Copying the sample data user data
-for f in findall('test'):
-    if os.path.split(f)[0].count('.svn')==0:
-        data_files.append((os.path.split(f)[0], [f]))
-        
-# Copying the sample data user data
-for f in findall('plugins'):
-    if os.path.split(f)[0].count('.svn')==0:
-        data_files.append((os.path.split(f)[0], [f]))
-    
-#
-# packages
-#
-packages = ['matplotlib', 'pytz']
-includes = []
-excludes = [] 
-
-dll_excludes = [
-    'libgdk_pixbuf-2.0-0.dll', 
-    'libgobject-2.0-0.dll',
-    'libgdk-win32-2.0-0.dll',
-    ]
-
-target_wx_client = Target(
-    description = 'P(r) inversion viewer',
-    script = 'PrView.py',
-    icon_resources = [(1, "images/ball.ico")],
-    other_resources = [(24,1,manifest)],
-    dest_base = "prView"
-    )
-
-
-
-setup(
-    windows=[target_wx_client],
-    console=[],
-    
-    options={
-        'py2exe': {
-            'dll_excludes': dll_excludes,
-            'packages' : packages,
-            'includes':includes,
-            'excludes':excludes,
-            "compressed": 1,
-            "optimize": 0,
-            "bundle_files":2,
-            },
-    },
-    data_files=data_files
-    
-)
-
-
Index: view/src/setup_mac.py
===================================================================
--- prview/src/setup_mac.py	(revision e0078c44c29f42497f4eb77587741ba3a7aff22f)
+++ 	(revision )
@@ -1,37 +1,0 @@
-"""
-    Setup script to build a Mac app
-"""
-from setuptools import setup
-import DataLoader.readers 
-import os
-
-#Data reader data files
-
-RESOURCES_FILES = os.path.join(DataLoader.readers.get_data_path(),'defaults.xml')
-
-# Locate libxml2 library
-lib_locs = ['/usr/local/lib', '/usr/lib']
-libxml_path = None
-for item in lib_locs:
-    libxml_path_test = '%s/libxml2.2.dylib' % item
-    if os.path.isfile(libxml_path_test): 
-        libxml_path = libxml_path_test
-if libxml_path == None:
-    raise RuntimeError, "Could not find libxml2 on the system"
-
-APP = ['PrView.py']
-DATA_FILES = ['images', 'test', 'plugins']
-OPTIONS = {'argv_emulation': True,
-           'packages': ['lxml'],
-           'iconfile': 'images/ball.icns',
-           'frameworks':[libxml_path],
-           'resources': RESOURCES_FILES
-           }
-
-setup(
-    app=APP,
-    data_files=DATA_FILES,
-    include_package_data= True,
-    options={'py2app': OPTIONS},
-    setup_requires=['py2app'],
-)
