rosemariafontana commited on
Commit
0c7d480
·
verified ·
1 Parent(s): de6114e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -3
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
- return dicttoxml(farm_dict), dicttoxml(interactions_dict), dicttoxml(trials_dict)
 
 
 
 
 
 
 
 
348
  else:
349
- pass
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])