#chmod +x findLogin
echo "UPdated on MacImac"

#Clear Screen 
#clear
#Set Defaults
baseDir="/users/rbutare/lbin/"
DataDir="/users/rbutare/lbin/data/"
BackupDataDir="/users/rbutare/lbinBK/"
DataFile="website.csv"
DataCSVFilePath=$DataDir$DataFile
DataTxtFilePath="${DataDir}website.txt"
HTMLFile="website.htm"
PHPFile="websiteData.php"
PHPFilePath=$DataDir$PHPFile
HTMLFilePath=$DataDir$HTMLFile
HelpFile=${DataDir}"findLoginHelp.txt"
baseName=`echo $DataFile | awk -F. '{print $1}'`
backupFile="$BackupDataDir$baseName.$$"
echo "Backup File: $backupFile"
cp  $DataCSVFilePath  $backupFile
export LC_ALL

# Clean up previous files
rm -f $HTMLFile $PHPFile
#echo "DataDir="   $DataDir
#echo "DataFile="   $DataFile
#echo "Basename="   $baseName
#echo "backupFile="   $backupFile
#echo "DataCSVFilePath="   $DataCSVFilePath

#test if file exists
if [[ ! -f $DataCSVFilePath ]]
then
	#debug echo $DataCSVFilePath ": - Ok "
	echo "ERROR: File: $DataCSVFilePath Does not EXIST!!"
	exit 1
fi

#check Options
ARGS=`getopt IUVWcdefhilnprtw $@`
           # you should not use `getopt abo: "$@"` since that would parse
           # the arguments differently from what the set command below does.
if [ $? != 0 ]
then
	echo 'BAD USAGE Usage: ...'
	cat $HelpFile
	exit 2
fi
set -- $ARGS
# You cannot use the set command with a backquoted getopt directly,
# since the exit code from getopt would be shadowed by those of set,
# which is zero by definition.
cmdNum=0 #Used to show what cmd to run - Default Value
for i
do
	case "$i"
	in
		 -h| -H)
			#Help
			cmdNum=1
			cat  $HelpFile
			#exit 1
			shift;;
                 -f | -F)
			#Check Fields
			cmdNum=33
                        shift;;
                 -c|-C)
			#Show Color Grep of Info 
			cmdNum=2
			#grep --color  -i "$1"  $DataCSVFilePath
                        shift;;
		-d | -D )
			#Debug data search
			cmdNum=22
			shift ;;
		-e | -E)
			#Edit File
			cmdNum=3
                        #echo oarg is "'"$2"'"; oarg="$2"; shift;
			#cp $DataCSVFilePath  ${DataDir}website.$$
			cp $DataCSVFilePath  $backupFile
#ls -l website.csv $backupFile
			echo $DataCSVFilePath  $backupFile
			#Bug in Sort must export LC_ALL="C" to work
			LC_ALL='C';
			export LC_ALL;
			#Sort Information for Next Time
			#sort ${BackupDataDir}website.$$ >   $DataCSVFilePath	
			#ls -l    $DataCSVFilePath	
			sort  -d ${backupFile} >   $DataCSVFilePath	
			#ls -l    $DataCSVFilePath	
			#Convert returns
			#DO I NEED THIS ?
			awk '{ sub("\r$", ""); print }' ${backupFile} | sort  -d > $DataCSVFilePath
			ls -l    $DataCSVFilePath	
			diff ${backupFile} $DataCSVFilePath	
			vi  $DataCSVFilePath
			ls -l    $DataCSVFilePath	
			#cp new file to $DropboxData
			#UPDATE imac from macbook
			#${DataDir}mnt1
set -x
output="/Users/rbutare/sites/table/TableFilter_EN/dataCsv.php"
echo "copy files to webserver: $output"
			awk  -v PHP=1 -f $DataDir/findLoginReport.awk $DataCSVFilePath > $PHPFilePath
			cp $PHPFilePath $output
			sed -e "/<table /s/table8/example/" $PHPFilePath |  sed -e "/<table /s/sample myTable/display/" > /Users/rbutare/sites/table/DataTables-1.8.2/examples/api/dataCSV.php
			###awk -f $DataDir/findLoginReport.awk $DataCSVFilePath > $output
		
			exit $?
			shift;;
		-i|-I)
			#Get More Info
			cmdNum=10
			shift;;
		-l|-L)
			#Check HTML Output
			cmdNum=7
			shift;;
		-n | -N)
			#Open File in Numbers
			cmdNum=4
                        echo oarg is "'"$2"'"; oarg="$2"; shift;
			cp $DataCSVFilePath  ${DataDir}websiteNumbers.$$
			#must convert file to txt with commas as tabs
			cat $DataCSVFilePath | tr ',' '\t'   > website.txt
			#Run script
/usr/bin/osascript <<-EOF
tell application "Numbers"
	activate
	set thePath to (((path to startup disk) as text) & ":users:rbutare:lbin:website.txt")
	open file thePath
end tell
EOF
#Move .txt to .csv
			#must convert file to txt with commas as tabs
			cat $DataCSVFilePath | tr '\t' ','   > $DataTxtFilePath DataCSVFilePath
#mv $$DataCSVFilePath
			vim $DataCSVFilePath
open for access "Hard Disk:ProjectFile"

				exit 1
			shift;;
		-p|-P)
			#Generate PHP table only
			cmdNum=13
			awk  -v PHP=1 -f $DataDir/findLoginReport.awk $DataCSVFilePath > $PHPFilePath
			shift ;;
		-r|-R)
			#Generate full Report all fields
			cmdNum=5
			awk -f $DataDir/findLoginReport.awk $DataCSVFilePath > $HTMLFilePath
#exit 97
			shift;;
		-U)
			#Update
			echo "Doing an update from xx to yy"
			cmdNum=8
			shift;;
		-V)
			#Compare versions
echo "Compare Versions:"
			computer="`uname -n`";
computer=1;
#!/bin/bash
computer=`uname -n`
echo "COMPUTER: $computer"
			if [ $computer = "drumHilliMac.local" ]; then
echo "on Imac..."
				IMAC="/Users/rbutare/lbin/website.csv"
				MACBOOK="/Volumes/rbutare/lbin/website.csv"
ls -l $MACBOOK $IMAC
exit 98
				cp $IMAC $dataDir/website.imac$$
				cp $MACBOOK $dataDir/website.macBook$$
			elif [ $computer = "rrbMacBookPro.local" ]; then
				MACBOOK="/Users/rbutare/lbin/website.csv"
				IMAC="/Volumes/rbutare/lbin/website.csv"
	echo "Strings are NOT equal"
echo "on MACBOOk..."
ls -l $MACBOOK $IMAC
exit 99
#				cp $IMAC $dataDir/website.imac$$
#				cp $MACBOOK $dataDir/website.macBook$$
			else
				echo "NOT SURE WHAT MACHINE ON !!!"
				exit 5
			fi

			#Get version of Files on Machines
			echo "Diff Imac and MacBook"
			echo " < $IMAC \n> $MACBOOK" > $DataDir/website.diff$$
			diff $IMAC $MACBOOK >> $DataDir/website.diff$$
			more $DataDir/website.diff$$
			exit
			cmdNum=9
			shift;;
		-W|-w)
			cmdNum=8
			shift;;
		-t|-T)
			cmdNum=6
                        #echo flag $i set; sflags="${i#-}$sflags";
			#Check Number of fields in Datafile
 #awk -F, '{printf("\n site: %s\nlogin: %s\nPassword: %s\nLNum=%s NumFld=%s\n", $3, $4, $5, NR,  NF)}' $DataCSVFilePath

			shift;;
		--)
               		shift; break;;
                   esac
           done
           #echo single-char flags: "'"$sflags"'"
           #echo oarg is "'"$oarg"'"



#grep -i "$1" "/users/rbutare/lbin/login/websites-Table 1.csv" | awk -f  /users/rbutare/lbin/login/awkcsv
#awk -f  /users/rbutare/lbin/login/awkcsv /users/rbutare/lbin/login/website.csv
#grep -i wynit /users/rbutare/lbin/login/website.csv | awk -f  /users/rbutare/lbin/login/awkcsv /users/rbutare/lbin/login/website.csv
#works
#awk '/wynit/ { print $0 }' website.csv


#grep -i $1 /users/rbutare/lbin/login/website.csv | awk  { print $0 } 
#grep -i 'SiteName' /users/rbutare/lbin/login/website.csv 
#grep -i 'SiteName' /users/rbutare/lbin/login/website.csv | awk -F, '{printf("login: %s Password: %s", $4, $5)}' 
#awk -F: '{print $1}' /etc/passwd  | sort
#debug echo "CMDNUM = " $cmdNum
case "$cmdNum"
	in
	0)
		#Default
		#grep -i "$1"  /users/rbutare/lbin/login/website.csv | awk -F, '{printf("\n site: %s\nlogin: %s\nPassword: %s\n", $3, $4, $5)}' 
		grep -i "$1"  $DataCSVFilePath | awk -f $baseDir/display.awk > $HTMLFilePath
		##WORKS show output on Screen 
#grep -i "$1"  $DataCSVFilePath | sort | awk -F, '{printf("\nsite: %s\nlogin: %s\nPassword: %s\n", $3, $4, $5, $6)} ;
# The following three lines must be one long line with a 
# space replacing each line break!
		#Run script
/usr/bin/osascript <<-EOF
tell application "Safari"
	activate
	set thePath to (((path to startup disk) as text) & ":users:rbutare:lbin:data:website.htm")
	open file $thePath
end tell
EOF
exit $?
		;;
	1)
		#Usage
		;;
	2)
		#Color value looking for in Grep only
		grep --color  -i "$1"  $DataCSVFilePath
		;;
	5)
/usr/bin/osascript <<-EOF
tell application "Safari"
	activate
	set thePath to (((path to startup disk) as text) & ":users:rbutare:lbin:website.htm")
	open file thePath
end tell
EOF

		;;
	6|8|10) 
		#-t Text Only
		if [ "$cmdNum"  = 8 ]; then
			echo "<html><head></head><body>";
		fi

		#grep -i "$1"  $DataCSVFilePath 
		rtn=`grep -i "$1"  $DataCSVFilePath `;
		if [ "$cmdNum" = 10 ] ; then
			#grep -i "$1"  $DataCSVFilePath | awk -F, '{printf("\n site: %s\nlogin: %s\nPassword: %s\nComment: %s\n", $3, $4, $5, $6)}' ;
			#added RecordID col one
			grep -i "$1"  $DataCSVFilePath | awk -F, '{printf("\n site: %s\nlogin: %s\nPassword: %s\nComment: %s\n", $4, $5, $6, $7)}' ;
		else
			grep -i "$1"  $DataCSVFilePath | awk -F, '{printf("\n site: %s\nlogin: %s\nPassword: %s\n", $4, $5, $6)}' ;
		fi
		if [ "$rtn" = "" ]; then
			echo "NO RECORDS FOUND: $1";
		fi
		if [ "$cmdNum"  = 8 ]; then
			echo "</body></html>";
		fi
		;;
	7)
		# -l 
		#View HTML File
		more $HTMLFilePath
		;;
	22)
		#debug Search
set -x
	grep -i "$1"  $DataCSVFilePath  
	grep -i "$1"  $DataCSVFilePath  | wc -l 
		grep -i "$1"  $DataCSVFilePath | awk -f $DataDir/chkfld.awk > $HTMLFilePath
		;;
	33) 
		#Check Fields
		awk -f $DataDir/chkfld.awk $DataCSVFilePath 
		;;
       --) 
		#In Else
echo "IN ELSE cmdNum=" $cmdNum
		shift; 
		;;
esac
