minkhant96 commited on
Commit
e2c0868
Β·
1 Parent(s): 9bc1108

added user data remove

Browse files
Files changed (1) hide show
  1. app.py +24 -4
app.py CHANGED
@@ -14,6 +14,21 @@ import shutil
14
  logging.basicConfig(level=logging.INFO)
15
  logger = logging.getLogger(f"😎 {__name__}") # Do not wonder why I uses emoj in logger - It is visually easier to track
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
  def show_images(*image_urls):
19
  updates = []
@@ -168,6 +183,8 @@ def gradio_interface():
168
  bind_message_submission(send_btn.click)
169
 
170
  with gr.Tab("Settings"):
 
 
171
  gr.Markdown("## πŸ”§ Model Settings")
172
 
173
  provider_selector = gr.Dropdown(
@@ -216,6 +233,9 @@ def gradio_interface():
216
  set_keys_btn = gr.Button("πŸ” Save Keys")
217
  key_feedback = gr.Markdown("")
218
 
 
 
 
219
  def set_user_keys(session_id, provider, openai_key, nebius_key, tool_model, response_model, vllm_model):
220
  openai_key = openai_key.strip()
221
  nebius_key = nebius_key.strip()
@@ -372,10 +392,10 @@ def gradio_interface():
372
  return demo
373
 
374
  if __name__ == "__main__":
375
- folder_path = f"tmp"
376
- if os.path.exists(folder_path):
377
- shutil.rmtree(folder_path)
378
- logger.info(f"Cleaned folder: {folder_path}")
379
 
380
  asyncio.get_event_loop().create_task(cleanup_old_sessions(threshold_seconds=600)) # 10 min
381
  interface = gradio_interface()
 
14
  logging.basicConfig(level=logging.INFO)
15
  logger = logging.getLogger(f"😎 {__name__}") # Do not wonder why I uses emoj in logger - It is visually easier to track
16
 
17
+ def clear_data(sessionId):
18
+ folder_path = f"tmp/{sessionId}"
19
+ message = ""
20
+ try:
21
+ session_keys[sessionId] = {}
22
+ message += "API keys and model selection cleared! If you chat without adding new, there will be error."
23
+ except:
24
+ message += "Could not del API keys and model selection"
25
+ try:
26
+ if os.path.exists(folder_path):
27
+ shutil.rmtree(folder_path)
28
+ message += "Image Data and Color Analysis Data are cleared."
29
+ except:
30
+ message += "Failed to remove Image Data and Color Analysis Data"
31
+ return message
32
 
33
  def show_images(*image_urls):
34
  updates = []
 
183
  bind_message_submission(send_btn.click)
184
 
185
  with gr.Tab("Settings"):
186
+ clear_data_btn = gr.Button("Clear Data", variant="primary", size="sm", interactive=True)
187
+ data_clear_status = gr.Markdown("")
188
  gr.Markdown("## πŸ”§ Model Settings")
189
 
190
  provider_selector = gr.Dropdown(
 
233
  set_keys_btn = gr.Button("πŸ” Save Keys")
234
  key_feedback = gr.Markdown("")
235
 
236
+ clear_data_btn.click(fn=clear_data, inputs=session_id_state, outputs=data_clear_status)
237
+
238
+
239
  def set_user_keys(session_id, provider, openai_key, nebius_key, tool_model, response_model, vllm_model):
240
  openai_key = openai_key.strip()
241
  nebius_key = nebius_key.strip()
 
392
  return demo
393
 
394
  if __name__ == "__main__":
395
+ # folder_path = f"tmp"
396
+ # if os.path.exists(folder_path):
397
+ # shutil.rmtree(folder_path)
398
+ # logger.info(f"Cleaned folder: {folder_path}")
399
 
400
  asyncio.get_event_loop().create_task(cleanup_old_sessions(threshold_seconds=600)) # 10 min
401
  interface = gradio_interface()