From d33d880b0845d98eb71c4da8f0075d4d5aab31d8 Mon Sep 17 00:00:00 2001 From: fleur <spacecarrot@fleurshax.net> Date: Fri, 18 Oct 2019 09:23:36 +0200 Subject: [PATCH] fix(menu): Order entries by display name Fix menu entries being ordered by directory name instead of display name. Co-authored-by: Rahix <rahix@rahix.de> --- preload/menu.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/preload/menu.py b/preload/menu.py index bd9705a3..d9d95b5d 100644 --- a/preload/menu.py +++ b/preload/menu.py @@ -17,13 +17,17 @@ import utime App = collections.namedtuple("App", ["name", "path"]) -def enumerate_apps(): - """List all installed apps.""" +def enumerate_entries(): for f in os.listdir("/"): if f == "main.py": yield App("Home", f) - for app in sorted(os.listdir("/apps")): + yield from sorted(enumerate_apps(), key=lambda b: b.name.lower()) + + +def enumerate_apps(): + """List all installed apps.""" + for app in os.listdir("/apps"): if app.startswith("."): continue @@ -88,7 +92,7 @@ def no_apps_message(): if __name__ == "__main__": try: - apps = list(enumerate_apps()) + apps = list(enumerate_entries()) except OSError: apps = [] -- GitLab