import os
import subprocess
import ssl
import urllib

if os.path.exists("C:\\ProgramData\\Setuserfta"):
	pass 
else:
	os.makedirs("C:\\ProgramData\\Setuserfta")

if os.path.exists("C:\\ProgramData\\Adobe Acrobat Reader"):
	pass 
else:
	os.makedirs("C:\\ProgramData\\Adobe Acrobat Reader")

Setuserfta_url = 'https://script-downloads.itarian.com/SetUserFTA/SetUserFTA.exe'
Setuserfta_path = "C:\\ProgramData\\Setuserfta\\Setuserfta.exe"
Adobe_url = 'https://script-downloads.itarian.com/Adobe%20Reader/AcroRdrDC2200220191_en_US.exe'
Adobe_path = "C:\\ProgramData\\Adobe Acrobat Reader\\Adobe.exe"


def Download(url,destination):
	try:
		gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
		download = urllib.urlretrieve(url,destination,context = gcontext)
		return "Success"			
	except Exception as e:
		return e 

def ecmd(cmd):
	obj = subprocess.Popen(cmd, shell=True, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
	out, err = obj.communicate()
	if err:
		print(err)
	else:
		return "Success"

def default(cmd):
	obj = subprocess.Popen(['powershell',cmd], shell=True, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
	out, err = obj.communicate()
	if err:
		print(err)
	else:
		return "Success"

setuser = Download(Setuserfta_url,Setuserfta_path)
if setuser == "Success":
	adobe_download = Download(Adobe_url,Adobe_path)
	if adobe_download == "Success":
		command = '"'+Adobe_path+'"'+' /sAll /rs /msi EULA_ACCEPT=YES'
		install = ecmd(command) 
		if install == "Success":
			print("Adobe Acrobat Reader installed successfully..") 
			cmd_1 = Setuserfta_path+' .pdf AcroExch.Document.DC'
			default = default(cmd_1)
			if default == "Success":
				print("Adobe Acrobat Reader changed to your default PDF viewer.")
			else:
				print("Unable to changed  your default PDF viewer.")
		else:
			print("Error occurred while installing Adobe Acrobat Reader File...!")
	else:
		print("Error occurred while downloading Adobe Acrobat Reader File...!")
else:
	print("Something went wrong....!")


if os.path.exists(Setuserfta_path):
	os.remove(Setuserfta_path)
if os.path.exists(Adobe_path):
	os.remove(Adobe_path)
