Smarter filename list caching.

This commit is contained in:
comfyanonymous 2023-06-02 16:34:47 -04:00
parent 67892b5ac5
commit 871a86593a
1 changed files with 4 additions and 1 deletions

View File

@ -1,4 +1,5 @@
import os import os
import time
supported_ckpt_extensions = set(['.ckpt', '.pth', '.safetensors']) supported_ckpt_extensions = set(['.ckpt', '.pth', '.safetensors'])
supported_pt_extensions = set(['.ckpt', '.pt', '.bin', '.pth', '.safetensors']) supported_pt_extensions = set(['.ckpt', '.pt', '.bin', '.pth', '.safetensors'])
@ -154,7 +155,7 @@ def get_filename_list_(folder_name):
output_list.update(filter_files_extensions(files, folders[1])) output_list.update(filter_files_extensions(files, folders[1]))
output_folders = {**output_folders, **folders_all} output_folders = {**output_folders, **folders_all}
return (sorted(list(output_list)), output_folders) return (sorted(list(output_list)), output_folders, time.perf_counter())
def cached_filename_list_(folder_name): def cached_filename_list_(folder_name):
global filename_list_cache global filename_list_cache
@ -162,6 +163,8 @@ def cached_filename_list_(folder_name):
if folder_name not in filename_list_cache: if folder_name not in filename_list_cache:
return None return None
out = filename_list_cache[folder_name] out = filename_list_cache[folder_name]
if time.perf_counter() < (out[2] + 0.5):
return out
for x in out[1]: for x in out[1]:
time_modified = out[1][x] time_modified = out[1][x]
folder = x folder = x