laichaoyi commited on
Commit
4e28f4d
·
verified ·
1 Parent(s): cb69982

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -14
app.py CHANGED
@@ -200,7 +200,7 @@ def copy_to_clipboard(prompt, neg_prompt, seed, copy_prompt, copy_neg_prompt, co
200
  pyperclip.copy(copied_text)
201
  return gr.Info("Sao chép thành công!", duration=2)
202
  except pyperclip.PyperclipException:
203
- return gr.Info("Hệ thống không hỗ trợ chức năng sao chép tự động. Vui lòng tự sao chép.", duration=2)
204
  else:
205
  return gr.Info("Không có gì để sao chép!", duration=2)
206
 
@@ -225,17 +225,19 @@ def cancel_copy():
225
  )
226
 
227
 
 
 
 
 
228
  def save_metadata_to_file(image_input, prompt, neg_prompt, model, loras, seed, sampler, sampler_params, metadata):
 
229
  if not any([prompt, neg_prompt, model, loras, seed, sampler, sampler_params, metadata]):
230
- return None # Không có để lưu
231
-
232
- if image_input is None:
233
- return None # Không có ảnh nào để lưu
234
 
235
  # Lấy tên file ảnh và đặt tên cho file txt
236
  image_filename = os.path.basename(image_input)
237
  txt_filename = os.path.splitext(image_filename)[0] + ".txt"
238
- txt_filepath = os.path.join("outputs", txt_filename)
239
 
240
  # Ghi thông tin metadata vào file txt
241
  with open(txt_filepath, "w", encoding="utf-8") as f:
@@ -248,7 +250,8 @@ def save_metadata_to_file(image_input, prompt, neg_prompt, model, loras, seed, s
248
  f.write(f"Sampler Parameters: {sampler_params}\n")
249
  f.write(f"Other Metadata:\n{metadata}\n")
250
 
251
- return txt_filepath # Trả về đường dẫn tệp tin đã tạo
 
252
 
253
 
254
  def check_image_size(image_input):
@@ -345,13 +348,14 @@ with gr.Blocks(js = js_func) as demo:
345
  outputs=[copy_prompt, copy_neg_prompt, copy_seed, message_output]
346
  )
347
  download_button.click(
348
- fn=save_metadata_to_file,
349
- inputs=[
350
- image_input, prompt_output, negative_prompt_output,
351
- model_output, lora_output, seed_output,
352
- sampler_output, sampler_params_output, other_metadata_output
353
- ],
354
- outputs=[download_file]
 
355
  )
356
 
357
 
 
200
  pyperclip.copy(copied_text)
201
  return gr.Info("Sao chép thành công!", duration=2)
202
  except pyperclip.PyperclipException:
203
+ return gr.Info("Không hỗ trợ tính năng này trong bản demo. Vui lòng liên hệ tác giả để biết chi tiết !", duration=2)
204
  else:
205
  return gr.Info("Không có gì để sao chép!", duration=2)
206
 
 
225
  )
226
 
227
 
228
+ output_dir = "outputs"
229
+ if not os.path.exists(output_dir):
230
+ os.mkdir(output_dir)
231
+
232
  def save_metadata_to_file(image_input, prompt, neg_prompt, model, loras, seed, sampler, sampler_params, metadata):
233
+ # Kiểm tra nếu không có dữ liệu thì không lưu
234
  if not any([prompt, neg_prompt, model, loras, seed, sampler, sampler_params, metadata]):
235
+ return None, gr.Info("Không có thông tin để lưu!", duration=2)
 
 
 
236
 
237
  # Lấy tên file ảnh và đặt tên cho file txt
238
  image_filename = os.path.basename(image_input)
239
  txt_filename = os.path.splitext(image_filename)[0] + ".txt"
240
+ txt_filepath = os.path.join(output_dir, txt_filename)
241
 
242
  # Ghi thông tin metadata vào file txt
243
  with open(txt_filepath, "w", encoding="utf-8") as f:
 
250
  f.write(f"Sampler Parameters: {sampler_params}\n")
251
  f.write(f"Other Metadata:\n{metadata}\n")
252
 
253
+ # Trả về đường dẫn file để Gradio có thể cung cấp file cho người dùng tải xuống
254
+ return txt_filepath, gr.Info(f"Đã lưu thông tin vào file: {txt_filename}", duration=2)
255
 
256
 
257
  def check_image_size(image_input):
 
348
  outputs=[copy_prompt, copy_neg_prompt, copy_seed, message_output]
349
  )
350
  download_button.click(
351
+ fn=save_metadata_to_file,
352
+ inputs=[
353
+ image_input, prompt_output, negative_prompt_output,
354
+ model_output, lora_output, seed_output,
355
+ sampler_output, sampler_params_output, other_metadata_output
356
+ ],
357
+ outputs=[download_file, message_output] # Trả về tệp tin và thông báo trạng thái
358
+ )
359
  )
360
 
361