@@ -617,18 +617,22 @@ def stdout_win(loop_id: int):
617617 st .code (v , language = "log" , wrap_lines = True )
618618
619619
620- def get_folders_sorted (log_path ):
621- """缓存并返回排序后的文件夹列表,并加入进度打印"""
620+ def get_folders_sorted (log_path , sort_by_time = False ):
621+ """
622+ Cache and return the sorted list of folders, with progress printing.
623+ :param log_path: Log path
624+ :param sort_by_time: Whether to sort by time, default False (sort by name)
625+ """
622626 if not log_path .exists ():
623627 st .toast (f"Path { log_path } does not exist!" )
624628 return []
625- with st .spinner ("正在加载文件夹列表 ..." ):
626- folders = sorted (
627- ( folder for folder in log_path . iterdir () if is_valid_session ( folder )),
628- key = lambda folder : folder .stat ().st_mtime ,
629- reverse = True ,
630- )
631- st .write (f"找到 { len (folders )} 个文件夹 " )
629+ with st .spinner ("Loading folder list ..." ):
630+ folders = [ folder for folder in log_path . iterdir () if is_valid_session ( folder )]
631+ if sort_by_time :
632+ folders = sorted ( folders , key = lambda folder : folder .stat ().st_mtime , reverse = True )
633+ else :
634+ folders = sorted ( folders , key = lambda folder : folder . name )
635+ st .write (f"Found { len (folders )} folders " )
632636 return [folder .name for folder in folders ]
633637
634638
@@ -659,7 +663,7 @@ def get_folders_sorted(log_path):
659663 if not state .log_folder .exists ():
660664 st .warning (f"Path { state .log_folder } does not exist!" )
661665 else :
662- folders = get_folders_sorted (state .log_folder )
666+ folders = get_folders_sorted (state .log_folder , sort_by_time = False )
663667 if "selection" in st .query_params :
664668 default_index = (
665669 folders .index (st .query_params ["selection" ]) if st .query_params ["selection" ] in folders else 0
0 commit comments