laichaoyi commited on
Commit
416f8cd
1 Parent(s): 69180d0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -24
app.py CHANGED
@@ -56,35 +56,29 @@ def format_sampler_params(sampler_params):
56
  steps = params.get("steps", "Không xác định")
57
  return f"scheduler: {scheduler}\nCFG: {cfg_scale}\nSteps: {steps}"
58
 
 
 
59
  def save_metadata_to_file(image_input, prompt, neg_prompt, model, loras, seed, sampler, sampler_params, metadata):
60
  if not any([prompt, neg_prompt, model, loras, seed, sampler, sampler_params, metadata]):
61
- return None, gr.Info("Không có thông tin để lưu!", duration=2)
62
-
63
- if image_input is None:
64
- return None, gr.Info("Không thể lưu tệp: Không có ảnh nào được tải lên.", duration=2)
65
 
66
- # Lấy tên ảnh để đặt tên cho file txt
67
  image_filename = os.path.basename(image_input)
68
  txt_filename = os.path.splitext(image_filename)[0] + ".txt"
 
69
 
70
- # Tạo nội dung file txt từ metadata
71
- file_content = (
72
- f"Prompt: {prompt}\n"
73
- f"Negative Prompt: {neg_prompt}\n"
74
- f"Model: {model}\n"
75
- f"Loras: {loras}\n"
76
- f"Seed: {seed}\n"
77
- f"Sampler: {sampler}\n"
78
- f"Sampler Parameters: {sampler_params}\n"
79
- f"Other Metadata:\n{metadata}\n"
80
- )
81
-
82
- # Sử dụng io.BytesIO để tạo file tạm thời trong bộ nhớ
83
- txt_file = io.BytesIO()
84
- txt_file.write(file_content.encode('utf-8'))
85
- txt_file.seek(0)
86
-
87
- return gr.File.update(value=txt_file, filename=txt_filename), gr.Info(f"Đang tải file {txt_filename}...", duration=2)
88
 
89
 
90
 
@@ -354,7 +348,7 @@ with gr.Blocks(js = js_func) as demo:
354
  model_output, lora_output, seed_output,
355
  sampler_output, sampler_params_output, other_metadata_output
356
  ],
357
- outputs=None # Không cần `gr.File`, tự động tải file về
358
  )
359
 
360
 
 
56
  steps = params.get("steps", "Không xác định")
57
  return f"scheduler: {scheduler}\nCFG: {cfg_scale}\nSteps: {steps}"
58
 
59
+ download_file = gr.File(label="Tải file đã tạo", visible=False)
60
+
61
  def save_metadata_to_file(image_input, prompt, neg_prompt, model, loras, seed, sampler, sampler_params, metadata):
62
  if not any([prompt, neg_prompt, model, loras, seed, sampler, sampler_params, metadata]):
63
+ return None, gr.Info("Không có thông tin để lưu!", duration=2), gr.update(visible=False)
 
 
 
64
 
65
+ # Lấy tên file ảnh đặt tên cho file txt
66
  image_filename = os.path.basename(image_input)
67
  txt_filename = os.path.splitext(image_filename)[0] + ".txt"
68
+ txt_filepath = os.path.join(output_dir, txt_filename)
69
 
70
+ # Ghi thông tin metadata vào file txt
71
+ with open(txt_filepath, "w", encoding="utf-8") as f:
72
+ f.write(f"Prompt: {prompt}\n")
73
+ f.write(f"Negative Prompt: {neg_prompt}\n")
74
+ f.write(f"Model: {model}\n")
75
+ f.write(f"Loras: {loras}\n")
76
+ f.write(f"Seed: {seed}\n")
77
+ f.write(f"Sampler: {sampler}\n")
78
+ f.write(f"Sampler Parameters: {sampler_params}\n")
79
+ f.write(f"Other Metadata:\n{metadata}\n")
80
+
81
+ return txt_filepath, gr.update(visible=True)
 
 
 
 
 
 
82
 
83
 
84
 
 
348
  model_output, lora_output, seed_output,
349
  sampler_output, sampler_params_output, other_metadata_output
350
  ],
351
+ outputs=[download_file, message_output]
352
  )
353
 
354