Spaces:
Running
on
Zero
Running
on
Zero
wjm55
commited on
Commit
·
0388107
1
Parent(s):
5674d41
added download feature
Browse files
app.py
CHANGED
|
@@ -183,6 +183,39 @@ with gr.Blocks(css=css) as demo:
|
|
| 183 |
output_text = gr.Textbox(label="Output Text", elem_id="output")
|
| 184 |
|
| 185 |
submit_btn.click(run_example, [input_img, model_selector], [output_text])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
|
| 187 |
demo.queue(api_open=False)
|
| 188 |
demo.launch(debug=True)
|
|
|
|
| 183 |
output_text = gr.Textbox(label="Output Text", elem_id="output")
|
| 184 |
|
| 185 |
submit_btn.click(run_example, [input_img, model_selector], [output_text])
|
| 186 |
+
with gr.Row():
|
| 187 |
+
filename = gr.Textbox(label="Save filename (without extension)", placeholder="Enter filename to save")
|
| 188 |
+
download_btn = gr.Button("Download Image & Text", elem_classes="submit-btn")
|
| 189 |
+
|
| 190 |
+
def create_zip(image, text, fname):
|
| 191 |
+
if not image or not text or not fname:
|
| 192 |
+
return None
|
| 193 |
+
|
| 194 |
+
# Create a temporary directory
|
| 195 |
+
with tempfile.TemporaryDirectory() as temp_dir:
|
| 196 |
+
# Save image with same extension
|
| 197 |
+
img_ext = image.format.lower() if hasattr(image, 'format') else 'png'
|
| 198 |
+
img_path = os.path.join(temp_dir, f"{fname}.{img_ext}")
|
| 199 |
+
image.save(img_path)
|
| 200 |
+
|
| 201 |
+
# Save text
|
| 202 |
+
txt_path = os.path.join(temp_dir, f"{fname}.txt")
|
| 203 |
+
with open(txt_path, 'w', encoding='utf-8') as f:
|
| 204 |
+
f.write(text)
|
| 205 |
+
|
| 206 |
+
# Create zip file
|
| 207 |
+
zip_path = os.path.join(temp_dir, f"{fname}.zip")
|
| 208 |
+
with zipfile.ZipFile(zip_path, 'w') as zipf:
|
| 209 |
+
zipf.write(img_path, os.path.basename(img_path))
|
| 210 |
+
zipf.write(txt_path, os.path.basename(txt_path))
|
| 211 |
+
|
| 212 |
+
return zip_path
|
| 213 |
+
|
| 214 |
+
download_btn.click(
|
| 215 |
+
create_zip,
|
| 216 |
+
inputs=[input_img, output_text, filename],
|
| 217 |
+
outputs=gr.File(label="Download")
|
| 218 |
+
)
|
| 219 |
|
| 220 |
demo.queue(api_open=False)
|
| 221 |
demo.launch(debug=True)
|