#!/usr/bin/python
'''Checks for environment variables, python executable path, and
   wsa installation path. Then launches posix wsa process.
'''

import os, subprocess, sys

def check_env():
    ''' check LD_LIBRARY_PATH environment variable '''
    environ = os.getenv("LD_LIBRARY_PATH", '')
    if environ.find('/usr/local/lib') is -1 or environ.find('/usr/lib') is -1:
        new_environ = environ + ':/usr/local/lib:/usr/lib'
        os.putenv("LD_LIBRARY_PATH", new_environ)
    python = '/usr/bin/python2.7'
    wsa_install_path = '/usr/lib/python2.7/site-packages/wsa'
    if os.access(python, os.F_OK) is False:
        python = '/usr/local/bin/python2.7'
        wsa_install_path = '/usr/local/lib/python2.7/site-packages/wsa'
        if os.access(python, os.F_OK) is False:
            print "Python 2.7 not found, exiting"
            os._exit(0)
    if os.path.isdir('/usr/lib/wsa'):
        wsa_install_path = '/usr/lib/wsa'
        sys.path.append('/usr/lib')    
    return (python, wsa_install_path)

def execute_agent(python_path, nohup_path):
    ''' launch nohup'''
    sys.argv[0] = nohup_path+'/posix_wsa_nohup.py'
    subprocess.call(python_path + ' ' +' '.join(sys.argv), shell=True)

if __name__ == "__main__":
    python_exec, abs_path = check_env()
    execute_agent(python_exec, abs_path)
