alexnasa commited on
Commit
6f8a30f
·
verified ·
1 Parent(s): a38d0a3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -4
app.py CHANGED
@@ -102,7 +102,7 @@ def preprocess_image(image_array, state):
102
  if image_array is None:
103
  return "❌ Please upload an image first.", None, state, gr.update(interactive=True), gr.update(interactive=True)
104
 
105
- session_id = str(uuid.uuid4())
106
  base_dir = os.path.join(os.environ["PIXEL3DMM_PREPROCESSED_DATA"], session_id)
107
  os.makedirs(base_dir, exist_ok=True)
108
  state.update({"session_id": session_id, "base_dir": base_dir})
@@ -237,8 +237,8 @@ def run_pipeline(image_array, state):
237
  return final_status, crop_img, normals_img, uv_img, track_img, mesh_file, state
238
 
239
  # Cleanup on unload
240
- def cleanup(state):
241
- sid = state.get("session_id")
242
  if sid:
243
  d1 = os.path.join(env["PIXEL3DMM_PREPROCESSED_DATA"], sid)
244
  d2 = os.path.join(env["PIXEL3DMM_TRACKING_OUTPUT"], sid)
@@ -293,7 +293,7 @@ with demo:
293
  examples.outputs = [status, crop_img, normals_img, uv_img, track_img, mesh_file, state]
294
  image_in.upload(fn=reset_all, inputs=None, outputs=[crop_img, normals_img, uv_img, track_img, mesh_file, status, state, run_btn])
295
 
296
- demo.on_close(cleanup, inputs=[state], outputs=[])
297
 
298
  demo.queue()
299
  demo.launch(share=True, ssr_mode=False)
 
102
  if image_array is None:
103
  return "❌ Please upload an image first.", None, state, gr.update(interactive=True), gr.update(interactive=True)
104
 
105
+ session_id = request.session_hash
106
  base_dir = os.path.join(os.environ["PIXEL3DMM_PREPROCESSED_DATA"], session_id)
107
  os.makedirs(base_dir, exist_ok=True)
108
  state.update({"session_id": session_id, "base_dir": base_dir})
 
237
  return final_status, crop_img, normals_img, uv_img, track_img, mesh_file, state
238
 
239
  # Cleanup on unload
240
+ def cleanup(request: gr.Request):
241
+ sid = request.session_hash
242
  if sid:
243
  d1 = os.path.join(env["PIXEL3DMM_PREPROCESSED_DATA"], sid)
244
  d2 = os.path.join(env["PIXEL3DMM_TRACKING_OUTPUT"], sid)
 
293
  examples.outputs = [status, crop_img, normals_img, uv_img, track_img, mesh_file, state]
294
  image_in.upload(fn=reset_all, inputs=None, outputs=[crop_img, normals_img, uv_img, track_img, mesh_file, status, state, run_btn])
295
 
296
+ demo.unload(cleanup)
297
 
298
  demo.queue()
299
  demo.launch(share=True, ssr_mode=False)