From 41b4ee48bcda8ea3c437f8cea82ce8535ed45db1 Mon Sep 17 00:00:00 2001 From: Marcel Weschke Date: Thu, 31 Jul 2025 12:54:42 +0200 Subject: [PATCH] restructured the read in / sort order. --- app.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app.py b/app.py index d72af7a..e963058 100644 --- a/app.py +++ b/app.py @@ -27,7 +27,20 @@ import gpxpy # === Helper Functions === def list_gpx_files(): folder = './gpx_files' - return [{'label': f, 'value': os.path.join(folder, f)} for f in os.listdir(folder) if f.endswith('.gpx')] + #return [{'label': f, 'value': os.path.join(folder, f)} for f in os.listdir(folder) if f.endswith('.gpx')] + files = [f for f in os.listdir(folder) if f.endswith('.gpx')] + + # Extract date from the start of the filename and sort descending + def extract_date(filename): + try: + return datetime.datetime.strptime(filename[:10], '%Y-%m-%d') + except ValueError: + return datetime.datetime.min # Put files without a valid date at the end + + files.sort(key=extract_date, reverse=True) + + return [{'label': f, 'value': os.path.join(folder, f)} for f in files] + def haversine(lon1, lat1, lon2, lat2):