# Exercise 10-14 Verify User
# Learning Objective: Modify existing code to add an additional step. 


from pathlib import Path
import json

def get_stored_info(path):
    """Get stored username if available."""
    if path.exists():
        contents = path.read_text()
        information = json.loads(contents)
        return information
    else:
        pass

def get_information(path):
    """Prompt for information."""
    data = {

        }
    username = input("What is your name? ")
    location = input("What country/state are you in? ")
    age = input("How old are you? ")
    data["username"] = username
    data["location"] = location
    data["age"] = age
    save_data = json.dumps(data)
    path.write_text(save_data)
    return data
    
def verify_user(information):
    verification = input(f"Are you {information['username']} (y/n)?")
    if verification.lower() == 'n' or verification.lower() == 'no': 
        return False  
    else:
        return True

def greet_user():
    """Greet the user by name."""
    path = Path('../Chapter_10/user_info.json')
    information = get_stored_info(path)
    if information:
        confirmed = verify_user(information)
        if confirmed == False:
            entered_data = get_information(path)
        elif confirmed == True:
            print(f"Welcome back, {information['username']}! We remember that you are from {information['location']} and that you are {information['age']} years old since the last time you ran this.")
    else:
        entered_data =  get_information(path)
        print(f"We'll remember this information for when you come back: \n")
        for i in entered_data:
            print(f"{entered_data[i]}")

greet_user()
