#!  /bin/bash
#--------------------------------------------------------------
# $Source: /cvs/X/X12SA/App/scripts/X_X12SA_mcaDisplayStart,v $
# $Revision: 1.1 $    $Date: 2019/01/24 14:28:39 $
#
#  This script sets environment variables and invokes mcaDisplay.py
#
#  Usage:
#           X_X05LA_mcaDisplayStart <detector>
#--------------------------------------------------------------
  if [ $# = 0 ]; then
    echo No detector specified, aborting ...
    if [ $(type -type xmessage) ]; then
      xkbbell
      xmessage -time 5 -near -buttons "" \
        "No  detector specified"
    fi
    exit
  fi
  # For RHEL7 the mcaDisplay is installed as RPM
  if $(grep -q 'Red Hat' /etc/redhat-release); then 
    mcaDisplay $*
    exit
  fi

#  export PYTHONPATH=/work/sls/lib/python22/CaChannel:$PYTHONPATH
#  export PYTHONPATH=/work/sls/lib/python22/GSECARS:$PYTHONPATH
#  export JCPDS_PATH=/work/sls/lib/python22/GSECARS/jcpds
#  export XRF_PEAK_LIBRARY=/work/sls/lib/python22/GSECARS/xrf_peak_library.txt

#  if [[ $PYTHONPATH != */exchange/share/mXAS/pyth/mod* ]]; then
#    export PYTHONPATH=$PYTHONPATH:/exchange/share/mXAS/pyth/mod
#  fi
#
#  if [[ $PYTHONPATH != */work/sls/lib/X_X03MA_ES1* ]]; then
#    export PYTHONPATH=$PYTHONPATH:/work/sls/lib/X_X03MA_ES1
#  fi
#
#  if [[ $PYTHONPATH != */work/sls/lib/python22/GSECARS/* ]]; then
#    export PYTHONPATH=$PYTHONPATH:/work/sls/lib/python22/GSECARS/
#  fi

  if [[ $JCPDS_PATH != */usr/local/epics/extensions/lib/SL5-x86/python2.4/GSECARS/jcpds* ]]; then
    export JCPDS_PATH=$JCPDS_PATH:/usr/local/epics/extensions/lib/SL5-x86/python2.4/GSECARS/jcpds
  fi

  if [[ $JCPDS_PATH != */work/sls/lib/python22/GSECARS/jcpds* ]]; then
    export JCPDS_PATH=$JCPDS_PATH:/work/sls/lib/python22/GSECARS/jcpds
  fi

  if [[ $XRF_PEAK_LIBRARY != */usr/local/epics/extensions/lib/SL5-x86/python2.4/GSECARS/xrf_peak_library.txt* ]]; then
    export XRF_PEAK_LIBRARY=$XRF_PEAK_LIBRARY:/usr/local/epics/extensions/lib/SL5-x86/python2.4/GSECARS/xrf_peak_library.txt
  fi


  if [[ $XRF_PEAK_LIBRARY != */work/sls/lib/python22/GSECARS/xrf_peak_library.txt* ]]; then
    export XRF_PEAK_LIBRARY=$XRF_PEAK_LIBRARY:/work/sls/lib/python22/GSECARS/xrf_peak_library.txt
  fi

  export MCA_SETTINGS=$HOME/mca.settings
  export MCA_HELP_COMMAND="openHelp.sh file:///work/sls/lib/python22/GSECARS/GSECARS-Python-Library.html"

  if [ $(type -type caget) ]; then
    for det; do
      echo Testing access to $det ...
      caget $det > /dev/null 2>&1
      if [ $? != 0 ]; then
        echo No access to $det, aborting ...
        if [ $(type -type xmessage) ]; then
          xkbbell
          xmessage -time 5 -near -buttons "" \
            "No access to $det, display aborted"
        fi
        exit
      fi
    done
  fi
  echo Python script is /tmp/mcaDisplayDo-$$.py
  cat >| /tmp/mcaDisplayDo-$$.py <<-EOF
	#! /usr/bin/env python
	#--------------------------------------------------------
	import os, sys, commands
	#            Make sure we are running at least python level 2.
	#            CaChannel seems to give troubles otherwise!
	try:
	  if sys.version[0:1] == "1":
	    python2 = commands.getoutput ("type -p python2")
	    if python2 == "":
	      print "\n\aThe default python version is", sys.version
	      print     "and this script needs python level 2 or higher."
	      print     " Python level 2 cannot be found."
	      sys.exit (1)
	    #endif
	    sys.argv.insert (0, python2)
	    os.execv (python2, sys.argv)
	  #endif
	  if sys.version[0:1] == "1":
	    print "\n\aThe loading of python level 2 seems to have failed!"
	    sys.exit (1)
	  #endif
	except:
	  print "\n\aFailed to load python level 2!"
	  raise
	#endtry
	#--------------------------------------------------------
	from mcaDisplay import *
	setDestroyTopIfNoDisplays (1)
	disps = []
	for indx in range (len (sys.argv[1:])):
	  det = sys.argv[indx+1]
	  print "Calling mcaDisplay for detector \\"%s\\" ..." % det
	  disps.append (mcaDisplay (detector=det))
	#endfor
	try:
	  disps[0].widgets.top.mainloop ()
	except:
	  pass
	#endtry
EOF
  chmod 755 /tmp/mcaDisplayDo-$$.py
  /tmp/mcaDisplayDo-$$.py $*
  rm /tmp/mcaDisplayDo-$$.py
#
#---------------------------------------------------------------
