def getFingerprintID():
    p = False
    while(not p):
        p = Fingerprint.getImage()
        if(p):
            print ("Image Taken")
            break
        elif(not p):
            print ("No finger detected")
        else:
            print ("Unknown Error")
    
    p = Fingerprint.image2Tz(1)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p
    
    p = Fingerprint.fingerSearch()
    
    if(p):
        print ("Found fingerprint")
    elif(not p):
        print ("No fingerprint found")
        return p
    else:
        print ("Unknown Error")
        return p
def getFingerprintID():
    p = False
    while(not p):
        p = Fingerprint.getImage()
        if(p):
            print ("Image Taken")
            break
        elif(not p):
            print ("No finger detected")
        else:
            print ("Unknown Error")
    
    p = Fingerprint.image2Tz(1)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p
    
    p = Fingerprint.fingerSearch()
    
    if(p):
        print ("Found fingerprint")
    elif(not p):
        print ("No fingerprint found")
        return p
    else:
        print ("Unknown Error")
        return p
def getFingerprintIDez():
    
    p = Fingerprint.getImage()
    if(not p):
        return 0
    
    p = Fingerprint.image2Tz(1)
    if(not p):
        return -1
    
    p = Fingerprint.fingerSearch()
    if(not p):
        return -1
    
    #print ("Found fingerprint")
    return (True)
def getFingerprintIDez():

    p = Fingerprint.getImage()
    if (not p):
        return 0

    p = Fingerprint.image2Tz(1)
    if (not p):
        return -1

    p = Fingerprint.fingerSearch()
    if (not p):
        return -1

    #print ("Found fingerprint")
    return (True)
def getFingerprintIDez():
    
    p = Fingerprint.getImage()
    if(not p):
        return 0
    
    p = Fingerprint.image2Tz(1)
    if(not p):
        return -1

    #No Match Finger Print
    p = Fingerprint.fingerSearch()
    if(not p):
        return 2
    
    #print ("Found fingerprint")
    return (1)
def imageUpload():
    #userInput = input("ID # to store the finger as:")
    while(True):
        userID = input("ID # to store the finger or Q to quit:")
        
        if(userID.isdigit()):
            break
        elif((userID == 'q') or (userID == 'Q')):
            userID = ''
            main()
        else:
            print ("Must enter digit only")
    
    print ("Enrolling ID #" + userID)
    
    print ("Waiting for valid finger to enroll")
    time.sleep(0.5)
    
    p = False
    while (not p):
        p = Fingerprint.getImage()
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")
    
    #time.sleep(0.5)
    p = Fingerprint.uploadImage(userID)
    
    if(p):
        print ("Image downloaded and saved")
        return p
    elif(not p):
        print ("Image not downloaded or saved")
        return p
    else:
        print ("Unknown Error")
        return p
def imageUpload():
    #userInput = input("ID # to store the finger as:")
    while (True):
        userID = input("ID # to store the finger or Q to quit:")

        if (userID.isdigit()):
            break
        elif ((userID == 'q') or (userID == 'Q')):
            userID = ''
            main()
        else:
            print("Must enter digit only")

    print("Enrolling ID #" + userID)

    print("Waiting for valid finger to enroll")
    time.sleep(0.5)

    p = False
    while (not p):
        p = Fingerprint.getImage()
        if (p):
            print("Image taken")
            break
        elif (not p):
            print(".")
        else:
            print("Unknown Error")

    #time.sleep(0.5)
    p = Fingerprint.uploadImage(userID)

    if (p):
        print("Image downloaded and saved")
        return p
    elif (not p):
        print("Image not downloaded or saved")
        return p
    else:
        print("Unknown Error")
        return p
def enrollFingerprint(enrollID):
    print ("Waiting for valid finger to enroll")
    time.sleep(0.5)
    
    p = False
    while (not p):
        p = Fingerprint.getImage()
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")
    
    time.sleep(0.5)
    p = Fingerprint.image2Tz(1)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p
    
    print ("Remove Finger")
    time.sleep(2.0)
    
    p = False
    print ("Place same finger again")
    time.sleep(1.0)
    while(not p):
        p = Fingerprint.getImage()
        
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")

    time.sleep(0.5)
    p = Fingerprint.image2Tz(2)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p

    #Converted
    time.sleep(0.5)
    p = Fingerprint.createModel()
    
    if(p):
        print ("Fingerprints match")
    elif(not p):
        print ("Fingerprints did not match")
        return p
    else:
        print ("Unknown Error")
        return p
    
    time.sleep(0.5)
    enrollIDbytes = int(enrollID, 16)
    p = Fingerprint.storeModel(enrollIDbytes, 1)
    
    if(p):
        print ("Stored fingerprint template")
        enrollIDLoop()
    elif(not p):
        print ("Store Fingerprint Error")
        return p
    else:
        print ("Unknown Error")
        return p
def enrollFingerprint(enrollID):
    print ("Waiting for valid finger to enroll")
    time.sleep(0.5)
    
    p = False
    while (not p):
        p = Fingerprint.getImage()
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")
    
    time.sleep(0.5)
    p = Fingerprint.image2Tz(1)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p
    
    print ("Remove Finger")
    time.sleep(2.0)
    
    p = False
    print ("Place same finger again")
    time.sleep(1.0)
    while(not p):
        p = Fingerprint.getImage()
        
        if(p):
            print ("Image taken")
            break
        elif(not p):
            print (".")
        else:
            print ("Unknown Error")

    time.sleep(0.5)
    p = Fingerprint.image2Tz(2)
    
    if(p):
        print ("Image converted")
    elif(not p):
        print ("Image not converted")
        return p
    else:
        print ("Unknown Error")
        return p

    #Converted
    time.sleep(0.5)
    p = Fingerprint.createModel()
    
    if(p):
        print ("Fingerprints match")
    elif(not p):
        print ("Fingerprints did not match")
        return p
    else:
        print ("Unknown Error")
        return p
    
    time.sleep(0.5)
    enrollIDbytes = int(enrollID, 16)
    p = Fingerprint.storeModel(enrollIDbytes, 1)
    
    if(p):
        print ("Stored fingerprint template")
        enrollIDLoop()
    elif(not p):
        print ("Store Fingerprint Error")
        return p
    else:
        print ("Unknown Error")
        return p