ExportCertP12.sikuli

(Download this script)
#sudo gem install exportation and this should no longer be necessary.
import os
import sys
from time import sleep

name = " ".join(sys.argv[1:]) #The com.sharefaith.something
try:
    click(Pattern().similar(0.59))
except:
    try:
        sleep(1.0)
        click(Pattern().similar(0.59))
    except:
        sleep(1.0)
        click()
try:
    wait(Pattern().similar(0.44), 30)
    click(Pattern().similar(0.44).targetOffset(206,124))
except:
    pass

#click(Pattern("1420660913376.png").similar(0.88))
#wait("1422656279305.png", 20)
#type("Keychain Access\n") OPens gimp - weird spotlight bug
#type("keychain\n") Opens icloud
os.system("open /Applications/Utilities/Keychain\ Access.app/")
try:
    click(Pattern().similar(0.59))
except:
    try:
        click(Pattern().similar(0.59))
    except:
        sleep(1.0)
        click()

wait(, 60) #wait for startup if necessary.
#In case it didn't work:
try:
    wait(, 4)
    click(Pattern().targetOffset(206,124))
except:
    pass

#Don't want new-cert-for-item showing up, so clear search
wait(Pattern().similar(0.50), 20) #keychain is up.
sleep(1)
type("f", KeyModifier.CMD + KeyModifier.ALT)
for ch in (name.replace("com.sharefaith.churchapp","")): #The cert to search for. Too many characters and it doesn't find it, weird.
    type(ch)
    sleep(0.2) #Buggy Mac OS 10.11

wait(Pattern().similar(0.63), 50)
click(Pattern().similar(0.61).targetOffset(-66,-4))
sleep(1)
type(Key.RIGHT)
sleep(10)
wait(Pattern().similar(0.67), 30)
rightClick(Pattern().similar(0.67))
try:
    click(Pattern().targetOffset(0,-7))
except:
    sleep(1)
    rightClick(Pattern().similar(0.67))
    click(Pattern().targetOffset(0,-7))

wait(, 30)
click(Pattern().targetOffset(-17,41))
wait(, 30)
click()
type("\n")
wait(Pattern().similar(0.25), 30)
click(Pattern().targetOffset(127,95))
try: #brought back recent MacOS
    wait(Pattern().similar(0.25), 60)
    click(Pattern().similar(0.25).targetOffset(-20,32))
    type("exaltnow\n")
except:
    try:
        wait(, 20)
        click(Pattern().targetOffset(155,64))
    except:
        print( "no final dialog  - allowed?" )
    # p12 file should now be on desktop.