diff --git a/preload/menu.py b/preload/menu.py index 463a86870ecf45a2daf28d04755eb7f9bafcc9a7..6f325d329dd6fee761ad80571f44fb0f2bf3a227 100644 --- a/preload/menu.py +++ b/preload/menu.py @@ -11,6 +11,9 @@ import display import os +FACTORY_RESET_CMD = "! RESET !" + + def list_apps(): """Create a list of available apps.""" apps = sorted(os.listdir(".")) @@ -21,6 +24,8 @@ def list_apps(): if "menu.py" in apps: apps.remove("menu.py") + apps.append(FACTORY_RESET_CMD) + return apps @@ -83,11 +88,18 @@ def main(): # Select & start disp.clear().update() disp.close() - try: - os.exec(applist[current]) - except OSError as e: - print("Loading failed: ", e) - os.exit(1) + + if applist[current] == FACTORY_RESET_CMD: + files = os.listdir(".") + for f in files: + os.unlink(f) + os.exit(0) + else: + try: + os.exec(applist[current]) + except OSError as e: + print("Loading failed: ", e) + os.exit(1) draw_menu(disp, applist, current, 0)