Update app.py
Browse files
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.
|
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.
|
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),
|
147 |
else:
|
148 |
-
return current_dataset_name.update(value=""),
|
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,
|
165 |
if image_data is None or not prompt:
|
166 |
-
return datasets,
|
167 |
datasets[current_dataset_name].append({'image': image_data, 'prompt': prompt})
|
168 |
html_content = display_dataset_html(datasets[current_dataset_name])
|
169 |
-
return datasets,
|
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,
|
187 |
-
if index is None or
|
188 |
-
return datasets,
|
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,
|
194 |
else:
|
195 |
-
return datasets,
|
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,
|
206 |
if index is None:
|
207 |
-
return datasets,
|
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,
|
213 |
else:
|
214 |
-
return datasets,
|
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
|
|
|
|
|
|
|
237 |
demo.load(
|
238 |
-
|
239 |
-
inputs=
|
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()
|