h-siyuan commited on
Commit
0b406cb
·
verified ·
1 Parent(s): b7895e4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -25
app.py CHANGED
@@ -176,6 +176,21 @@ def update_vote(vote_type, session_id, is_example_image):
176
  with open("./assets/showui.png", "rb") as image_file:
177
  base64_image = base64.b64encode(image_file.read()).decode("utf-8")
178
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  def build_demo(embed_mode, concurrency_count=1):
180
  with gr.Blocks(title="ShowUI Demo", theme=gr.themes.Default()) as demo:
181
  state_image_path = gr.State(value=None)
@@ -217,17 +232,17 @@ def build_demo(embed_mode, concurrency_count=1):
217
 
218
  gr.Examples(
219
  examples=[
220
- ["./examples/app_store.png", "Download Kindle."],
221
- ["./examples/ios_setting.png", "Turn off Do not disturb."],
222
- ["./examples/apple_music.png", "Star to favorite."],
223
- ["./examples/map.png", "Boston."],
224
- ["./examples/wallet.png", "Scan a QR code."],
225
- ["./examples/word.png", "More shapes."],
226
- ["./examples/web_shopping.png", "Proceed to checkout."],
227
- ["./examples/web_forum.png", "Post my comment."],
228
- ["./examples/safari_google.png", "Click on search bar."],
229
  ],
230
- inputs=[imagebox, textbox],
231
  examples_per_page=3
232
  )
233
 
@@ -245,23 +260,9 @@ def build_demo(embed_mode, concurrency_count=1):
245
  downvote_btn = gr.Button(value="Too bad!", variant="secondary")
246
  clear_btn = gr.Button(value="🗑️ Clear", interactive=True)
247
 
248
- def on_submit(image, query):
249
- if image is None:
250
- raise ValueError("No image provided. Please upload an image before submitting.")
251
-
252
- session_id = datetime.now().strftime("%Y%m%d_%H%M%S")
253
- print("image_path:", image)
254
- is_example_image = isinstance(image, str) and image.startswith("./examples/")
255
-
256
- result_image, click_coords, image_path = run_showui(image, query, session_id)
257
-
258
- save_and_upload_data(image_path, query, session_id, is_example_image)
259
-
260
- return result_image, click_coords, image_path, session_id, is_example_image
261
-
262
  submit_btn.click(
263
  on_submit,
264
- [imagebox, textbox],
265
  [output_img, output_coords, state_image_path, state_session_id, state_is_example_image],
266
  )
267
 
@@ -296,3 +297,12 @@ if __name__ == "__main__":
296
  ssr_mode=False,
297
  debug=True,
298
  )
 
 
 
 
 
 
 
 
 
 
176
  with open("./assets/showui.png", "rb") as image_file:
177
  base64_image = base64.b64encode(image_file.read()).decode("utf-8")
178
 
179
+ def on_submit(image, query, example_flag):
180
+ if image is None:
181
+ raise ValueError("No image provided. Please upload an image before submitting.")
182
+
183
+ session_id = datetime.now().strftime("%Y%m%d_%H%M%S")
184
+
185
+ # Use the example_flag to determine if the image is an example
186
+ is_example_image = example_flag
187
+
188
+ result_image, click_coords, image_path = run_showui(image, query, session_id)
189
+
190
+ save_and_upload_data(image_path, query, session_id, is_example_image)
191
+
192
+ return result_image, click_coords, image_path, session_id, is_example_image
193
+
194
  def build_demo(embed_mode, concurrency_count=1):
195
  with gr.Blocks(title="ShowUI Demo", theme=gr.themes.Default()) as demo:
196
  state_image_path = gr.State(value=None)
 
232
 
233
  gr.Examples(
234
  examples=[
235
+ ["./examples/app_store.png", "Download Kindle.", True],
236
+ ["./examples/ios_setting.png", "Turn off Do not disturb.", True],
237
+ ["./examples/apple_music.png", "Star to favorite.", True],
238
+ ["./examples/map.png", "Boston.", True],
239
+ ["./examples/wallet.png", "Scan a QR code.", True],
240
+ ["./examples/word.png", "More shapes.", True],
241
+ ["./examples/web_shopping.png", "Proceed to checkout.", True],
242
+ ["./examples/web_forum.png", "Post my comment.", True],
243
+ ["./examples/safari_google.png", "Click on search bar.", True],
244
  ],
245
+ inputs=[imagebox, textbox, state_is_example_image],
246
  examples_per_page=3
247
  )
248
 
 
260
  downvote_btn = gr.Button(value="Too bad!", variant="secondary")
261
  clear_btn = gr.Button(value="🗑️ Clear", interactive=True)
262
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
263
  submit_btn.click(
264
  on_submit,
265
+ [imagebox, textbox, state_is_example_image],
266
  [output_img, output_coords, state_image_path, state_session_id, state_is_example_image],
267
  )
268
 
 
297
  ssr_mode=False,
298
  debug=True,
299
  )
300
+
301
+ if __name__ == "__main__":
302
+ demo = build_demo(embed_mode=False)
303
+ demo.queue(api_open=False).launch(
304
+ server_name="0.0.0.0",
305
+ server_port=7860,
306
+ ssr_mode=False,
307
+ debug=True,
308
+ )