@@ -617,18 +617,22 @@ def stdout_win(loop_id: int):
617
617
st .code (v , language = "log" , wrap_lines = True )
618
618
619
619
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
+ """
622
626
if not log_path .exists ():
623
627
st .toast (f"Path { log_path } does not exist!" )
624
628
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 " )
632
636
return [folder .name for folder in folders ]
633
637
634
638
@@ -659,7 +663,7 @@ def get_folders_sorted(log_path):
659
663
if not state .log_folder .exists ():
660
664
st .warning (f"Path { state .log_folder } does not exist!" )
661
665
else :
662
- folders = get_folders_sorted (state .log_folder )
666
+ folders = get_folders_sorted (state .log_folder , sort_by_time = False )
663
667
if "selection" in st .query_params :
664
668
default_index = (
665
669
folders .index (st .query_params ["selection" ]) if st .query_params ["selection" ] in folders else 0
0 commit comments