throaway2854 commited on
Commit
208758b
·
verified ·
1 Parent(s): f21bf1a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -20
app.py CHANGED
@@ -116,7 +116,7 @@ with gr.Blocks() as demo:
116
  if name in datasets:
117
  return gr.update(), f"Dataset '{name}' already exists."
118
  datasets[name] = []
119
- return gr.Dropdown.update(choices=list(datasets.keys()), value=name), f"Dataset '{name}' created."
120
 
121
  create_button.click(
122
  create_dataset,
@@ -131,7 +131,7 @@ with gr.Blocks() as demo:
131
  if dataset_name in datasets:
132
  return gr.update(), f"Dataset '{dataset_name}' already exists."
133
  datasets[dataset_name] = dataset
134
- return gr.Dropdown.update(choices=list(datasets.keys()), value=dataset_name), f"Dataset '{dataset_name}' uploaded."
135
 
136
  upload_button.click(
137
  upload_dataset,
@@ -143,9 +143,9 @@ with gr.Blocks() as demo:
143
  if dataset_name in datasets:
144
  dataset = datasets[dataset_name]
145
  html_content = display_dataset_html(dataset)
146
- return current_dataset_name.update(value=dataset_name), dataset_html.update(value=html_content), ""
147
  else:
148
- return current_dataset_name.update(value=""), dataset_html.update(value="<div>Select a dataset.</div>"), ""
149
 
150
  dataset_selector.change(
151
  select_dataset,
@@ -161,12 +161,12 @@ with gr.Blocks() as demo:
161
 
162
  def add_entry(image_data, prompt, current_dataset_name, datasets):
163
  if not current_dataset_name:
164
- return datasets, dataset_html.update(), "No dataset selected."
165
  if image_data is None or not prompt:
166
- return datasets, dataset_html.update(), "Please provide both an image and a prompt."
167
  datasets[current_dataset_name].append({'image': image_data, 'prompt': prompt})
168
  html_content = display_dataset_html(datasets[current_dataset_name])
169
- return datasets, dataset_html.update(value=html_content), f"Entry added to dataset '{current_dataset_name}'."
170
 
171
  add_button.click(
172
  add_entry,
@@ -183,16 +183,16 @@ with gr.Blocks() as demo:
183
 
184
  def edit_entry(index, new_prompt, current_dataset_name, datasets):
185
  if not current_dataset_name:
186
- return datasets, dataset_html.update(), "No dataset selected."
187
- if index is None or not new_prompt:
188
- return datasets, dataset_html.update(), "Please provide both index and new prompt."
189
  index = int(index)
190
  if 0 <= index < len(datasets[current_dataset_name]):
191
  datasets[current_dataset_name][index]['prompt'] = new_prompt
192
  html_content = display_dataset_html(datasets[current_dataset_name])
193
- return datasets, dataset_html.update(value=html_content), f"Entry {index} updated."
194
  else:
195
- return datasets, dataset_html.update(), "Invalid index."
196
 
197
  edit_button.click(
198
  edit_entry,
@@ -202,16 +202,16 @@ with gr.Blocks() as demo:
202
 
203
  def delete_entry(index, current_dataset_name, datasets):
204
  if not current_dataset_name:
205
- return datasets, dataset_html.update(), "No dataset selected."
206
  if index is None:
207
- return datasets, dataset_html.update(), "Please provide an index."
208
  index = int(index)
209
  if 0 <= index < len(datasets[current_dataset_name]):
210
  del datasets[current_dataset_name][index]
211
  html_content = display_dataset_html(datasets[current_dataset_name])
212
- return datasets, dataset_html.update(value=html_content), f"Entry {index} deleted."
213
  else:
214
- return datasets, dataset_html.update(), "Invalid index."
215
 
216
  delete_button.click(
217
  delete_entry,
@@ -233,11 +233,14 @@ with gr.Blocks() as demo:
233
  outputs=[download_output, message_box]
234
  )
235
 
236
- # Initially update dataset_html
 
 
 
237
  demo.load(
238
- lambda datasets: gr.Dropdown.update(choices=list(datasets.keys())),
239
- inputs=None,
240
- outputs=dataset_selector
241
  )
242
 
243
  demo.launch()
 
116
  if name in datasets:
117
  return gr.update(), f"Dataset '{name}' already exists."
118
  datasets[name] = []
119
+ return gr.update(choices=list(datasets.keys()), value=name), f"Dataset '{name}' created."
120
 
121
  create_button.click(
122
  create_dataset,
 
131
  if dataset_name in datasets:
132
  return gr.update(), f"Dataset '{dataset_name}' already exists."
133
  datasets[dataset_name] = dataset
134
+ return gr.update(choices=list(datasets.keys()), value=dataset_name), f"Dataset '{dataset_name}' uploaded."
135
 
136
  upload_button.click(
137
  upload_dataset,
 
143
  if dataset_name in datasets:
144
  dataset = datasets[dataset_name]
145
  html_content = display_dataset_html(dataset)
146
+ return current_dataset_name.update(value=dataset_name), gr.update(value=html_content), ""
147
  else:
148
+ return current_dataset_name.update(value=""), gr.update(value="<div>Select a dataset.</div>"), ""
149
 
150
  dataset_selector.change(
151
  select_dataset,
 
161
 
162
  def add_entry(image_data, prompt, current_dataset_name, datasets):
163
  if not current_dataset_name:
164
+ return datasets, gr.update(), "No dataset selected."
165
  if image_data is None or not prompt:
166
+ return datasets, gr.update(), "Please provide both an image and a prompt."
167
  datasets[current_dataset_name].append({'image': image_data, 'prompt': prompt})
168
  html_content = display_dataset_html(datasets[current_dataset_name])
169
+ return datasets, gr.update(value=html_content), f"Entry added to dataset '{current_dataset_name}'."
170
 
171
  add_button.click(
172
  add_entry,
 
183
 
184
  def edit_entry(index, new_prompt, current_dataset_name, datasets):
185
  if not current_dataset_name:
186
+ return datasets, gr.update(), "No dataset selected."
187
+ if index is None or new_prompt is None or new_prompt.strip() == '':
188
+ return datasets, gr.update(), "Please provide both index and new prompt."
189
  index = int(index)
190
  if 0 <= index < len(datasets[current_dataset_name]):
191
  datasets[current_dataset_name][index]['prompt'] = new_prompt
192
  html_content = display_dataset_html(datasets[current_dataset_name])
193
+ return datasets, gr.update(value=html_content), f"Entry {index} updated."
194
  else:
195
+ return datasets, gr.update(), "Invalid index."
196
 
197
  edit_button.click(
198
  edit_entry,
 
202
 
203
  def delete_entry(index, current_dataset_name, datasets):
204
  if not current_dataset_name:
205
+ return datasets, gr.update(), "No dataset selected."
206
  if index is None:
207
+ return datasets, gr.update(), "Please provide an index."
208
  index = int(index)
209
  if 0 <= index < len(datasets[current_dataset_name]):
210
  del datasets[current_dataset_name][index]
211
  html_content = display_dataset_html(datasets[current_dataset_name])
212
+ return datasets, gr.update(value=html_content), f"Entry {index} deleted."
213
  else:
214
+ return datasets, gr.update(), "Invalid index."
215
 
216
  delete_button.click(
217
  delete_entry,
 
233
  outputs=[download_output, message_box]
234
  )
235
 
236
+ # Initially update dataset_selector
237
+ def initialize_datasets(datasets):
238
+ return gr.update(choices=list(datasets.keys()))
239
+
240
  demo.load(
241
+ initialize_datasets,
242
+ inputs=[datasets],
243
+ outputs=[dataset_selector]
244
  )
245
 
246
  demo.launch()