# @PydevCodeAnalysisIgnore

'''
====================================================================================================

 ext_tool_wrapper.py:

 GENERAL DESCRIPTION
    This script is a wrapper around ext4 tool scripts to pack binaries ext4 format

 Usage:
    ext_tool_wrapper.py  --tool <Tool need to be run > [< Tool N number arguments>]
	                     [--lib  <External Library path> ]
	                     [--path <Additional look up path>]
						 
 Copyright (c) 2017-2018 by Qualcomm Technologies, Incorporated. All Rights Reserved.
 QUALCOMM Proprietary/GTDR
 
-----------------------------------------------------------------------------------------------------
  $Header: //components/rel/build.glue/2.0/app/ext_tool_wrapper.py#1 $
  $DateTime: 2018/03/29 12:54:08 $
=====================================================================================================
'''

import sys, os
import subprocess
#sys.path.append(os.path.abspath(os.path.join(__file__, '../../lib')))
#import meta_log as lg

#Finding arguments

#lg = lg.Logger('ext_tool_wrapper')
#lg.log("ext_tool_wrapper.py:Finding Parameters")
params = sys.argv[1:]
#Check If Lib
if '--tool' not in params:
   print ("Error: Invalid Syntax.")
   print (__doc__)
   sys.exit(1)

#Create New command list
ld_library_path = ""
ld_path =""
tool_name = ""
argument_list = []    
command_list = []
index =0
while(index <len(params)):
   if '--lib' == params[index]:
      ld_library_path = "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:" + params[index+1]
      index = index +2
      continue
   if '--path' == params[index]:
      ld_path = "PATH=$PATH:" + params[index+1]
      index = index +2
      continue	 
   if '--tool' == params[index]:
      tool_name = params[index+1]
      index = index +2
      continue
   #Tool argument list
   argument_list. append(params[index])	  
   index = index +1

# Prepare command list
if(len(ld_library_path) > 0):
   command_list.append(ld_library_path)
if(len(ld_path) > 0):
   command_list.append(ld_path)
 
command_list.append(tool_name)
command_list.extend(argument_list)  
#print('ext_tool_wrapper.py - Executing: ' + ' '.join(command_list))
cmd = ' '.join(command_list)
print('ext_tool_wrapper.py - Executing: ' + cmd)
#lg.log('ext_tool_wrapper.py - Executing: ' + exportcmd)

#task = subprocess.Popen(command_list, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
task = subprocess.Popen(cmd, shell=True, stderr=subprocess.PIPE)
output,err = task.communicate()
if err:
   print('ext_tool_wrapper.py - Error: Tool execution exception' + str(err))
   #lg.log('ext_tool_wrapper.py - Error: Tool execution exception' + str(err))
   sys.exit(1)
   #raise Exception("Unable to create pack file ext4 format: "+ str(err))

print('ext_tool_wrapper.py - Done')
#lg.log("ext_tool_wrapper.py :  Done")
sys.exit(0)