Build a User Configuration Manager - debugging

Hello!

I’ve been stuck on this code for a couple days and haven’t been able to fix it.

I have 2 main problems:

  1. I keep getting this feedback “add_setting should convert the key to lowercase.” despite having tried multiple ways of converting to lowercase.

  2. line 42 (“print(add_setting({‘theme’: ‘light’}, (‘THEME’, ‘dark’)))”) and 52 run but for the other ones I get this on the terminal:

Some help please?

Thanks!

Your code so far

def add_setting(settings, new_setting):
    key = str(new_setting[0]).lower()
    value = str(new_setting[1]).lower()

    if key in settings:
        return f"Setting '{key}' already exists! Cannot add a new setting with this name."
    else:
        settings.update({key, value})
        return f"Setting '{key}' added with '{value}' successfully!"

def update_setting(settings, new_setting):
    key = str(new_setting[0]).lower()
    value = str(new_setting[1]).lower()

    if key not in settings:
        return f"Setting '{key}' does not exist! Cannot update a non-existing setting."
    else:
        settings.update({key, value})
        return f"Setting '{key}' updated to '{value}' successfully!"

def delete_setting(settings, new_setting):
    key = str(new_setting).lower()
    
    if key not in settings:
        return f"Setting not found!"
    else:
        del settings[key]
        return f"Setting '{key}' deleted successfully!"

def view_settings(settings):
    if not settings:
        return "No settings available."
    else:
        lines = ["Current User Settings:"]
    for key, value in settings.items():
        lines.append(f"{key.capitalize()}: {value}")

    return "\n".join(lines) + "\n"

test_settings = {'theme': 'dark', 'notifications': 'enabled', 'volume': 'high'}

print(add_setting({'theme': 'light'}, ('THEME', 'dark')))

print(add_setting({'theme': 'light'}, ('volume', 'high')))

print(update_setting({'theme': 'light'}, ('theme', 'dark')))

update_setting({'theme': 'light'}, ('volume', 'high'))

delete_setting({'theme': 'light'}, 'theme')

print(view_settings(test_settings))

Lesson URL https://www.freecodecamp.org/learn/python-v9/lab-user-configuration-manager/build-a-user-configuration-manager

Is your key/value structured like a dictionary?