Update app.py
Browse files
app.py
CHANGED
|
@@ -13,6 +13,9 @@ import json
|
|
| 13 |
os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
|
| 14 |
client = OpenAI()
|
| 15 |
|
|
|
|
|
|
|
|
|
|
| 16 |
# These are the necessary components that make up the Trials
|
| 17 |
#class Variables(BaseModel):
|
| 18 |
# controlled: List[str] = Field(..., title="Controlled Variables", description="A list of controlled variables, which will be constant (controlled) across all trials")
|
|
@@ -300,6 +303,8 @@ def process_specifications(data, model_version, json_creation, additional_json_c
|
|
| 300 |
# resulting_schema = generate_json_pieces(data, model_version, additional_json_creation_options, field_data_input, planting_data_input, logs_data_input, soil_data_input, yield_data_input)
|
| 301 |
#return resulting_schema
|
| 302 |
output1, output2, output3 = generate_json(data, model_version)
|
|
|
|
|
|
|
| 303 |
return output1, output2, output3, Toggle(visible=True)
|
| 304 |
|
| 305 |
with gr.Blocks() as demo:
|
|
@@ -340,13 +345,21 @@ with gr.Blocks() as demo:
|
|
| 340 |
return [gr.Textbox(visible=bool(1)), gr.Textbox(visible=bool(0)), gr.Textbox(visible=bool(0)), gr.Textbox(visible=bool(0)), gr.Textbox(visible=bool(0)), gr.Textbox(visible=bool(0))]
|
| 341 |
|
| 342 |
def update_toggle(toggle, farm_output_box, interactions_output_box, trials_output_box):
|
| 343 |
-
if toggle:
|
| 344 |
farm_dict = json.loads(farm_output_box)
|
| 345 |
interactions_dict = json.loads(interactions_output_box)
|
| 346 |
trials_dict = json.loads(trials_output_box)
|
| 347 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 348 |
else:
|
| 349 |
-
|
| 350 |
|
| 351 |
json_creation_input.change(fn=update_visibility, inputs=[json_creation_input, additional_json_creation_options], outputs=[additional_json_creation_options, field_data_input, planting_data_input, logs_data_input, soil_data_input, yield_data_input])
|
| 352 |
additional_json_creation_options.change(fn=update_visibility2, inputs=[additional_json_creation_options], outputs=[data_input, field_data_input, planting_data_input, logs_data_input, soil_data_input, yield_data_input])
|
|
|
|
| 13 |
os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
|
| 14 |
client = OpenAI()
|
| 15 |
|
| 16 |
+
original_outputs = None
|
| 17 |
+
xml_outputs = None
|
| 18 |
+
|
| 19 |
# These are the necessary components that make up the Trials
|
| 20 |
#class Variables(BaseModel):
|
| 21 |
# controlled: List[str] = Field(..., title="Controlled Variables", description="A list of controlled variables, which will be constant (controlled) across all trials")
|
|
|
|
| 303 |
# resulting_schema = generate_json_pieces(data, model_version, additional_json_creation_options, field_data_input, planting_data_input, logs_data_input, soil_data_input, yield_data_input)
|
| 304 |
#return resulting_schema
|
| 305 |
output1, output2, output3 = generate_json(data, model_version)
|
| 306 |
+
original_outputs = [output1, output2, output3]
|
| 307 |
+
|
| 308 |
return output1, output2, output3, Toggle(visible=True)
|
| 309 |
|
| 310 |
with gr.Blocks() as demo:
|
|
|
|
| 345 |
return [gr.Textbox(visible=bool(1)), gr.Textbox(visible=bool(0)), gr.Textbox(visible=bool(0)), gr.Textbox(visible=bool(0)), gr.Textbox(visible=bool(0)), gr.Textbox(visible=bool(0))]
|
| 346 |
|
| 347 |
def update_toggle(toggle, farm_output_box, interactions_output_box, trials_output_box):
|
| 348 |
+
if toggle and not xml_outputs:
|
| 349 |
farm_dict = json.loads(farm_output_box)
|
| 350 |
interactions_dict = json.loads(interactions_output_box)
|
| 351 |
trials_dict = json.loads(trials_output_box)
|
| 352 |
+
|
| 353 |
+
farm_xml = dicttoxml(farm_dict)
|
| 354 |
+
interactions_xml = dicttoxml(interactions_dict)
|
| 355 |
+
trials_xml = dicttoxml(trials_dict)
|
| 356 |
+
|
| 357 |
+
xml_outputs = [farm_xml, dicttoxml(interactions_xml), trials_xml]
|
| 358 |
+
return farm_xml, interactions_xml, trials_xml
|
| 359 |
+
elif toggle and xml_outputs:
|
| 360 |
+
return xml_outputs[0], xml_outputs[1], xml_outputs[2]
|
| 361 |
else:
|
| 362 |
+
return original_outputs[0], original_outputs[1], original_outputs[2]
|
| 363 |
|
| 364 |
json_creation_input.change(fn=update_visibility, inputs=[json_creation_input, additional_json_creation_options], outputs=[additional_json_creation_options, field_data_input, planting_data_input, logs_data_input, soil_data_input, yield_data_input])
|
| 365 |
additional_json_creation_options.change(fn=update_visibility2, inputs=[additional_json_creation_options], outputs=[data_input, field_data_input, planting_data_input, logs_data_input, soil_data_input, yield_data_input])
|