import os

default_settings_location = "./Mods/bf1942/Settings"
default_profile_location = default_settings_location + "/Profiles"
default_profile = "FinnWarsLauncher"

def check_directory_exists(directory_path):
    return os.path.isdir(directory_path)

def change_username(username):
    if not os.path.exists(default_profile_location):
        print("Launcher is not installed correctly!")
        print("Please, move finnwarslauncher.exe to the same folder as bf1942.exe!!!")
        print("Thanks! :)")
        return

    if not os.path.exists(default_profile_location + "/" + default_profile):
        print("Profile not found... Creating \"FinnWarsLauncher\"-profile!")
        os.makedirs("./Mods/bf1942/Settings/Profiles/FinnWarsLauncher")

    if not os.path.exists(default_profile_location + "/" + default_profile + "/GeneralOptions.con"):
        print("GeneralOptions.con missing... Creating it!")
        try:
            with open(default_profile_location + "/" + default_profile + "/GeneralOptions.con", "w") as file:
                file.write(f"game.setPlayerName \"{username}\"")
                file.close()
        except:
            print("GeneralOptions.con could not be created... error, obviously.")
    else:
        print("GeneralOptions.con found! Changing the name.")
        with open(default_profile_location + "/" + default_profile + "/GeneralOptions.con", "r") as file:
            lines = file.readlines()

        if 0 < 2 <= len(lines):
            lines[2] = "game.setPlayerName \"{username}\""

        with open(default_profile_location + "/" + default_profile + "/GeneralOptions.con", "w") as file:
            file.writelines(lines)
            file.close()

    if not os.path.exists(default_settings_location + "/GeneralOptions.con"):
        print("GeneralOptions.con from Profiles is missing... Creating it!")
        try:
            with open(default_settings_location + "/GeneralOptions.con", "w") as file:
                file.write("rem ** NikkeDoy **\n")
                file.write(f"run Profiles/{default_profile}/GeneralOptions.con")
                file.close()
        except:
            print("GeneralOptions.con could not be created... error, obviously.")
    else:
        try:
            with open(default_settings_location + "/GeneralOptions.con", "r") as file:
                lines = file.readlines()

            if 0 < 1 <= len(lines):
                lines[1] = f"run Profiles/{default_profile}/GeneralOptions.con"

            with open(default_settings_location + "/GeneralOptions.con", "w") as file:
                file.writelines(lines)
                file.close()
        except:
            print(f"Couldn't set {default_profile} as default profile. Something is wrong.")
