ZeqiangLai commited on
Commit
79aad46
·
verified ·
1 Parent(s): 98849d1

Update gradio_app.py

Browse files
Files changed (1) hide show
  1. gradio_app.py +31 -10
gradio_app.py CHANGED
@@ -4,6 +4,7 @@ import shutil
4
  import time
5
  from glob import glob
6
  from pathlib import Path
 
7
 
8
  import gradio as gr
9
  import torch
@@ -56,17 +57,37 @@ def get_example_mv_list():
56
  return mv_list
57
 
58
 
59
- def gen_save_folder(max_size=60):
 
 
 
 
 
 
 
 
 
 
 
 
60
  os.makedirs(SAVE_DIR, exist_ok=True)
61
- exists = set(int(_) for _ in os.listdir(SAVE_DIR) if _.isdigit())
62
- cur_id = min(set(range(max_size)) - exists) if len(exists) < max_size else -1
63
- if os.path.exists(f"{SAVE_DIR}/{(cur_id + 1) % max_size}"):
64
- shutil.rmtree(f"{SAVE_DIR}/{(cur_id + 1) % max_size}")
65
- print(f"remove {SAVE_DIR}/{(cur_id + 1) % max_size} success !!!")
66
- save_folder = f"{SAVE_DIR}/{max(0, cur_id)}"
67
- os.makedirs(save_folder, exist_ok=True)
68
- print(f"mkdir {save_folder} suceess !!!")
69
- return save_folder
 
 
 
 
 
 
 
 
70
 
71
 
72
  def export_mesh(mesh, save_folder, textured=False, type='glb'):
 
4
  import time
5
  from glob import glob
6
  from pathlib import Path
7
+ import uuid
8
 
9
  import gradio as gr
10
  import torch
 
57
  return mv_list
58
 
59
 
60
+ # def gen_save_folder(max_size=60):
61
+ # os.makedirs(SAVE_DIR, exist_ok=True)
62
+ # exists = set(int(_) for _ in os.listdir(SAVE_DIR) if _.isdigit())
63
+ # cur_id = min(set(range(max_size)) - exists) if len(exists) < max_size else -1
64
+ # if os.path.exists(f"{SAVE_DIR}/{(cur_id + 1) % max_size}"):
65
+ # shutil.rmtree(f"{SAVE_DIR}/{(cur_id + 1) % max_size}")
66
+ # print(f"remove {SAVE_DIR}/{(cur_id + 1) % max_size} success !!!")
67
+ # save_folder = f"{SAVE_DIR}/{max(0, cur_id)}"
68
+ # os.makedirs(save_folder, exist_ok=True)
69
+ # print(f"mkdir {save_folder} suceess !!!")
70
+ # return save_folder
71
+
72
+ def gen_save_folder(max_size=200):
73
  os.makedirs(SAVE_DIR, exist_ok=True)
74
+
75
+ # 获取所有文件夹路径
76
+ dirs = [f for f in Path(SAVE_DIR).iterdir() if f.is_dir()]
77
+
78
+ # 如果文件夹数量超过 max_size,删除创建时间最久的文件夹
79
+ if len(dirs) >= max_size:
80
+ # 按创建时间排序,最久的排在前面
81
+ oldest_dir = min(dirs, key=lambda x: x.stat().st_ctime)
82
+ shutil.rmtree(oldest_dir)
83
+ print(f"Removed the oldest folder: {oldest_dir}")
84
+
85
+ # 生成一个新的 uuid 文件夹名称
86
+ new_folder = os.path.join(SAVE_DIR, str(uuid.uuid4()))
87
+ os.makedirs(new_folder, exist_ok=True)
88
+ print(f"Created new folder: {new_folder}")
89
+
90
+ return new_folder
91
 
92
 
93
  def export_mesh(mesh, save_folder, textured=False, type='glb'):